Commit 32766c19 authored by Dmytro Zaporozhets's avatar Dmytro Zaporozhets

Add product analytics for events to monitoring

First code to get product analytics working.

Display response.

Small fix.

Fixes DZ recommended.

Got it working.

Add go components.

Make SQL functionality.

No longer temp so they show up.

Drop the table before creating.

Basic sql functionality.

New examples.

All SQL funtionality in the webserver.

Can detect both parameters.

DB passing works.

Add note about users.

Got into the db.

Made the table.

Got it working front to back.

Got it working front to back.

Got a graph working.

Rename Go app.

Made configurable.

Make port configurable.

Working page.

Don't hardcode the number of groups.

Split the pages up.

Forgot to add files.

Made a migration to store data.

Fixed a ton of definitions.

Clearup of Go code.

More atrributes.

make on for strings

Add features.

New version breaks things.

Update the tracker.

Sort latest first.

Add echart and stuff still to parse.

Switch to Echarts.

Rename.

Reformat.

Save the actual version.

Add an extra graphs.

Still works.

Nice graphs.

Add javascript tracker to enable the product analytics.

Sanetize and use local url of rails app.

Make tracker random to reset platform and appid.

Cleanup and load testing.

Change db model name and limit rows on index page.

Add more attributes.

Add index.

Show more graphs.

Fix graphs.

Switch to ActiveRecord.

Added scopes.

Scoped standardized.

Limit time range.

Add seed data.

Rename graphs to users.

Add an activity graph.

No idea what this sql file did.

Moved to https://gitlab.com/gitlab-org/snowplow-go-collector

Add docs.

First stab at a test.

Specs for every action.

Fix navigation test.

Fix a bunch of rubocop errors.

Move search to the model.

Fix all rubocop tests.

Add translated strings.

Make rubocop happy.

Move tracker under - to prevent namespace conflicts.

Let specs ignore _id columns.

Add missing string literal.

Add migration helpers for concurrent index
Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 1e4701d6
# frozen_string_literal: true
class Projects::ProductAnalyticsController < Projects::ApplicationController
before_action :feature_enabled!
before_action :authorize_read_product_analytics!
before_action :tracker_variables, only: [:setup, :test]
def index
@events = product_analytics_events.order_by_time.page(params[:page])
end
def setup
end
def test
@event = product_analytics_events.try(:first)
end
private
def product_analytics_events
@project.product_analytics_events
end
def tracker_variables
# We use project id as Snowplow appId
@project_id = @project.id.to_s
# Snowplow remembers values like appId and platform between reloads.
# That is why we have to rename the tracker with a random integer.
@random = rand(999999)
# Generate random platform every time a tracker is rendered.
@platform = %w(web mob app)[(@random % 3)]
end
def feature_enabled!
render_404 unless Feature.enabled?(:product_analytics, @project, default_enabled: false)
end
end
# frozen_string_literal: true
module ProductAnalyticsHelper
def product_analytics_tracker_url
ProductAnalytics::Tracker::URL
end
def product_analytics_tracker_collector_url
ProductAnalytics::Tracker::COLLECTOR_URL
end
end
......@@ -421,6 +421,10 @@ module ProjectsHelper
nav_tabs << :operations
end
if can_view_product_analytics?(current_user, project)
nav_tabs << :product_analytics
end
tab_ability_map.each do |tab, ability|
if can?(current_user, ability, project)
nav_tabs << tab
......@@ -479,6 +483,11 @@ module ProjectsHelper
end
end
def can_view_product_analytics?(current_user, project)
Feature.enabled?(:product_analytics, project) &&
can?(current_user, :read_product_analytics, project)
end
def search_tab_ability_map
@search_tab_ability_map ||= tab_ability_map.merge(
blobs: :download_code,
......@@ -738,6 +747,7 @@ module ProjectsHelper
user
gcp
logs
product_analytics
]
end
......
......@@ -19,4 +19,8 @@ class ProductAnalyticsEvent < ApplicationRecord
scope :timerange, ->(duration, today = Time.zone.today) {
where('collector_tstamp BETWEEN ? AND ? ', today - duration + 1, today + 1)
}
def as_json_wo_empty
as_json.compact
end
end
......@@ -340,6 +340,10 @@ class Project < ApplicationRecord
has_many :webide_pipelines, -> { webide_source }, class_name: 'Ci::Pipeline', inverse_of: :project
has_many :reviews, inverse_of: :project
# Can be too many records. We need to implement delete_all in batches.
# Issue https://gitlab.com/gitlab-org/gitlab/-/issues/228637
has_many :product_analytics_events, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
accepts_nested_attributes_for :variables, allow_destroy: true
accepts_nested_attributes_for :project_feature, update_only: true
accepts_nested_attributes_for :project_setting, update_only: true
......
......@@ -264,6 +264,7 @@ class ProjectPolicy < BasePolicy
enable :metrics_dashboard
enable :read_confidential_issues
enable :read_package
enable :read_product_analytics
end
# We define `:public_user_access` separately because there are cases in gitlab-ee
......
......@@ -252,6 +252,12 @@
%span
= _('Error Tracking')
- if project_nav_tab?(:product_analytics)
= nav_link(controller: :product_analytics) do
= link_to project_product_analytics_path(@project), title: _('Product Analytics') do
%span
= _('Product Analytics')
- if project_nav_tab? :serverless
= nav_link(controller: :functions) do
= link_to project_serverless_functions_path(@project), title: _('Serverless') do
......
.mb-3
%ul.nav-links
= nav_link(path: 'product_analytics#index') do
= link_to _('Events'), project_product_analytics_path(@project)
= nav_link(path: 'product_analytics#test') do
= link_to _('Test'), test_project_product_analytics_path(@project)
= nav_link(path: 'product_analytics#setup') do
= link_to _('Setup'), setup_project_product_analytics_path(@project)
;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","<%= product_analytics_tracker_url -%>","snowplow<%= @random -%>"));
snowplow<%= @random -%>("newTracker", "sp", "<%= product_analytics_tracker_collector_url -%>", {
appId: "<%= @project_id -%>",
platform: "<%= @platform -%>",
eventMethod: "get"
});
snowplow<%= @random -%>('trackPageView');
- page_title 'Product Analytics'
= render 'links'
- if @events.any?
%p
- if @events.total_count > @events.size
= _('Number of events for this project: %{total_count}.') % { total_count: number_with_delimiter(@events.total_count) }
%ol
- @events.each do |event|
%li
%code= event.as_json_wo_empty
- else
.empty-state
.text-content
= _('There are currently no events.')
= render "links"
%p
= _('Copy the code below to implement tracking in your application:')
%pre
= render "tracker"
%p.hint
= _('A platform value can be web, mob or app.')
= render 'links'
%p
= _('This page sends a payload. Go back to the events page to see a newly created event.')
- if @event
%p
= _('Last item before this page loaded in your browser:')
%code
= @event.as_json_wo_empty
:javascript
#{render 'tracker'}
......@@ -306,6 +306,13 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resources :projects, only: :index
end
resources :product_analytics, only: [:index] do
collection do
get :setup
get :test
end
end
resources :error_tracking, only: [:index], controller: :error_tracking do
collection do
get ':issue_id/details',
......
......@@ -16,6 +16,7 @@ your applications:
- Manage your infrastructure with [Infrastructure as Code](../user/infrastructure/index.md) approaches.
- Discover and view errors generated by your applications with [Error Tracking](error_tracking.md).
- Handle incidents in your applications and services with [Incident Management](incident_management/index.md).
- See how your application is used and analyze events with [Product Analytics](product_analytics.md).
- Create, toggle, and remove [Feature Flags](feature_flags.md). **(PREMIUM)**
- [Trace](tracing.md) the performance and health of a deployed application. **(ULTIMATE)**
- Change the [settings of the Monitoring Dashboard](metrics/dashboards/settings.md).
---
stage: Monitor
group: APM
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Product Analytics **(CORE)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/225167) in GitLab 13.3.
> - It's deployed behind a feature flag, disabled by default.
> - It's disabled on GitLab.com.
> - It's able to be enabled or disabled per-project.
> - It's not recommended for production use.
> - To use it in GitLab self-managed instances, ask a GitLab administrator to enable it.
GitLab allows you to go from planning an application to getting feedback. Feedback
is not just observability, but also knowing how people use your product.
Product Analytics uses events sent from your application to know how they are using it.
It's based on [Snowplow](https://github.com/snowplow/snowplow), the best open-source
event tracker. With Product Analytics, you can receive and analyze the Snowplow data
inside GitLab.
## Enable or disable Product Analytics
Product Analytics is under development and not ready for production use. It's
deployed behind a feature flag that's **disabled by default**.
[GitLab administrators with access to the GitLab Rails console](../administration/feature_flags.md)
can enable it for your instance. Product Analytics can be enabled or disabled per-project.
To enable it:
```ruby
# Instance-wide
Feature.enable(:product_analytics)
# or by project
Feature.enable(:product_analytics, Project.find(<project id>))
```
To disable it:
```ruby
# Instance-wide
Feature.disable(:product_analytics)
# or by project
Feature.disable(:product_analytics, Project.find(<project id>))
```
## Access Product Analytics
After enabling the feature flag for Product Analytics, you can access the
user interface:
1. Sign in to GitLab as a user with Reporter or greater
[permissions](../user/permissions.md).
1. Navigate to **{cloud-gear}** **Operations > TODO HERE**
The user interface contains:
- An Events page that shows the recent events and a total count.
- A test page that sends a sample event.
- A setup page containing the code to implement in your application.
## Rate limits for Product Analytics
While Product Analytics is under development, it's rate-limited to
**100 events per minute** per project. This limit prevents the events table in the
database from growing too quickly.
## Data storage for Product Analytics
Product Analytics stores events are stored in GitLab database.
CAUTION: **Caution:**
This data storage is experimental, and GitLab is likely to remove this data during
future development.
## Event collection
Events are collected by [Rails collector](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36443),
allowing GitLab to ship the feature fast. Due to scalability issue, GitLab plans
to switch to a separate application, such as
[snowplow-go-collector](https://gitlab.com/gitlab-org/snowplow-go-collector), for event collection.
# frozen_string_literal: true
module ProductAnalytics
class Tracker
# The file is located in the /public directory
URL = Gitlab.config.gitlab.url + '/-/sp.js'
# The collector URL minus protocol and /i
COLLECTOR_URL = Gitlab.config.gitlab.url.sub(/\Ahttps?\:\/\//, '') + '/-/collector'
end
end
......@@ -1127,6 +1127,9 @@ msgstr ""
msgid "A plain HTML site that uses Netlify for CI/CD instead of GitLab, but still with all the other great GitLab features."
msgstr ""
msgid "A platform value can be web, mob or app."
msgstr ""
msgid "A project boilerplate for Salesforce App development with Salesforce Developer tools."
msgstr ""
......@@ -6779,6 +6782,9 @@ msgstr ""
msgid "Copy source branch name"
msgstr ""
msgid "Copy the code below to implement tracking in your application:"
msgstr ""
msgid "Copy token"
msgstr ""
......@@ -13728,6 +13734,9 @@ msgstr ""
msgid "Last edited by %{name}"
msgstr ""
msgid "Last item before this page loaded in your browser:"
msgstr ""
msgid "Last name"
msgstr ""
......@@ -16322,6 +16331,9 @@ msgstr ""
msgid "Number of employees"
msgstr ""
msgid "Number of events for this project: %{total_count}."
msgstr ""
msgid "Number of files touched"
msgstr ""
......@@ -17824,6 +17836,9 @@ msgstr ""
msgid "Proceed"
msgstr ""
msgid "Product Analytics"
msgstr ""
msgid "Productivity"
msgstr ""
......@@ -21747,6 +21762,9 @@ msgstr ""
msgid "Settings to prevent self-approval across all projects in the instance. Only an administrator can modify these settings."
msgstr ""
msgid "Setup"
msgstr ""
msgid "Severity"
msgstr ""
......@@ -23891,6 +23909,9 @@ msgstr ""
msgid "The vulnerability is no longer detected. Verify the vulnerability has been remediated before changing its status."
msgstr ""
msgid "There are currently no events."
msgstr ""
msgid "There are no %{replicableTypeName} to show"
msgstr ""
......@@ -24497,6 +24518,9 @@ msgstr ""
msgid "This page is unavailable because you are not allowed to read information across multiple projects."
msgstr ""
msgid "This page sends a payload. Go back to the events page to see a newly created event."
msgstr ""
msgid "This pipeline does not use the %{codeStart}needs%{codeEnd} keyword and can't be represented as a directed acyclic graph."
msgstr ""
......
/*
* Snowplow - The world's most powerful web analytics platform
*
* @description JavaScript tracker for Snowplow
* @version 2.14.0
* @author Alex Dean, Simon Andersson, Anthon Pang, Fred Blundun, Joshua Beemster, Michael Hadam, Paul Boocock
* @copyright Anthon Pang, Snowplow Analytics Ltd
* @license Simplified BSD
*
* For technical documentation:
* https://github.com/snowplow/snowplow/wiki/javascript-tracker
*
* For the setup guide:
* https://github.com/snowplow/snowplow/wiki/javascript-tracker-setup
*
* Minimum supported browsers:
* - Firefox 27
* - Chrome 32
* - IE 9
* - Safari 8
*/
"use strict";function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(n,!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function o(i,c,s){function u(t,e){if(!c[t]){if(!i[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(l)return l(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var a=c[t]={exports:{}};i[t][0].call(a.exports,function(e){return u(i[t][1][e]||e)},a,a.exports,o,i,c,s)}return c[t].exports}for(var l="function"==typeof require&&require,e=0;e<s.length;e++)u(s[e]);return u}({1:[function(e,t,n){var r={utf8:{stringToBytes:function(e){return r.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(r.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join("")}}};t.exports=r},{}],2:[function(e,t,n){var o,r;o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=r.endian(e[t]);return e},randomBytes:function(e){for(var t=[];0<e;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n<e.length;n++,r+=8)t[r>>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var t=[],n=0;n<e.length;n+=3)for(var r=e[n]<<16|e[n+1]<<8|e[n+2],a=0;a<4;a++)8*n+6*a<=8*e.length?t.push(o.charAt(r>>>6*(3-a)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],n=0,r=0;n<e.length;r=++n%4)0!=r&&t.push((o.indexOf(e.charAt(n-1))&Math.pow(2,-2*r+8)-1)<<2*r|o.indexOf(e.charAt(n))>>>6-2*r);return t}},t.exports=r},{}],3:[function(e,t,n){function a(e){var t=-e.getTimezoneOffset();return null!==t?t:0}function r(e,t,n){var r=new Date;return void 0!==e&&r.setFullYear(e),r.setMonth(t),r.setDate(n),r}function o(e){return a(r(e,0,2))}function i(e){return a(r(e,5,2))}var c,s;c=this,(s={determine:function(){var e=function(){var e=o(),t=i(),n=e-t;return n<0?e+",1":0<n?t+",1,s":e+",0"}();return new s.TimeZone(s.olson.timezones[e])},date_is_dst:function(e){var t=7<e.getMonth(),n=t?i(e.getFullYear()):o(e.getFullYear()),r=n-a(e);return n<0||t?0!=r:r<0},dst_start_for:function(e){var t=new Date(2010,6,15,1,0,0,0);return{"America/Denver":new Date(2011,2,13,3,0,0,0),"America/Mazatlan":new Date(2011,3,3,3,0,0,0),"America/Chicago":new Date(2011,2,13,3,0,0,0),"America/Mexico_City":new Date(2011,3,3,3,0,0,0),"America/Asuncion":new Date(2012,9,7,3,0,0,0),"America/Santiago":new Date(2012,9,3,3,0,0,0),"America/Campo_Grande":new Date(2012,9,21,5,0,0,0),"America/Montevideo":new Date(2011,9,2,3,0,0,0),"America/Sao_Paulo":new Date(2011,9,16,5,0,0,0),"America/Los_Angeles":new Date(2011,2,13,8,0,0,0),"America/Santa_Isabel":new Date(2011,3,5,8,0,0,0),"America/Havana":new Date(2012,2,10,2,0,0,0),"America/New_York":new Date(2012,2,10,7,0,0,0),"Europe/Helsinki":new Date(2013,2,31,5,0,0,0),"Pacific/Auckland":new Date(2011,8,26,7,0,0,0),"America/Halifax":new Date(2011,2,13,6,0,0,0),"America/Goose_Bay":new Date(2011,2,13,2,1,0,0),"America/Miquelon":new Date(2011,2,13,5,0,0,0),"America/Godthab":new Date(2011,2,27,1,0,0,0),"Europe/Moscow":t,"Asia/Amman":new Date(2013,2,29,1,0,0,0),"Asia/Beirut":new Date(2013,2,31,2,0,0,0),"Asia/Damascus":new Date(2013,3,6,2,0,0,0),"Asia/Jerusalem":new Date(2013,2,29,5,0,0,0),"Asia/Yekaterinburg":t,"Asia/Omsk":t,"Asia/Krasnoyarsk":t,"Asia/Irkutsk":t,"Asia/Yakutsk":t,"Asia/Vladivostok":t,"Asia/Baku":new Date(2013,2,31,4,0,0),"Asia/Yerevan":new Date(2013,2,31,3,0,0),"Asia/Kamchatka":t,"Asia/Gaza":new Date(2010,2,27,4,0,0),"Africa/Cairo":new Date(2010,4,1,3,0,0),"Europe/Minsk":t,"Pacific/Apia":new Date(2010,10,1,1,0,0,0),"Pacific/Fiji":new Date(2010,11,1,0,0,0),"Australia/Perth":new Date(2008,10,1,1,0,0,0)}[e]}}).TimeZone=function(e){var a={"America/Denver":["America/Denver","America/Mazatlan"],"America/Chicago":["America/Chicago","America/Mexico_City"],"America/Santiago":["America/Santiago","America/Asuncion","America/Campo_Grande"],"America/Montevideo":["America/Montevideo","America/Sao_Paulo"],"Asia/Beirut":["Asia/Amman","Asia/Jerusalem","Asia/Beirut","Europe/Helsinki","Asia/Damascus"],"Pacific/Auckland":["Pacific/Auckland","Pacific/Fiji"],"America/Los_Angeles":["America/Los_Angeles","America/Santa_Isabel"],"America/New_York":["America/Havana","America/New_York"],"America/Halifax":["America/Goose_Bay","America/Halifax"],"America/Godthab":["America/Miquelon","America/Godthab"],"Asia/Dubai":["Europe/Moscow"],"Asia/Dhaka":["Asia/Yekaterinburg"],"Asia/Jakarta":["Asia/Omsk"],"Asia/Shanghai":["Asia/Krasnoyarsk","Australia/Perth"],"Asia/Tokyo":["Asia/Irkutsk"],"Australia/Brisbane":["Asia/Yakutsk"],"Pacific/Noumea":["Asia/Vladivostok"],"Pacific/Tarawa":["Asia/Kamchatka","Pacific/Fiji"],"Pacific/Tongatapu":["Pacific/Apia"],"Asia/Baghdad":["Europe/Minsk"],"Asia/Baku":["Asia/Yerevan","Asia/Baku"],"Africa/Johannesburg":["Asia/Gaza","Africa/Cairo"]},o=e;return void 0!==a[o]&&function(){for(var e=a[o],t=e.length,n=0,r=e[0];n<t;n+=1)if(r=e[n],s.date_is_dst(s.dst_start_for(r)))return o=r}(),{name:function(){return o}}},s.olson={},s.olson.timezones={"-720,0":"Pacific/Majuro","-660,0":"Pacific/Pago_Pago","-600,1":"America/Adak","-600,0":"Pacific/Honolulu","-570,0":"Pacific/Marquesas","-540,0":"Pacific/Gambier","-540,1":"America/Anchorage","-480,1":"America/Los_Angeles","-480,0":"Pacific/Pitcairn","-420,0":"America/Phoenix","-420,1":"America/Denver","-360,0":"America/Guatemala","-360,1":"America/Chicago","-360,1,s":"Pacific/Easter","-300,0":"America/Bogota","-300,1":"America/New_York","-270,0":"America/Caracas","-240,1":"America/Halifax","-240,0":"America/Santo_Domingo","-240,1,s":"America/Santiago","-210,1":"America/St_Johns","-180,1":"America/Godthab","-180,0":"America/Argentina/Buenos_Aires","-180,1,s":"America/Montevideo","-120,0":"America/Noronha","-120,1":"America/Noronha","-60,1":"Atlantic/Azores","-60,0":"Atlantic/Cape_Verde","0,0":"UTC","0,1":"Europe/London","60,1":"Europe/Berlin","60,0":"Africa/Lagos","60,1,s":"Africa/Windhoek","120,1":"Asia/Beirut","120,0":"Africa/Johannesburg","180,0":"Asia/Baghdad","180,1":"Europe/Moscow","210,1":"Asia/Tehran","240,0":"Asia/Dubai","240,1":"Asia/Baku","270,0":"Asia/Kabul","300,1":"Asia/Yekaterinburg","300,0":"Asia/Karachi","330,0":"Asia/Kolkata","345,0":"Asia/Kathmandu","360,0":"Asia/Dhaka","360,1":"Asia/Omsk","390,0":"Asia/Rangoon","420,1":"Asia/Krasnoyarsk","420,0":"Asia/Jakarta","480,0":"Asia/Shanghai","480,1":"Asia/Irkutsk","525,0":"Australia/Eucla","525,1,s":"Australia/Eucla","540,1":"Asia/Yakutsk","540,0":"Asia/Tokyo","570,0":"Australia/Darwin","570,1,s":"Australia/Adelaide","600,0":"Australia/Brisbane","600,1":"Asia/Vladivostok","600,1,s":"Australia/Sydney","630,1,s":"Australia/Lord_Howe","660,1":"Asia/Kamchatka","660,0":"Pacific/Noumea","690,0":"Pacific/Norfolk","720,1,s":"Pacific/Auckland","720,0":"Pacific/Tarawa","765,1,s":"Pacific/Chatham","780,0":"Pacific/Tongatapu","780,1,s":"Pacific/Apia","840,0":"Pacific/Kiritimati"},void 0!==n?n.jstz=s:c.jstz=s},{}],4:[function(e,t,n){var r=e("./_getNative")(e("./_root"),"DataView");t.exports=r},{"./_getNative":67,"./_root":104}],5:[function(e,t,n){var r=e("./_hashClear"),a=e("./_hashDelete"),o=e("./_hashGet"),i=e("./_hashHas"),c=e("./_hashSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=a,s.prototype.get=o,s.prototype.has=i,s.prototype.set=c,t.exports=s},{"./_hashClear":74,"./_hashDelete":75,"./_hashGet":76,"./_hashHas":77,"./_hashSet":78}],6:[function(e,t,n){var r=e("./_listCacheClear"),a=e("./_listCacheDelete"),o=e("./_listCacheGet"),i=e("./_listCacheHas"),c=e("./_listCacheSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=a,s.prototype.get=o,s.prototype.has=i,s.prototype.set=c,t.exports=s},{"./_listCacheClear":86,"./_listCacheDelete":87,"./_listCacheGet":88,"./_listCacheHas":89,"./_listCacheSet":90}],7:[function(e,t,n){var r=e("./_getNative")(e("./_root"),"Map");t.exports=r},{"./_getNative":67,"./_root":104}],8:[function(e,t,n){var r=e("./_mapCacheClear"),a=e("./_mapCacheDelete"),o=e("./_mapCacheGet"),i=e("./_mapCacheHas"),c=e("./_mapCacheSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=a,s.prototype.get=o,s.prototype.has=i,s.prototype.set=c,t.exports=s},{"./_mapCacheClear":91,"./_mapCacheDelete":92,"./_mapCacheGet":93,"./_mapCacheHas":94,"./_mapCacheSet":95}],9:[function(e,t,n){var r=e("./_getNative")(e("./_root"),"Promise");t.exports=r},{"./_getNative":67,"./_root":104}],10:[function(e,t,n){var r=e("./_getNative")(e("./_root"),"Set");t.exports=r},{"./_getNative":67,"./_root":104}],11:[function(e,t,n){var r=e("./_MapCache"),a=e("./_setCacheAdd"),o=e("./_setCacheHas");function i(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}i.prototype.add=i.prototype.push=a,i.prototype.has=o,t.exports=i},{"./_MapCache":8,"./_setCacheAdd":105,"./_setCacheHas":106}],12:[function(e,t,n){var r=e("./_ListCache"),a=e("./_stackClear"),o=e("./_stackDelete"),i=e("./_stackGet"),c=e("./_stackHas"),s=e("./_stackSet");function u(e){var t=this.__data__=new r(e);this.size=t.size}u.prototype.clear=a,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=c,u.prototype.set=s,t.exports=u},{"./_ListCache":6,"./_stackClear":108,"./_stackDelete":109,"./_stackGet":110,"./_stackHas":111,"./_stackSet":112}],13:[function(e,t,n){var r=e("./_root").Symbol;t.exports=r},{"./_root":104}],14:[function(e,t,n){var r=e("./_root").Uint8Array;t.exports=r},{"./_root":104}],15:[function(e,t,n){var r=e("./_getNative")(e("./_root"),"WeakMap");t.exports=r},{"./_getNative":67,"./_root":104}],16:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},{}],17:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}},{}],18:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,a=0,o=[];++n<r;){var i=e[n];t(i,n,e)&&(o[a++]=i)}return o}},{}],19:[function(e,t,n){var l=e("./_baseTimes"),f=e("./isArguments"),d=e("./isArray"),p=e("./isBuffer"),m=e("./_isIndex"),v=e("./isTypedArray"),h=Object.prototype.hasOwnProperty;t.exports=function(e,t){var n=d(e),r=!n&&f(e),a=!n&&!r&&p(e),o=!n&&!r&&!a&&v(e),i=n||r||a||o,c=i?l(e.length,String):[],s=c.length;for(var u in e)!t&&!h.call(e,u)||i&&("length"==u||a&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||m(u,s))||c.push(u);return c}},{"./_baseTimes":49,"./_isIndex":79,"./isArguments":127,"./isArray":128,"./isBuffer":130,"./isTypedArray":139}],20:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}},{}],21:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}},{}],22:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},{}],23:[function(e,t,n){var r=e("./eq");t.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},{"./eq":117}],24:[function(e,t,n){var r=e("./_defineProperty");t.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},{"./_defineProperty":59}],25:[function(e,t,n){var r=e("./_baseForOwn"),a=e("./_createBaseEach")(r);t.exports=a},{"./_baseForOwn":30,"./_createBaseEach":56}],26:[function(e,t,n){var o=e("./_baseEach");t.exports=function(e,r){var a=!0;return o(e,function(e,t,n){return a=!!r(e,t,n)}),a}},{"./_baseEach":25}],27:[function(e,t,n){var o=e("./_baseEach");t.exports=function(e,r){var a=[];return o(e,function(e,t,n){r(e,t,n)&&a.push(e)}),a}},{"./_baseEach":25}],28:[function(e,t,n){t.exports=function(e,t,n,r){for(var a=e.length,o=n+(r?1:-1);r?o--:++o<a;)if(t(e[o],o,e))return o;return-1}},{}],29:[function(e,t,n){var r=e("./_createBaseFor")();t.exports=r},{"./_createBaseFor":57}],30:[function(e,t,n){var r=e("./_baseFor"),a=e("./keys");t.exports=function(e,t){return e&&r(e,t,a)}},{"./_baseFor":29,"./keys":141}],31:[function(e,t,n){var a=e("./_castPath"),o=e("./_toKey");t.exports=function(e,t){for(var n=0,r=(t=a(t,e)).length;null!=e&&n<r;)e=e[o(t[n++])];return n&&n==r?e:void 0}},{"./_castPath":54,"./_toKey":114}],32:[function(e,t,n){var a=e("./_arrayPush"),o=e("./isArray");t.exports=function(e,t,n){var r=t(e);return o(e)?r:a(r,n(e))}},{"./_arrayPush":21,"./isArray":128}],33:[function(e,t,n){var r=e("./_Symbol"),a=e("./_getRawTag"),o=e("./_objectToString"),i=r?r.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?a(e):o(e)}},{"./_Symbol":13,"./_getRawTag":69,"./_objectToString":102}],34:[function(e,t,n){var r=Object.prototype.hasOwnProperty;t.exports=function(e,t){return null!=e&&r.call(e,t)}},{}],35:[function(e,t,n){t.exports=function(e,t){return null!=e&&t in Object(e)}},{}],36:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./isObjectLike");t.exports=function(e){return a(e)&&"[object Arguments]"==r(e)}},{"./_baseGetTag":33,"./isObjectLike":135}],37:[function(e,t,n){var i=e("./_baseIsEqualDeep"),c=e("./isObjectLike");t.exports=function e(t,n,r,a,o){return t===n||(null==t||null==n||!c(t)&&!c(n)?t!=t&&n!=n:i(t,n,r,a,e,o))}},{"./_baseIsEqualDeep":38,"./isObjectLike":135}],38:[function(e,t,n){var v=e("./_Stack"),h=e("./_equalArrays"),g=e("./_equalByTag"),y=e("./_equalObjects"),_=e("./_getTag"),b=e("./isArray"),w=e("./isBuffer"),k=e("./isTypedArray"),A="[object Arguments]",x="[object Array]",S="[object Object]",C=Object.prototype.hasOwnProperty;t.exports=function(e,t,n,r,a,o){var i=b(e),c=b(t),s=i?x:_(e),u=c?x:_(t),l=(s=s==A?S:s)==S,f=(u=u==A?S:u)==S,d=s==u;if(d&&w(e)){if(!w(t))return!1;l=!(i=!0)}if(d&&!l)return o=o||new v,i||k(e)?h(e,t,n,r,a,o):g(e,t,s,n,r,a,o);if(!(1&n)){var p=l&&C.call(e,"__wrapped__"),m=f&&C.call(t,"__wrapped__");if(p||m)return a(p?e.value():e,m?t.value():t,n,r,o=o||new v)}return d&&(o=o||new v,y(e,t,n,r,a,o))}},{"./_Stack":12,"./_equalArrays":60,"./_equalByTag":61,"./_equalObjects":62,"./_getTag":71,"./isArray":128,"./isBuffer":130,"./isTypedArray":139}],39:[function(e,t,n){var p=e("./_Stack"),m=e("./_baseIsEqual");t.exports=function(e,t,n,r){var a=n.length,o=a,i=!r;if(null==e)return!o;for(e=Object(e);a--;){var c=n[a];if(i&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<o;){var s=(c=n[a])[0],u=e[s],l=c[1];if(i&&c[2]){if(void 0===u&&!(s in e))return!1}else{var f=new p;if(r)var d=r(u,l,s,e,t,f);if(!(void 0===d?m(l,u,3,r,f):d))return!1}}return!0}},{"./_Stack":12,"./_baseIsEqual":37}],40:[function(e,t,n){var r=e("./isFunction"),a=e("./_isMasked"),o=e("./isObject"),i=e("./_toSource"),c=/^\[object .+?Constructor\]$/,s=Function.prototype,u=Object.prototype,l=s.toString,f=u.hasOwnProperty,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!o(e)||a(e))&&(r(e)?d:c).test(i(e))}},{"./_isMasked":83,"./_toSource":115,"./isFunction":132,"./isObject":134}],41:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./isLength"),o=e("./isObjectLike"),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return o(e)&&a(e.length)&&!!i[r(e)]}},{"./_baseGetTag":33,"./isLength":133,"./isObjectLike":135}],42:[function(e,t,n){var r=e("./_baseMatches"),a=e("./_baseMatchesProperty"),o=e("./identity"),i=e("./isArray"),c=e("./property");t.exports=function(e){return"function"==typeof e?e:null==e?o:"object"==_typeof(e)?i(e)?a(e[0],e[1]):r(e):c(e)}},{"./_baseMatches":45,"./_baseMatchesProperty":46,"./identity":126,"./isArray":128,"./property":145}],43:[function(e,t,n){var r=e("./_isPrototype"),a=e("./_nativeKeys"),o=Object.prototype.hasOwnProperty;t.exports=function(e){if(!r(e))return a(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},{"./_isPrototype":84,"./_nativeKeys":100}],44:[function(e,t,n){var i=e("./_baseEach"),c=e("./isArrayLike");t.exports=function(e,r){var a=-1,o=c(e)?Array(e.length):[];return i(e,function(e,t,n){o[++a]=r(e,t,n)}),o}},{"./_baseEach":25,"./isArrayLike":129}],45:[function(e,t,n){var r=e("./_baseIsMatch"),a=e("./_getMatchData"),o=e("./_matchesStrictComparable");t.exports=function(t){var n=a(t);return 1==n.length&&n[0][2]?o(n[0][0],n[0][1]):function(e){return e===t||r(e,t,n)}}},{"./_baseIsMatch":39,"./_getMatchData":66,"./_matchesStrictComparable":97}],46:[function(e,t,n){var a=e("./_baseIsEqual"),o=e("./get"),i=e("./hasIn"),c=e("./_isKey"),s=e("./_isStrictComparable"),u=e("./_matchesStrictComparable"),l=e("./_toKey");t.exports=function(n,r){return c(n)&&s(r)?u(l(n),r):function(e){var t=o(e,n);return void 0===t&&t===r?i(e,n):a(r,t,3)}}},{"./_baseIsEqual":37,"./_isKey":81,"./_isStrictComparable":85,"./_matchesStrictComparable":97,"./_toKey":114,"./get":123,"./hasIn":125}],47:[function(e,t,n){t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},{}],48:[function(e,t,n){var r=e("./_baseGet");t.exports=function(t){return function(e){return r(e,t)}}},{"./_baseGet":31}],49:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},{}],50:[function(e,t,n){var r=e("./_Symbol"),a=e("./_arrayMap"),o=e("./isArray"),i=e("./isSymbol"),c=1/0,s=r?r.prototype:void 0,u=s?s.toString:void 0;t.exports=function e(t){if("string"==typeof t)return t;if(o(t))return a(t,e)+"";if(i(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-c?"-0":n}},{"./_Symbol":13,"./_arrayMap":20,"./isArray":128,"./isSymbol":138}],51:[function(e,t,n){t.exports=function(t){return function(e){return t(e)}}},{}],52:[function(e,t,n){t.exports=function(e,t){return e.has(t)}},{}],53:[function(e,t,n){var r=e("./identity");t.exports=function(e){return"function"==typeof e?e:r}},{"./identity":126}],54:[function(e,t,n){var r=e("./isArray"),a=e("./_isKey"),o=e("./_stringToPath"),i=e("./toString");t.exports=function(e,t){return r(e)?e:a(e,t)?[e]:o(i(e))}},{"./_isKey":81,"./_stringToPath":113,"./isArray":128,"./toString":151}],55:[function(e,t,n){var r=e("./_root")["__core-js_shared__"];t.exports=r},{"./_root":104}],56:[function(e,t,n){var c=e("./isArrayLike");t.exports=function(o,i){return function(e,t){if(null==e)return e;if(!c(e))return o(e,t);for(var n=e.length,r=i?n:-1,a=Object(e);(i?r--:++r<n)&&!1!==t(a[r],r,a););return e}}},{"./isArrayLike":129}],57:[function(e,t,n){t.exports=function(s){return function(e,t,n){for(var r=-1,a=Object(e),o=n(e),i=o.length;i--;){var c=o[s?i:++r];if(!1===t(a[c],c,a))break}return e}}},{}],58:[function(e,t,n){var c=e("./_baseIteratee"),s=e("./isArrayLike"),u=e("./keys");t.exports=function(i){return function(e,t,n){var r=Object(e);if(!s(e)){var a=c(t,3);e=u(e),t=function(e){return a(r[e],e,r)}}var o=i(e,t,n);return-1<o?r[a?e[o]:o]:void 0}}},{"./_baseIteratee":42,"./isArrayLike":129,"./keys":141}],59:[function(e,t,n){var r=e("./_getNative"),a=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();t.exports=a},{"./_getNative":67}],60:[function(e,t,n){var h=e("./_SetCache"),g=e("./_arraySome"),y=e("./_cacheHas");t.exports=function(e,t,n,r,a,o){var i=1&n,c=e.length,s=t.length;if(c!=s&&!(i&&c<s))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var l=-1,f=!0,d=2&n?new h:void 0;for(o.set(e,t),o.set(t,e);++l<c;){var p=e[l],m=t[l];if(r)var v=i?r(m,p,l,t,e,o):r(p,m,l,e,t,o);if(void 0!==v){if(v)continue;f=!1;break}if(d){if(!g(t,function(e,t){if(!y(d,t)&&(p===e||a(p,e,n,r,o)))return d.push(t)})){f=!1;break}}else if(p!==m&&!a(p,m,n,r,o)){f=!1;break}}return o.delete(e),o.delete(t),f}},{"./_SetCache":11,"./_arraySome":22,"./_cacheHas":52}],61:[function(e,t,n){var r=e("./_Symbol"),f=e("./_Uint8Array"),d=e("./eq"),p=e("./_equalArrays"),m=e("./_mapToArray"),v=e("./_setToArray"),a=r?r.prototype:void 0,h=a?a.valueOf:void 0;t.exports=function(e,t,n,r,a,o,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new f(e),new f(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return d(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var c=m;case"[object Set]":var s=1&r;if(c=c||v,e.size!=t.size&&!s)return!1;var u=i.get(e);if(u)return u==t;r|=2,i.set(e,t);var l=p(c(e),c(t),r,a,o,i);return i.delete(e),l;case"[object Symbol]":if(h)return h.call(e)==h.call(t)}return!1}},{"./_Symbol":13,"./_Uint8Array":14,"./_equalArrays":60,"./_mapToArray":96,"./_setToArray":107,"./eq":117}],62:[function(e,t,n){var _=e("./_getAllKeys"),b=Object.prototype.hasOwnProperty;t.exports=function(e,t,n,r,a,o){var i=1&n,c=_(e),s=c.length;if(s!=_(t).length&&!i)return!1;for(var u=s;u--;){var l=c[u];if(!(i?l in t:b.call(t,l)))return!1}var f=o.get(e);if(f&&o.get(t))return f==t;var d=!0;o.set(e,t),o.set(t,e);for(var p=i;++u<s;){var m=e[l=c[u]],v=t[l];if(r)var h=i?r(v,m,l,t,e,o):r(m,v,l,e,t,o);if(!(void 0===h?m===v||a(m,v,n,r,o):h)){d=!1;break}p=p||"constructor"==l}if(d&&!p){var g=e.constructor,y=t.constructor;g!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof g&&g instanceof g&&"function"==typeof y&&y instanceof y)&&(d=!1)}return o.delete(e),o.delete(t),d}},{"./_getAllKeys":64}],63:[function(e,n,t){(function(e){var t="object"==_typeof(e)&&e&&e.Object===Object&&e;n.exports=t}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],64:[function(e,t,n){var r=e("./_baseGetAllKeys"),a=e("./_getSymbols"),o=e("./keys");t.exports=function(e){return r(e,o,a)}},{"./_baseGetAllKeys":32,"./_getSymbols":70,"./keys":141}],65:[function(e,t,n){var r=e("./_isKeyable");t.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},{"./_isKeyable":82}],66:[function(e,t,n){var o=e("./_isStrictComparable"),i=e("./keys");t.exports=function(e){for(var t=i(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,o(a)]}return t}},{"./_isStrictComparable":85,"./keys":141}],67:[function(e,t,n){var r=e("./_baseIsNative"),a=e("./_getValue");t.exports=function(e,t){var n=a(e,t);return r(n)?n:void 0}},{"./_baseIsNative":40,"./_getValue":72}],68:[function(e,t,n){var r=e("./_overArg")(Object.getPrototypeOf,Object);t.exports=r},{"./_overArg":103}],69:[function(e,t,n){var r=e("./_Symbol"),a=Object.prototype,o=a.hasOwnProperty,i=a.toString,c=r?r.toStringTag:void 0;t.exports=function(e){var t=o.call(e,c),n=e[c];try{var r=!(e[c]=void 0)}catch(e){}var a=i.call(e);return r&&(t?e[c]=n:delete e[c]),a}},{"./_Symbol":13}],70:[function(e,t,n){var r=e("./_arrayFilter"),a=e("./stubArray"),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,c=i?function(t){return null==t?[]:(t=Object(t),r(i(t),function(e){return o.call(t,e)}))}:a;t.exports=c},{"./_arrayFilter":18,"./stubArray":146}],71:[function(e,t,n){var r=e("./_DataView"),a=e("./_Map"),o=e("./_Promise"),i=e("./_Set"),c=e("./_WeakMap"),s=e("./_baseGetTag"),u=e("./_toSource"),l="[object Map]",f="[object Promise]",d="[object Set]",p="[object WeakMap]",m="[object DataView]",v=u(r),h=u(a),g=u(o),y=u(i),_=u(c),b=s;(r&&b(new r(new ArrayBuffer(1)))!=m||a&&b(new a)!=l||o&&b(o.resolve())!=f||i&&b(new i)!=d||c&&b(new c)!=p)&&(b=function(e){var t=s(e),n="[object Object]"==t?e.constructor:void 0,r=n?u(n):"";if(r)switch(r){case v:return m;case h:return l;case g:return f;case y:return d;case _:return p}return t}),t.exports=b},{"./_DataView":4,"./_Map":7,"./_Promise":9,"./_Set":10,"./_WeakMap":15,"./_baseGetTag":33,"./_toSource":115}],72:[function(e,t,n){t.exports=function(e,t){return null==e?void 0:e[t]}},{}],73:[function(e,t,n){var c=e("./_castPath"),s=e("./isArguments"),u=e("./isArray"),l=e("./_isIndex"),f=e("./isLength"),d=e("./_toKey");t.exports=function(e,t,n){for(var r=-1,a=(t=c(t,e)).length,o=!1;++r<a;){var i=d(t[r]);if(!(o=null!=e&&n(e,i)))break;e=e[i]}return o||++r!=a?o:!!(a=null==e?0:e.length)&&f(a)&&l(i,a)&&(u(e)||s(e))}},{"./_castPath":54,"./_isIndex":79,"./_toKey":114,"./isArguments":127,"./isArray":128,"./isLength":133}],74:[function(e,t,n){var r=e("./_nativeCreate");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},{"./_nativeCreate":99}],75:[function(e,t,n){t.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},{}],76:[function(e,t,n){var r=e("./_nativeCreate"),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return a.call(t,e)?t[e]:void 0}},{"./_nativeCreate":99}],77:[function(e,t,n){var r=e("./_nativeCreate"),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:a.call(t,e)}},{"./_nativeCreate":99}],78:[function(e,t,n){var r=e("./_nativeCreate");t.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},{"./_nativeCreate":99}],79:[function(e,t,n){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var n=_typeof(e);return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&r.test(e))&&-1<e&&e%1==0&&e<t}},{}],80:[function(e,t,n){var a=e("./eq"),o=e("./isArrayLike"),i=e("./_isIndex"),c=e("./isObject");t.exports=function(e,t,n){if(!c(n))return!1;var r=_typeof(t);return!!("number"==r?o(n)&&i(t,n.length):"string"==r&&t in n)&&a(n[t],e)}},{"./_isIndex":79,"./eq":117,"./isArrayLike":129,"./isObject":134}],81:[function(e,t,n){var r=e("./isArray"),a=e("./isSymbol"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(e,t){if(r(e))return!1;var n=_typeof(e);return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!a(e))||(i.test(e)||!o.test(e)||null!=t&&e in Object(t))}},{"./isArray":128,"./isSymbol":138}],82:[function(e,t,n){t.exports=function(e){var t=_typeof(e);return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},{}],83:[function(e,t,n){var r,a=e("./_coreJsData"),o=(r=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(e){return!!o&&o in e}},{"./_coreJsData":55}],84:[function(e,t,n){var r=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r)}},{}],85:[function(e,t,n){var r=e("./isObject");t.exports=function(e){return e==e&&!r(e)}},{"./isObject":134}],86:[function(e,t,n){t.exports=function(){this.__data__=[],this.size=0}},{}],87:[function(e,t,n){var r=e("./_assocIndexOf"),a=Array.prototype.splice;t.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():a.call(t,n,1),--this.size,!0)}},{"./_assocIndexOf":23}],88:[function(e,t,n){var r=e("./_assocIndexOf");t.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},{"./_assocIndexOf":23}],89:[function(e,t,n){var r=e("./_assocIndexOf");t.exports=function(e){return-1<r(this.__data__,e)}},{"./_assocIndexOf":23}],90:[function(e,t,n){var a=e("./_assocIndexOf");t.exports=function(e,t){var n=this.__data__,r=a(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}},{"./_assocIndexOf":23}],91:[function(e,t,n){var r=e("./_Hash"),a=e("./_ListCache"),o=e("./_Map");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||a),string:new r}}},{"./_Hash":5,"./_ListCache":6,"./_Map":7}],92:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},{"./_getMapData":65}],93:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){return r(this,e).get(e)}},{"./_getMapData":65}],94:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){return r(this,e).has(e)}},{"./_getMapData":65}],95:[function(e,t,n){var a=e("./_getMapData");t.exports=function(e,t){var n=a(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}},{"./_getMapData":65}],96:[function(e,t,n){t.exports=function(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}},{}],97:[function(e,t,n){t.exports=function(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}},{}],98:[function(e,t,n){var r=e("./memoize");t.exports=function(e){var t=r(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}},{"./memoize":144}],99:[function(e,t,n){var r=e("./_getNative")(Object,"create");t.exports=r},{"./_getNative":67}],100:[function(e,t,n){var r=e("./_overArg")(Object.keys,Object);t.exports=r},{"./_overArg":103}],101:[function(e,t,n){var r=e("./_freeGlobal"),a="object"==_typeof(n)&&n&&!n.nodeType&&n,o=a&&"object"==_typeof(t)&&t&&!t.nodeType&&t,i=o&&o.exports===a&&r.process,c=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();t.exports=c},{"./_freeGlobal":63}],102:[function(e,t,n){var r=Object.prototype.toString;t.exports=function(e){return r.call(e)}},{}],103:[function(e,t,n){t.exports=function(t,n){return function(e){return t(n(e))}}},{}],104:[function(e,t,n){var r=e("./_freeGlobal"),a="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self&&self.Object===Object&&self,o=r||a||Function("return this")();t.exports=o},{"./_freeGlobal":63}],105:[function(e,t,n){t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},{}],106:[function(e,t,n){t.exports=function(e){return this.__data__.has(e)}},{}],107:[function(e,t,n){t.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},{}],108:[function(e,t,n){var r=e("./_ListCache");t.exports=function(){this.__data__=new r,this.size=0}},{"./_ListCache":6}],109:[function(e,t,n){t.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},{}],110:[function(e,t,n){t.exports=function(e){return this.__data__.get(e)}},{}],111:[function(e,t,n){t.exports=function(e){return this.__data__.has(e)}},{}],112:[function(e,t,n){var a=e("./_ListCache"),o=e("./_Map"),i=e("./_MapCache");t.exports=function(e,t){var n=this.__data__;if(n instanceof a){var r=n.__data__;if(!o||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(r)}return n.set(e,t),this.size=n.size,this}},{"./_ListCache":6,"./_Map":7,"./_MapCache":8}],113:[function(e,t,n){var r=e("./_memoizeCapped"),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,a=r(function(e){var a=[];return 46===e.charCodeAt(0)&&a.push(""),e.replace(o,function(e,t,n,r){a.push(n?r.replace(i,"$1"):t||e)}),a});t.exports=a},{"./_memoizeCapped":98}],114:[function(e,t,n){var r=e("./isSymbol");t.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},{"./isSymbol":138}],115:[function(e,t,n){var r=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},{}],116:[function(e,t,n){t.exports=function(e){for(var t=-1,n=null==e?0:e.length,r=0,a=[];++t<n;){var o=e[t];o&&(a[r++]=o)}return a}},{}],117:[function(e,t,n){t.exports=function(e,t){return e===t||e!=e&&t!=t}},{}],118:[function(e,t,n){var a=e("./_arrayEvery"),o=e("./_baseEvery"),i=e("./_baseIteratee"),c=e("./isArray"),s=e("./_isIterateeCall");t.exports=function(e,t,n){var r=c(e)?a:o;return n&&s(e,t,n)&&(t=void 0),r(e,i(t,3))}},{"./_arrayEvery":17,"./_baseEvery":26,"./_baseIteratee":42,"./_isIterateeCall":80,"./isArray":128}],119:[function(e,t,n){var r=e("./_arrayFilter"),a=e("./_baseFilter"),o=e("./_baseIteratee"),i=e("./isArray");t.exports=function(e,t){return(i(e)?r:a)(e,o(t,3))}},{"./_arrayFilter":18,"./_baseFilter":27,"./_baseIteratee":42,"./isArray":128}],120:[function(e,t,n){var r=e("./_createFind")(e("./findIndex"));t.exports=r},{"./_createFind":58,"./findIndex":121}],121:[function(e,t,n){var o=e("./_baseFindIndex"),i=e("./_baseIteratee"),c=e("./toInteger"),s=Math.max;t.exports=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=null==n?0:c(n);return a<0&&(a=s(r+a,0)),o(e,i(t,3),a)}},{"./_baseFindIndex":28,"./_baseIteratee":42,"./toInteger":149}],122:[function(e,t,n){var r=e("./_arrayEach"),a=e("./_baseEach"),o=e("./_castFunction"),i=e("./isArray");t.exports=function(e,t){return(i(e)?r:a)(e,o(t))}},{"./_arrayEach":16,"./_baseEach":25,"./_castFunction":53,"./isArray":128}],123:[function(e,t,n){var a=e("./_baseGet");t.exports=function(e,t,n){var r=null==e?void 0:a(e,t);return void 0===r?n:r}},{"./_baseGet":31}],124:[function(e,t,n){var r=e("./_baseHas"),a=e("./_hasPath");t.exports=function(e,t){return null!=e&&a(e,t,r)}},{"./_baseHas":34,"./_hasPath":73}],125:[function(e,t,n){var r=e("./_baseHasIn"),a=e("./_hasPath");t.exports=function(e,t){return null!=e&&a(e,t,r)}},{"./_baseHasIn":35,"./_hasPath":73}],126:[function(e,t,n){t.exports=function(e){return e}},{}],127:[function(e,t,n){var r=e("./_baseIsArguments"),a=e("./isObjectLike"),o=Object.prototype,i=o.hasOwnProperty,c=o.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return a(e)&&i.call(e,"callee")&&!c.call(e,"callee")};t.exports=s},{"./_baseIsArguments":36,"./isObjectLike":135}],128:[function(e,t,n){var r=Array.isArray;t.exports=r},{}],129:[function(e,t,n){var r=e("./isFunction"),a=e("./isLength");t.exports=function(e){return null!=e&&a(e.length)&&!r(e)}},{"./isFunction":132,"./isLength":133}],130:[function(e,t,n){var r=e("./_root"),a=e("./stubFalse"),o="object"==_typeof(n)&&n&&!n.nodeType&&n,i=o&&"object"==_typeof(t)&&t&&!t.nodeType&&t,c=i&&i.exports===o?r.Buffer:void 0,s=(c?c.isBuffer:void 0)||a;t.exports=s},{"./_root":104,"./stubFalse":147}],131:[function(e,t,n){var r=e("./_baseIsEqual");t.exports=function(e,t){return r(e,t)}},{"./_baseIsEqual":37}],132:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./isObject");t.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},{"./_baseGetTag":33,"./isObject":134}],133:[function(e,t,n){t.exports=function(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=9007199254740991}},{}],134:[function(e,t,n){t.exports=function(e){var t=_typeof(e);return null!=e&&("object"==t||"function"==t)}},{}],135:[function(e,t,n){t.exports=function(e){return null!=e&&"object"==_typeof(e)}},{}],136:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./_getPrototype"),o=e("./isObjectLike"),i=Function.prototype,c=Object.prototype,s=i.toString,u=c.hasOwnProperty,l=s.call(Object);t.exports=function(e){if(!o(e)||"[object Object]"!=r(e))return!1;var t=a(e);if(null===t)return!0;var n=u.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&s.call(n)==l}},{"./_baseGetTag":33,"./_getPrototype":68,"./isObjectLike":135}],137:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./isArray"),o=e("./isObjectLike");t.exports=function(e){return"string"==typeof e||!a(e)&&o(e)&&"[object String]"==r(e)}},{"./_baseGetTag":33,"./isArray":128,"./isObjectLike":135}],138:[function(e,t,n){var r=e("./_baseGetTag"),a=e("./isObjectLike");t.exports=function(e){return"symbol"==_typeof(e)||a(e)&&"[object Symbol]"==r(e)}},{"./_baseGetTag":33,"./isObjectLike":135}],139:[function(e,t,n){var r=e("./_baseIsTypedArray"),a=e("./_baseUnary"),o=e("./_nodeUtil"),i=o&&o.isTypedArray,c=i?a(i):r;t.exports=c},{"./_baseIsTypedArray":41,"./_baseUnary":51,"./_nodeUtil":101}],140:[function(e,t,n){t.exports=function(e){return void 0===e}},{}],141:[function(e,t,n){var r=e("./_arrayLikeKeys"),a=e("./_baseKeys"),o=e("./isArrayLike");t.exports=function(e){return o(e)?r(e):a(e)}},{"./_arrayLikeKeys":19,"./_baseKeys":43,"./isArrayLike":129}],142:[function(e,t,n){var r=e("./_arrayMap"),a=e("./_baseIteratee"),o=e("./_baseMap"),i=e("./isArray");t.exports=function(e,t){return(i(e)?r:o)(e,a(t,3))}},{"./_arrayMap":20,"./_baseIteratee":42,"./_baseMap":44,"./isArray":128}],143:[function(e,t,n){var o=e("./_baseAssignValue"),i=e("./_baseForOwn"),c=e("./_baseIteratee");t.exports=function(e,r){var a={};return r=c(r,3),i(e,function(e,t,n){o(a,t,r(e,t,n))}),a}},{"./_baseAssignValue":24,"./_baseForOwn":30,"./_baseIteratee":42}],144:[function(e,t,n){var r=e("./_MapCache"),c="Expected a function";function s(a,o){if("function"!=typeof a||null!=o&&"function"!=typeof o)throw new TypeError(c);function i(){var e=arguments,t=o?o.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var r=a.apply(this,e);return i.cache=n.set(t,r)||n,r}return i.cache=new(s.Cache||r),i}s.Cache=r,t.exports=s},{"./_MapCache":8}],145:[function(e,t,n){var r=e("./_baseProperty"),a=e("./_basePropertyDeep"),o=e("./_isKey"),i=e("./_toKey");t.exports=function(e){return o(e)?r(i(e)):a(e)}},{"./_baseProperty":47,"./_basePropertyDeep":48,"./_isKey":81,"./_toKey":114}],146:[function(e,t,n){t.exports=function(){return[]}},{}],147:[function(e,t,n){t.exports=function(){return!1}},{}],148:[function(e,t,n){var r=e("./toNumber");t.exports=function(e){return e?(e=r(e))!==1/0&&e!==-1/0?e==e?e:0:17976931348623157e292*(e<0?-1:1):0===e?e:0}},{"./toNumber":150}],149:[function(e,t,n){var r=e("./toFinite");t.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},{"./toFinite":148}],150:[function(e,t,n){var r=e("./isObject"),a=e("./isSymbol"),o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt;t.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=c.test(e);return n||s.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}},{"./isObject":134,"./isSymbol":138}],151:[function(e,t,n){var r=e("./_baseToString");t.exports=function(e){return null==e?"":r(e)}},{"./_baseToString":50}],152:[function(e,t,n){function r(e,t){var n=y.wordsToBytes(function(e){e.constructor==String&&(e=_.stringToBytes(e));var t=y.bytesToWords(e),n=8*e.length,r=[],a=1732584193,o=-271733879,i=-1732584194,c=271733878,s=-1009589776;t[n>>5]|=128<<24-n%32,t[15+(64+n>>>9<<4)]=n;for(var u=0;u<t.length;u+=16){for(var l=a,f=o,d=i,p=c,m=s,v=0;v<80;v++){if(v<16)r[v]=t[u+v];else{var h=r[v-3]^r[v-8]^r[v-14]^r[v-16];r[v]=h<<1|h>>>31}var g=(a<<5|a>>>27)+s+(r[v]>>>0)+(v<20?1518500249+(o&i|~o&c):v<40?1859775393+(o^i^c):v<60?(o&i|o&c|i&c)-1894007588:(o^i^c)-899497514);s=c,c=i,i=o<<30|o>>>2,o=a,a=g}a+=l,o+=f,i+=d,c+=p,s+=m}return[a,o,i,c,s]}(e));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):y.bytesToHex(n)}var y,_,a;y=e("crypt"),_=e("charenc").utf8,a=e("charenc").bin,r._blocksize=16,r._digestsize=20,t.exports=r},{charenc:1,crypt:2}],153:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var r=e("./lib/core");n.trackerCore=r.trackerCore},{"./lib/core":156}],154:[function(e,t,n){function r(e){var t,n,r,a,o,i,c,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u=0,l=0,f="",d=[];if(!e)return e;for(e+="";t=(i=s.indexOf(e.charAt(u++))<<18|s.indexOf(e.charAt(u++))<<12|(a=s.indexOf(e.charAt(u++)))<<6|(o=s.indexOf(e.charAt(u++))))>>16&255,n=i>>8&255,r=255&i,d[l++]=64===a?String.fromCharCode(t):64===o?String.fromCharCode(t,n):String.fromCharCode(t,n,r),u<e.length;);return f=d.join(""),c=f.replace(/\0+$/,""),decodeURIComponent(c.split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}Object.defineProperty(n,"__esModule",{value:!0}),n.base64urldecode=function(e){if(!e)return e;switch(4-e.length%4){case 2:e+="==";break;case 3:e+="="}return r(e.replace(/-/g,"+").replace(/_/g,"/"))},n.base64encode=function(e){var t,n,r,a,o,i,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=0,u=0,l=[];if(!e)return e;for(e=unescape(encodeURIComponent(e));t=(o=e.charCodeAt(s++)<<16|e.charCodeAt(s++)<<8|e.charCodeAt(s++))>>18&63,n=o>>12&63,r=o>>6&63,a=63&o,l[u++]=c.charAt(t)+c.charAt(n)+c.charAt(r)+c.charAt(a),s<e.length;);i=l.join("");var f=e.length%3;return(f?i.slice(0,f-3):i)+"===".slice(f||3)},n.base64decode=r},{}],155:[function(e,t,n){var r=this&&this.__assign||Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e};Object.defineProperty(n,"__esModule",{value:!0});var a=e("./payload"),o=e("./base64"),s=e("lodash/isEqual"),i=e("lodash/has"),c=e("lodash/get"),u=e("lodash/isPlainObject"),l=e("lodash/every"),f=e("lodash/compact"),d=e("lodash/map");function p(e){var t=new RegExp("^iglu:([a-zA-Z0-9-_.]+)/([a-zA-Z0-9-_]+)/jsonschema/([1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$").exec(e);if(null!==t)return t.slice(1,6)}function m(e){if("*"===e[0]||"*"===e[1])return!1;if(0<e.slice(2).length){for(var t=!1,n=0,r=e.slice(2);n<r.length;n++){if("*"===r[n])t=!0;else if(t)return!1}return!0}return 2==e.length}function v(e){var t=e.split(".");return!!(t&&1<t.length)&&m(t)}function h(e){var t=new RegExp("^iglu:((?:(?:[a-zA-Z0-9-_]+|\\*).)+(?:[a-zA-Z0-9-_]+|\\*))/([a-zA-Z0-9-_.]+|\\*)/jsonschema/([1-9][0-9]*|\\*)-(0|[1-9][0-9]*|\\*)-(0|[1-9][0-9]*|\\*)$").exec(e);if(null!==t&&v(t[1]))return t.slice(1,6)}function g(e){var t=h(e);if(t){var n=t[0];return 5===t.length&&v(n)}return!1}function y(e){return Array.isArray(e)&&e.every(function(e){return"string"==typeof e})}function _(e){return y(e)?e.every(function(e){return g(e)}):"string"==typeof e&&g(e)}function b(e){return!!(a.isNonEmptyJson(e)&&"schema"in e&&"data"in e)&&("string"==typeof e.schema&&"object"===_typeof(e.data))}function w(e){return!!(a.isNonEmptyJson(e)&&"e"in e)&&"string"==typeof e.e}function k(e){var t=0;if(u(e)){if(i(e,"accept")){if(!_(e.accept))return!1;t+=1}if(i(e,"reject")){if(!_(e.reject))return!1;t+=1}return 0<t&&t<=2}return!1}function A(e){return"function"==typeof e&&e.length<=1}function x(e){return"function"==typeof e&&e.length<=1}function S(e){return A(e)||b(e)}function C(e){return!(!Array.isArray(e)||2!==e.length)&&(Array.isArray(e[1])?x(e[0])&&l(e[1],S):x(e[0])&&S(e[1]))}function j(e){return!(!Array.isArray(e)||2!==e.length)&&(!!k(e[0])&&(Array.isArray(e[1])?l(e[1],S):S(e[1])))}function O(e){return C(e)||j(e)}function T(e,t){if(!g(e))return!1;var n=h(e),r=p(t);if(n&&r){if(!P(n[0],r[0]))return!1;for(var a=1;a<5;a++)if(!I(n[a],r[a]))return!1;return!0}return!1}function P(e,t){var n=t.split("."),r=e.split(".");if(n&&r){if(n.length!==r.length)return!1;for(var a=0;a<r.length;a++)if(!I(n[a],r[a]))return!1;return!0}return!1}function I(e,t){return e&&t&&"*"===e||e===t}function E(e,t){var n=0,r=0,a=c(e,"accept");Array.isArray(a)?e.accept.some(function(e){return T(e,t)})&&r++:"string"==typeof a&&T(a,t)&&r++;var o=c(e,"reject");return Array.isArray(o)?e.reject.some(function(e){return T(e,t)})&&n++:"string"==typeof o&&T(o,t)&&n++,0<r&&0===n}function D(e){return"string"==typeof c(e,"ue_px.data.schema")?c(e,"ue_px.data.schema"):"string"==typeof c(e,"ue_pr.data.schema")?c(e,"ue_pr.data.schema"):"string"==typeof c(e,"schema")?c(e,"schema"):""}function L(e){var t=r({},e);try{i(t,"ue_px")&&(t.ue_px=JSON.parse(o.base64urldecode(c(t,["ue_px"]))))}catch(e){}return t}function M(e){return c(e,"e","")}function N(e,t,n,r){var a=void 0;try{return b(a=e({event:t,eventType:n,eventSchema:r}))?a:Array.isArray(a)&&l(a,b)?a:void 0}catch(e){a=void 0}return a}function F(e){return Array.isArray(e)?e:Array.of(e)}function z(e,n,r,a){var t=F(e),o=d(t,function(e){var t=U(e,n,r,a);if(t&&0!==t.length)return t});return[].concat.apply([],f(o))}function U(e,t,n,r){if(b(e))return[e];if(A(e)){var a=N(e,t,n,r);if(b(a))return[a];if(Array.isArray(a))return a}}function B(e,t,n,r){if(C(e)){var a=e[0],o=!1;try{o=a({event:t,eventType:n,eventSchema:r})}catch(e){o=!1}if(!0===o)return z(e[1],t,n,r)}else if(j(e)&&E(e[0],r))return z(e[1],t,n,r);return[]}function G(e,n,r,a){var t=F(e),o=d(t,function(e){var t=B(e,n,r,a);if(t&&0!==t.length)return t});return[].concat.apply([],f(o))}n.getSchemaParts=p,n.validateVendorParts=m,n.validateVendor=v,n.getRuleParts=h,n.isValidRule=g,n.isStringArray=y,n.isValidRuleSetArg=_,n.isSelfDescribingJson=b,n.isEventJson=w,n.isRuleSet=k,n.isContextGenerator=A,n.isContextFilter=x,n.isContextPrimitive=S,n.isFilterProvider=C,n.isRuleSetProvider=j,n.isConditionalContextProvider=O,n.matchSchemaAgainstRule=T,n.matchVendor=P,n.matchPart=I,n.matchSchemaAgainstRuleSet=E,n.getUsefulSchema=D,n.getDecodedEvent=L,n.getEventType=M,n.buildGenerator=N,n.normalizeToArray=F,n.generatePrimitives=z,n.evaluatePrimitive=U,n.evaluateProvider=B,n.generateConditionals=G,n.contextModule=function(){var i=[],c=[];return{getGlobalPrimitives:function(){return i},getConditionalProviders:function(){return c},addGlobalContexts:function(e){for(var t=[],n=[],r=0,a=e;r<a.length;r++){var o=a[r];O(o)?t.push(o):S(o)&&n.push(o)}i=i.concat(n),c=c.concat(t)},clearGlobalContexts:function(){c=[],i=[]},removeGlobalContexts:function(e){for(var t=function(t){O(t)?c=c.filter(function(e){return!s(e,t)}):S(t)&&(i=i.filter(function(e){return!s(e,t)}))},n=0,r=e;n<r.length;n++){t(r[n])}},getApplicableContexts:function(e){var t=e.build();return w(t)?function(e){var t=D(e),n=M(e),r=[],a=z(i,e,n,t);r.push.apply(r,a);var o=G(c,e,n,t);return r.push.apply(r,o),r}(L(t)):[]}}}},{"./base64":154,"./payload":157,"lodash/compact":116,"lodash/every":118,"lodash/get":123,"lodash/has":124,"lodash/isEqual":131,"lodash/isPlainObject":136,"lodash/map":142}],156:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var s=e("uuid"),v=e("./payload"),r=e("./contexts");n.trackerCore=function(d,o){void 0===d&&(d=!0);var i={},a=r.contextModule();function n(e,t){i[e]=t}function f(e,t){var n={};for(var r in t=t||{},e)(t[r]||null!==e[r]&&void 0!==e[r])&&(n[r]=e[r]);return n}function c(e,t){var n=function(e){return a.getApplicableContexts(e)}(e),r=[];return t&&t.length&&r.push.apply(r,t),n&&n.length&&r.push.apply(r,n),r}function p(e,t,n){e.addDict(i),e.add("eid",s.v4());var r=function(e){return null==e?{type:"dtm",value:(new Date).getTime()}:"number"==typeof e?{type:"dtm",value:e}:"ttm"===e.type?{type:"ttm",value:e.value}:{type:"dtm",value:e.value||(new Date).getTime()}}(n);e.add(r.type,r.value.toString());var a=function(e){if(e&&e.length)return{schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",data:e}}(c(e,t));return void 0!==a&&e.addJson("cx","co",a),"function"==typeof o&&o(e),e}function m(e,t,n){var r=v.payloadBuilder(d),a={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:e};return r.add("e","ue"),r.addJson("ue_px","ue_pr",a),p(r,t,n)}return{setBase64Encoding:function(e){d=e},addPayloadPair:n,addPayloadDict:function(e){for(var t in e)e.hasOwnProperty(t)&&(i[t]=e[t])},resetPayloadPairs:function(e){i=v.isJson(e)?e:{}},setTrackerVersion:function(e){n("tv",e)},setTrackerNamespace:function(e){n("tna",e)},setAppId:function(e){n("aid",e)},setPlatform:function(e){n("p",e)},setUserId:function(e){n("uid",e)},setScreenResolution:function(e,t){n("res",e+"x"+t)},setViewport:function(e,t){n("vp",e+"x"+t)},setColorDepth:function(e){n("cd",e)},setTimezone:function(e){n("tz",e)},setLang:function(e){n("lang",e)},setIpAddress:function(e){n("ip",e)},setUseragent:function(e){n("ua",e)},trackUnstructEvent:m,trackSelfDescribingEvent:m,trackPageView:function(e,t,n,r,a){var o=v.payloadBuilder(d);return o.add("e","pv"),o.add("url",e),o.add("page",t),o.add("refr",n),p(o,r,a)},trackPagePing:function(e,t,n,r,a,o,i,c,s){var u=v.payloadBuilder(d);return u.add("e","pp"),u.add("url",e),u.add("page",t),u.add("refr",n),u.add("pp_mix",r.toString()),u.add("pp_max",a.toString()),u.add("pp_miy",o.toString()),u.add("pp_may",i.toString()),p(u,c,s)},trackStructEvent:function(e,t,n,r,a,o,i){var c=v.payloadBuilder(d);return c.add("e","se"),c.add("se_ca",e),c.add("se_ac",t),c.add("se_la",n),c.add("se_pr",r),c.add("se_va",null==a?void 0:a.toString()),p(c,o,i)},trackEcommerceTransaction:function(e,t,n,r,a,o,i,c,s,u,l){var f=v.payloadBuilder(d);return f.add("e","tr"),f.add("tr_id",e),f.add("tr_af",t),f.add("tr_tt",n),f.add("tr_tx",r),f.add("tr_sh",a),f.add("tr_ci",o),f.add("tr_st",i),f.add("tr_co",c),f.add("tr_cu",s),p(f,u,l)},trackEcommerceTransactionItem:function(e,t,n,r,a,o,i,c,s){var u=v.payloadBuilder(d);return u.add("e","ti"),u.add("ti_id",e),u.add("ti_sk",t),u.add("ti_nm",n),u.add("ti_ca",r),u.add("ti_pr",a),u.add("ti_qu",o),u.add("ti_cu",i),p(u,c,s)},trackScreenView:function(e,t,n,r){return m({schema:"iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0",data:f({name:e,id:t})},n,r)},trackLinkClick:function(e,t,n,r,a,o,i){return m({schema:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",data:f({targetUrl:e,elementId:t,elementClasses:n,elementTarget:r,elementContent:a})},o,i)},trackAdImpression:function(e,t,n,r,a,o,i,c,s,u){return m({schema:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0",data:f({impressionId:e,costModel:t,cost:n,targetUrl:r,bannerId:a,zoneId:o,advertiserId:i,campaignId:c})},s,u)},trackAdClick:function(e,t,n,r,a,o,i,c,s,u,l){return m({schema:"iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0",data:f({targetUrl:e,clickId:t,costModel:n,cost:r,bannerId:a,zoneId:o,impressionId:i,advertiserId:c,campaignId:s})},u,l)},trackAdConversion:function(e,t,n,r,a,o,i,c,s,u,l){return m({schema:"iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0",data:f({conversionId:e,costModel:t,cost:n,category:r,action:a,property:o,initialValue:i,advertiserId:c,campaignId:s})},u,l)},trackSocialInteraction:function(e,t,n,r,a){return m({schema:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",data:f({action:e,network:t,target:n})},r,a)},trackAddToCart:function(e,t,n,r,a,o,i,c){return m({schema:"iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0",data:f({sku:e,name:t,category:n,unitPrice:r,quantity:a,currency:o})},i,c)},trackRemoveFromCart:function(e,t,n,r,a,o,i,c){return m({schema:"iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0",data:f({sku:e,name:t,category:n,unitPrice:r,quantity:a,currency:o})},i,c)},trackFormFocusOrChange:function(e,t,n,r,a,o,i,c,s){var u="",l={formId:t,elementId:n,nodeName:r,elementClasses:o,value:i};return"change_form"===e?(u="iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",l.type=a):"focus_form"===e&&(u="iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0",l.elementType=a),m({schema:u,data:f(l,{value:!0})},c,s)},trackFormSubmission:function(e,t,n,r,a){return m({schema:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",data:f({formId:e,formClasses:t,elements:n})},r,a)},trackSiteSearch:function(e,t,n,r,a,o){return m({schema:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",data:f({terms:e,filters:t,totalResults:n,pageResults:r})},a,o)},trackConsentWithdrawn:function(e,t,n,r,a,o,i){var c={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:f({id:t,version:n,name:r,description:a})};return m({schema:"iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0",data:f({all:e})},c.data&&o?o.concat([c]):o,i)},trackConsentGranted:function(e,t,n,r,a,o,i){var c={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:f({id:e,version:t,name:n,description:r})};return m({schema:"iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0",data:f({expiry:a})},o?o.concat([c]):[c],i)},addGlobalContexts:function(e){a.addGlobalContexts(e)},clearGlobalContexts:function(){a.clearGlobalContexts()},removeGlobalContexts:function(e){a.removeGlobalContexts(e)}}}},{"./contexts":155,"./payload":157,uuid:159}],157:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var i=e("./base64");function c(e){if(!r(e))return!1;for(var t in e)if(e.hasOwnProperty(t))return!0;return!1}function r(e){return null!=e&&(e.constructor==={}.constructor||e.constructor===[].constructor)}n.isNonEmptyJson=c,n.isJson=r,n.payloadBuilder=function(a){function o(e,t){null!=t&&""!==t&&(n[e]=t)}var n={};return{add:o,addDict:function(e){for(var t in e)e.hasOwnProperty(t)&&o(t,e[t])},addJson:function(e,t,n){if(c(n)){var r=JSON.stringify(n);a?o(e,function(e){return e?i.base64encode(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"):e}(r)):o(t,r)}},build:function(){return n}}}},{"./base64":154}],158:[function(e,o,t){(function(e){var t,n=e.crypto||e.msCrypto;if(n&&n.getRandomValues){var r=new Uint8Array(16);t=function(){return n.getRandomValues(r),r}}if(!t){var a=new Array(16);t=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),a[t]=e>>>((3&t)<<3)&255;return a}}o.exports=t}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],159:[function(e,t,n){for(var i=e("./rng"),a=[],o={},r=0;r<256;r++)a[r]=(r+256).toString(16).substr(1),o[a[r]]=r;function p(e,t){var n=t||0,r=a;return r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+"-"+r[e[n++]]+r[e[n++]]+"-"+r[e[n++]]+r[e[n++]]+"-"+r[e[n++]]+r[e[n++]]+"-"+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]}var c=i(),m=[1|c[0],c[1],c[2],c[3],c[4],c[5]],v=16383&(c[6]<<8|c[7]),h=0,g=0;function s(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var a=(e=e||{}).random||(e.rng||i)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t)for(var o=0;o<16;o++)t[r+o]=a[o];return t||p(a)}var u=s;u.v1=function(e,t,n){var r=t&&n||0,a=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:v,i=void 0!==e.msecs?e.msecs:(new Date).getTime(),c=void 0!==e.nsecs?e.nsecs:g+1,s=i-h+(c-g)/1e4;if(s<0&&void 0===e.clockseq&&(o=o+1&16383),(s<0||h<i)&&void 0===e.nsecs&&(c=0),1e4<=c)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=i,v=o;var u=(1e4*(268435455&(i+=122192928e5))+(g=c))%4294967296;a[r++]=u>>>24&255,a[r++]=u>>>16&255,a[r++]=u>>>8&255,a[r++]=255&u;var l=i/4294967296*1e4&268435455;a[r++]=l>>>8&255,a[r++]=255&l,a[r++]=l>>>24&15|16,a[r++]=l>>>16&255,a[r++]=o>>>8|128,a[r++]=255&o;for(var f=e.node||m,d=0;d<6;d++)a[r+d]=f[d];return t||p(a)},u.v4=s,u.parse=function(e,t,n){var r=t&&n||0,a=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){a<16&&(t[r+a++]=o[e])});a<16;)t[r+a++]=0;return t},u.unparse=p,t.exports=u},{"./rng":158}],160:[function(e,t,n){var r=e("./v1"),a=e("./v4"),o=a;o.v1=r,o.v4=a,t.exports=o},{"./v1":163,"./v4":164}],161:[function(e,t,n){for(var a=[],r=0;r<256;++r)a[r]=(r+256).toString(16).substr(1);t.exports=function(e,t){var n=t||0,r=a;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")}},{}],162:[function(e,t,n){var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var a=new Uint8Array(16);t.exports=function(){return r(a),a}}else{var o=new Array(16);t.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),o[t]=e>>>((3&t)<<3)&255;return o}}},{}],163:[function(e,t,n){var m,v,h=e("./lib/rng"),g=e("./lib/bytesToUuid"),y=0,_=0;t.exports=function(e,t,n){var r=t&&n||0,a=t||[],o=(e=e||{}).node||m,i=void 0!==e.clockseq?e.clockseq:v;if(null==o||null==i){var c=h();null==o&&(o=m=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==i&&(i=v=16383&(c[6]<<8|c[7]))}var s=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:_+1,l=s-y+(u-_)/1e4;if(l<0&&void 0===e.clockseq&&(i=i+1&16383),(l<0||y<s)&&void 0===e.nsecs&&(u=0),1e4<=u)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");y=s,v=i;var f=(1e4*(268435455&(s+=122192928e5))+(_=u))%4294967296;a[r++]=f>>>24&255,a[r++]=f>>>16&255,a[r++]=f>>>8&255,a[r++]=255&f;var d=s/4294967296*1e4&268435455;a[r++]=d>>>8&255,a[r++]=255&d,a[r++]=d>>>24&15|16,a[r++]=d>>>16&255,a[r++]=i>>>8|128,a[r++]=255&i;for(var p=0;p<6;++p)a[r+p]=o[p];return t||g(a)}},{"./lib/bytesToUuid":161,"./lib/rng":162}],164:[function(e,t,n){var i=e("./lib/rng"),c=e("./lib/bytesToUuid");t.exports=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var a=(e=e||{}).random||(e.rng||i)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t)for(var o=0;o<16;++o)t[r+o]=a[o];return t||c(a)}},{"./lib/bytesToUuid":161,"./lib/rng":162}],165:[function(e,t,n){var o=e("lodash/isFunction"),i=e("./lib/helpers"),s=window;(void 0!==n?n:this).errorManager=function(c){function a(e,t,n,r,a,o){var i=a&&a.stack?a.stack:null;c.trackSelfDescribingEvent({schema:"iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1",data:{programmingLanguage:"JAVASCRIPT",message:e||"JS Exception. Browser doesn't support ErrorEvent API",stackTrace:i,lineNumber:n,lineColumn:r,fileName:t}},o)}return{trackError:a,enableErrorTracking:function(t,n,r){i.addEventListener(s,"error",function(e){(o(t)&&t(e)||null==t)&&function(e,t,n){var r;r=o(n)?t.concat(n(e)):t,a(e.message,e.filename,e.lineno,e.colno,e.error,r)}(e,r,n)},!0)}}}},{"./lib/helpers":171,"lodash/isFunction":132}],166:[function(e,t,n){var p=e("lodash/forEach"),m=e("lodash/filter"),v=e("lodash/find"),h=e("./lib/helpers");(void 0!==n?n:this).getFormTrackingManager=function(i,e,c){var a=["textarea","input","select"],o=e+"form",r=function(){return!0},s=function(){return!0},u=function(e){return e};function l(t){return t[v(["name","id","type","nodeName"],function(e){return t[e]&&"string"==typeof t[e]})]}function f(a,o){return function(e){var t=e.target,n=t.nodeName&&"INPUT"===t.nodeName.toUpperCase()?t.type:null,r="checkbox"!==t.type||t.checked?u(t.value):null;("change_form"===a||"checkbox"!==n&&"radio"!==n)&&i.trackFormFocusOrChange(a,function(e){for(;e&&e.nodeName&&"HTML"!==e.nodeName.toUpperCase()&&"FORM"!==e.nodeName.toUpperCase();)e=e.parentNode;if(e&&e.nodeName&&"FORM"===e.nodeName.toUpperCase())return l(e)}(t),l(t),t.nodeName,n,h.getCssClasses(t),r,c(h.resolveDynamicContexts(o,t,n,r)))}}function d(r){return function(e){var t=e.target,n=function(n){var r=[];return p(a,function(e){var t=m(n.getElementsByTagName(e),function(e){return e.hasOwnProperty(o)});p(t,function(e){if("submit"!==e.type){var t={name:l(e),value:e.value,nodeName:e.nodeName};e.type&&"INPUT"===e.nodeName.toUpperCase()&&(t.type=e.type),"checkbox"!==e.type&&"radio"!==e.type||e.checked||(t.value=null),r.push(t)}})}),r}(t);p(n,function(e){e.value=u(e.value)}),i.trackFormSubmission(l(t),h.getCssClasses(t),n,c(h.resolveDynamicContexts(r,t,n)))}}return{configureFormTracking:function(e){e&&(r=h.getFilter(e.forms,!0),s=h.getFilter(e.fields,!1),u=h.getTransform(e.fields))},addFormListeners:function(n){p(document.getElementsByTagName("form"),function(t){r(t)&&!t[o]&&(p(a,function(e){p(t.getElementsByTagName(e),function(e){s(e)&&!e[o]&&"password"!==e.type.toLowerCase()&&(h.addEventListener(e,"focus",f("focus_form",n),!1),h.addEventListener(e,"change",f("change_form",n),!1),e[o]=!0)})}),h.addEventListener(t,"submit",d(n)),t[o]=!0)})}}}},{"./lib/helpers":171,"lodash/filter":119,"lodash/find":120,"lodash/forEach":122}],167:[function(e,t,n){n.productionize=function(r){var a={};return"object"===_typeof(r)&&null!==r&&Object.getOwnPropertyNames(r).forEach(function(e,t,n){"function"==typeof r[e]&&(a[e]=function(e){return function(){try{return e.apply(this,arguments)}catch(e){}}}(r[e]))}),a}},{}],168:[function(e,t,n){!function(){var c=e("lodash/map"),h=e("lodash/isUndefined"),g=e("lodash/isFunction"),y=e("./lib/helpers");(void 0!==n?n:this).InQueueManager=function(r,a,o,e,i){var p={};function m(e){var t=[];if(e&&0!==e.length)for(var n=0;n<e.length;n++)p.hasOwnProperty(e[n])?t.push(p[e[n]]):y.warn('Warning: Tracker namespace "'+e[n]+'" not configured');else t=c(p);return 0===t.length&&y.warn("Warning: No tracker configured"),t}function v(e,t,n){n=n||{},p.hasOwnProperty(e)?y.warn("Tracker namespace "+e+" already exists."):(p[e]=new r(i,e,a,o,n),p[e].setCollectorUrl(t))}function t(){var e,t,n,r,a,o,i,c,s,u,l,f,d;for(e=0;e<arguments.length;e+=1){if(r=arguments[e],a=Array.prototype.shift.call(r),g(a))try{a.apply(p,r)}catch(e){y.warn("Custom callback error - ".concat(e))}finally{continue}if(d=void 0,i=(o=[(d=a.split(":"))[0],1<d.length?d[1].split(";"):[]])[1],"newTracker"!==(n=o[0]))if("setCollectorCf"!==n&&"setCollectorUrl"!==n||i&&0!==i.length)for(c=m(i),t=0;t<c.length;t++)c[t][n].apply(c[t],r);else s=n,u=r[0],l=r[1],f=void 0,y.warn(s+" is deprecated. Set the collector when a new tracker instance using newTracker."),v(f=h(l)?"sp":l),p[f][s](u);else v(r[0],r[1],r[2])}}for(var n=0;n<e.length;n++)t(e[n]);return{push:t}}}()},{"./lib/helpers":171,"lodash/isFunction":132,"lodash/isUndefined":140,"lodash/map":142}],169:[function(e,t,n){var r,a,o=e("./snowplow"),i=window;i.GlobalSnowplowNamespace&&0<i.GlobalSnowplowNamespace.length?(r=i.GlobalSnowplowNamespace.shift(),(a=i[r]).q=new o.Snowplow(a.q,r)):(i._snaq=i._snaq||[],i._snaq=new o.Snowplow(i._snaq,"_snaq"))},{"./snowplow":175}],170:[function(t,e,r){!function(){var i=t("lodash/isFunction"),c=t("lodash/isUndefined"),e=t("jstimezonedetect").jstz.determine(),n=t("./helpers"),s=void 0!==r?r:this,u=window,l=navigator,f=screen,o=document;s.hasSessionStorage=function(){try{return!!u.sessionStorage}catch(e){return!0}},s.hasLocalStorage=function(){try{return!!u.localStorage}catch(e){return!0}},s.localStorageAccessible=function(){var e="modernizr";if(!s.hasLocalStorage())return!1;try{return u.localStorage.setItem(e,e),u.localStorage.removeItem(e),!0}catch(e){return!1}},s.hasCookies=function(e){var t=e||"testcookie";return c(l.cookieEnabled)?(n.cookie(t,"1"),"1"===n.cookie(t)?"1":"0"):l.cookieEnabled?"1":"0"},s.detectTimezone=function(){return void 0===e?"":e.name()},s.detectViewport=function(){var e=u,t="inner";"innerWidth"in u||(t="client",e=o.documentElement||o.body);var n=e[t+"Width"],r=e[t+"Height"];return 0<=n&&0<=r?n+"x"+r:null},s.detectDocumentSize=function(){var e=o.documentElement,t=o.body,n=t?Math.max(t.offsetHeight,t.scrollHeight):0,r=Math.max(e.clientWidth,e.offsetWidth,e.scrollWidth),a=Math.max(e.clientHeight,e.offsetHeight,e.scrollHeight,n);return isNaN(r)||isNaN(a)?"":r+"x"+a},s.detectBrowserFeatures=function(e,t){var n,r,a={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"},o={};if(l.mimeTypes&&l.mimeTypes.length)for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(r=l.mimeTypes[a[n]],o[n]=r&&r.enabledPlugin?"1":"0");return l.constructor===window.Navigator&&"unknown"!=typeof l.javaEnabled&&!c(l.javaEnabled)&&l.javaEnabled()&&(o.java="1"),i(u.GearsFactory)&&(o.gears="1"),o.res=f.width+"x"+f.height,o.cd=f.colorDepth,e&&(o.cookie=s.hasCookies(t)),o}}()},{"./helpers":171,jstimezonedetect:3,"lodash/isFunction":132,"lodash/isUndefined":140}],171:[function(e,t,c){!function(){var n=e("lodash/filter"),r=e("lodash/isString"),a=e("lodash/isUndefined"),i=e("lodash/isObject"),o=e("lodash/map"),s=void 0!==c?c:this;s.fixupTitle=function(e){if(!r(e)){e=e.text||"";var t=document.getElementsByTagName("title");t&&!a(t[0])&&(e=t[0].text)}return e},s.getHostName=function(e){var t=new RegExp("^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)").exec(e);return t?t[1]:e},s.fixupDomain=function(e){var t=e.length;return"."===e.charAt(--t)&&(e=e.slice(0,t)),"*."===e.slice(0,2)&&(e=e.slice(1)),e},s.getReferrer=function(e){var t="",n=s.fromQuerystring("referrer",window.location.href)||s.fromQuerystring("referer",window.location.href);if(n)return n;if(e)return e;try{t=window.top.document.referrer}catch(e){if(window.parent)try{t=window.parent.document.referrer}catch(e){t=""}}return""===t&&(t=document.referrer),t},s.addEventListener=function(e,t,n,r){return e.addEventListener?(e.addEventListener(t,n,r),!0):e.attachEvent?e.attachEvent("on"+t,n):void(e["on"+t]=n)},s.fromQuerystring=function(e,t){var n=new RegExp("^[^#]*[?&]"+e+"=([^&#]*)").exec(t);return n?decodeURIComponent(n[1].replace(/\+/g," ")):null},s.resolveDynamicContexts=function(e){var t=Array.prototype.slice.call(arguments,1);return n(o(e,function(e){if("function"!=typeof e)return e;try{return e.apply(null,t)}catch(e){}}))},s.warn=function(e){"undefined"!=typeof console&&console.warn("Snowplow: "+e)},s.getCssClasses=function(e){return e.className.match(/\S+/g)||[]},s.getFilter=function(e,t){if(Array.isArray(e)||!i(e))return function(){return!0};if(e.hasOwnProperty("filter"))return e.filter;var n=e.hasOwnProperty("whitelist"),r=e.whitelist||e.blacklist;Array.isArray(r)||(r=[r]);for(var a={},o=0;o<r.length;o++)a[r[o]]=!0;return t?function(e){return function(e,t){var n,r=s.getCssClasses(e);for(n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}(e,a)===n}:function(e){return e.name in a===n}},s.getTransform=function(e){return i(e)?e.hasOwnProperty("transform")?e.transform:function(e){return e}:function(e){return e}},s.decorateQuerystring=function(e,t,n){var r=t+"="+n,a=e.split("#"),o=a[0].split("?"),i=o.shift(),c=o.join("?");if(c){for(var s=!0,u=c.split("&"),l=0;l<u.length;l++)if(u[l].substr(0,t.length+1)===t+"="){s=!1,u[l]=r,c=u.join("&");break}s&&(c=r+"&"+c)}else c=r;return a[0]=i+"?"+c,a.join("#")},s.attemptGetLocalStorage=function(e){try{var t=localStorage.getItem(e+".expires");return null===t||+t>Date.now()?localStorage.getItem(e):(localStorage.removeItem(e),void localStorage.removeItem(e+".expires"))}catch(e){}},s.attemptWriteLocalStorage=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:63072e3;try{var r=Date.now()+1e3*n;return localStorage.setItem("".concat(e,".expires"),r),localStorage.setItem(e,t),!0}catch(e){return!1}},s.attemptGetSessionStorage=function(e){try{return sessionStorage.getItem(e)}catch(e){return}},s.attemptWriteSessionStorage=function(e,t){try{return sessionStorage.setItem(e,t),!0}catch(e){return!1}},s.findRootDomain=function(){for(var e="_sp_root_domain_test_",t=e+(new Date).getTime(),n="_test_value_"+(new Date).getTime(),r=window.location.hostname.split("."),a=r.length-1;0<=a;){var o=r.slice(a,r.length).join(".");if(s.cookie(t,n,0,"/",o),s.cookie(t)===n){s.deleteCookie(t,o);for(var i=s.getCookiesWithPrefix(e),c=0;c<i.length;c++)s.deleteCookie(i[c],o);return o}a-=1}return window.location.hostname},s.isValueInArray=function(e,t){for(var n=0;n<t.length;n++)if(t[n]===e)return!0;return!1},s.deleteCookie=function(e,t){s.cookie(e,"",-1,"/",t)},s.getCookiesWithPrefix=function(e){for(var t=document.cookie.split("; "),n=[],r=0;r<t.length;r++)t[r].substring(0,e.length)===e&&n.push(t[r]);return n},s.cookie=function(e,t,n,r,a,o,i){return 1<arguments.length?document.cookie=e+"="+encodeURIComponent(t)+(n?"; Expires="+new Date(+new Date+1e3*n).toUTCString():"")+(r?"; Path="+r:"")+(a?"; Domain="+a:"")+(o?"; SameSite="+o:"")+(i?"; Secure":""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])},s.parseInt=function(e){var t=parseInt(e);return isNaN(t)?void 0:t},s.parseFloat=function(e){var t=parseFloat(e);return isNaN(t)?void 0:t}}()},{"lodash/filter":119,"lodash/isObject":134,"lodash/isString":137,"lodash/isUndefined":140,"lodash/map":142}],172:[function(e,t,n){!function(){var r=e("./helpers");function a(e){var t,n;if(function(e){return new RegExp("^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$").test(e)}(e))try{return t=document.body.children[0].children[0].children[0].children[0].children[0].children[0].innerHTML,n="You have reached the cached page for",t.slice(0,n.length)===n}catch(e){return!1}}(void 0!==n?n:this).fixupUrl=function(e,t,n){return"translate.googleusercontent.com"===e?(""===n&&(n=t),t=function(e,t){var n=new RegExp("^(?:https?|ftp)(?::/*(?:[^?]+))([?][^#]+)").exec(e);return r.fromQuerystring(t,n[1])}(t,"u"),e=r.getHostName(t)):"cc.bingj.com"!==e&&"webcache.googleusercontent.com"!==e&&!a(e)||(t=document.links[0].href,e=r.getHostName(t)),[e,t,n]}}()},{"./helpers":171}],173:[function(e,t,n){var m=e("lodash/isUndefined"),v=e("./lib/helpers");(void 0!==n?n:this).getLinkTrackingManager=function(f,r,d){var a,o,p,i,c,s;function u(e,t){for(var n,r,a,o,i,c;null!==(n=e.parentNode)&&!m(n)&&"A"!==(r=e.tagName.toUpperCase())&&"AREA"!==r;)e=n;if(!m(e.href)){var s=e.hostname||v.getHostName(e.href),u=s.toLowerCase(),l=e.href.replace(s,u);new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto):","i").test(l)||(a=e.id,o=v.getCssClasses(e),i=e.target,c=p?e.innerHTML:null,l=unescape(l),f.trackLinkClick(l,a,o,i,c,d(v.resolveDynamicContexts(t,e))))}}function l(r){return function(e){var t,n;t=(e=e||window.event).which||e.button,n=e.target||e.srcElement,"click"===e.type?n&&u(n,r):"mousedown"===e.type?1!==t&&2!==t||!n?c=s=null:(c=t,s=n):"mouseup"===e.type&&(t===c&&n===s&&u(n,r),c=s=null)}}return{configureLinkClickTracking:function(e,t,n,r){p=n,i=r,o=t,a=v.getFilter(e,!0)},addClickListeners:function(){var e,t,n=document.links;for(e=0;e<n.length;e++)a(n[e])&&!n[e][r]&&(t=n[e],o?(v.addEventListener(t,"mouseup",l(i),!1),v.addEventListener(t,"mousedown",l(i),!1)):v.addEventListener(t,"click",l(i),!1),n[e][r]=!0)}}}},{"./lib/helpers":171,"lodash/isUndefined":140}],174:[function(e,t,n){!function(){var S=e("lodash/mapValues"),C=e("lodash/isString"),j=e("lodash/map"),O=e("./lib/detectors").localStorageAccessible,T=e("./lib/helpers");(void 0!==n?n:this).OutQueueManager=function(e,t,n,u,r,a,o,l,f,d){var p,m,v,h,g,y=!1,i=null===(r=r.toLowerCase?r.toLowerCase():r)||!0===r||"beacon"===r||"true"===r,_=Boolean(i&&navigator&&navigator.sendBeacon)&&i,b=("post"===r||_)&&!("get"===r),c=(b=b&&Boolean(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest))?a:"/i";if(o=O()&&u&&b&&o||1,p="snowplowOutQueue_".concat(e,"_").concat(t,"_").concat(b?"post2":"get"),h="spBeaconPreflight_".concat(e,"_").concat(t),u)try{v=JSON.parse(localStorage.getItem(p))}catch(e){}function s(e){var t=S(e,function(e){return e.toString()});return{evt:t,bytes:function(e){for(var t=0,n=0;n<e.length;n++){var r=e.charCodeAt(n);r<=127?t+=1:r<=2047?t+=2:55296<=r&&r<=57343?(t+=4,n++):t+=r<65535?3:4}return t}(JSON.stringify(t))}}function w(){for(;v.length&&"string"!=typeof v[0]&&"object"!==_typeof(v[0]);)v.shift();if(v.length<1)y=!1;else{if(!C(m))throw"No Snowplow collector configured, cannot track";y=!0;var e=v[0];if(b){var t=function(e){for(var t=0;t<e;t++)v.shift();u&&T.attemptWriteLocalStorage(p,JSON.stringify(v.slice(0,d))),w()},n=k(m),r=setTimeout(function(){n.abort(),y=!1},5e3),a=function(e){for(var t=0,n=0;t<e.length&&(n+=e[t].bytes,!(l<=n));)t+=1;return t}(v);n.onreadystatechange=function(){4===n.readyState&&200<=n.status&&n.status<400?(clearTimeout(r),_&&!g&&T.attemptWriteSessionStorage(h,!0),t(a)):4===n.readyState&&400<=n.status&&(clearTimeout(r),y=!1)};var o=j(v.slice(0,a),function(e){return e.evt});if(0<o.length){var i;if(g=g||_&&T.attemptGetSessionStorage(h)){var c=new Blob([A(x(o))],{type:"application/json"});try{i=navigator.sendBeacon(m,c)}catch(e){i=!1}}!0===i&&t(a),_&&i||n.send(A(x(o)))}}else{var s=new Image(1,1);s.onload=function(){v.shift(),u&&T.attemptWriteLocalStorage(p,JSON.stringify(v.slice(0,d))),w()},s.onerror=function(){y=!1},s.src=f?m+e.replace("?","?stm="+(new Date).getTime()+"&"):m+e}}}function k(e){var t=new XMLHttpRequest;return t.open("POST",e,!0),t.withCredentials=!0,t.setRequestHeader("Content-Type","application/json; charset=UTF-8"),t}function A(e){return JSON.stringify({schema:"iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4",data:e})}function x(e){for(var t=(new Date).getTime().toString(),n=0;n<e.length;n++)e[n].stm=t;return e}return Array.isArray(v)||(v=[]),n.outQueues.push(v),b&&1<o&&n.bufferFlushers.push(function(){y||w()}),{enqueueRequest:function(e,t){if(m=t+c,b){var n=s(e);if(n.bytes>=l)return T.warn("Event of size "+n.bytes+" is too long - the maximum size is "+l),void k(m).send(A(x([n.evt])));v.push(n)}else v.push(function(e){var t="?",n={co:!0,cx:!0},r=!0;for(var a in e)e.hasOwnProperty(a)&&!n.hasOwnProperty(a)&&(r?r=!1:t+="&",t+=encodeURIComponent(a)+"="+encodeURIComponent(e[a]));for(var o in n)e.hasOwnProperty(o)&&n.hasOwnProperty(o)&&(t+="&"+o+"="+encodeURIComponent(e[o]));return t}(e));var r=!1;u&&(r=T.attemptWriteLocalStorage(p,JSON.stringify(v.slice(0,d)))),y||r&&!(v.length>=o)||w()},executeQueue:w}}}()},{"./lib/detectors":170,"./lib/helpers":171,"lodash/isString":137,"lodash/map":142,"lodash/mapValues":143}],175:[function(e,t,n){!function(){e("uuid");var s=e("lodash/forEach"),u=e("lodash/filter"),l=e("./lib/helpers"),f=e("./in_queue"),d=e("./tracker");(void 0!==n?n:this).Snowplow=function(e,n){var t,r=document,a=window,o="js-2.14.0",i={outQueues:[],bufferFlushers:[],expireDateTime:null,hasLoaded:!1,registeredOnLoadHandlers:[],pageViewId:null};function c(){var e;if(!i.hasLoaded)for(i.hasLoaded=!0,e=0;e<i.registeredOnLoadHandlers.length;e++)i.registeredOnLoadHandlers[e]();return!0}return a.Snowplow={getTrackerCf:function(e){var t=new d.Tracker(n,"",o,i,{});return t.setCollectorCf(e),t},getTrackerUrl:function(e){var t=new d.Tracker(n,"",o,i,{});return t.setCollectorUrl(e),t},getAsyncTracker:function(){return new d.Tracker(n,"",o,i,{})}},l.addEventListener(a,"beforeunload",function(){var e;if(s(i.bufferFlushers,function(e){e()}),i.expireDateTime)do{if(e=new Date,0===u(i.outQueues,function(e){return 0<e.length}).length)break}while(e.getTime()<i.expireDateTime)},!1),r.addEventListener?l.addEventListener(r,"DOMContentLoaded",function e(){r.removeEventListener("DOMContentLoaded",e,!1),c()}):r.attachEvent&&(r.attachEvent("onreadystatechange",function e(){"complete"===r.readyState&&(r.detachEvent("onreadystatechange",e),c())}),r.documentElement.doScroll&&a===a.top&&function t(){if(!i.hasLoaded){try{r.documentElement.doScroll("left")}catch(e){return void setTimeout(t,0)}c()}}()),new RegExp("WebKit").test(navigator.userAgent)&&(t=setInterval(function(){(i.hasLoaded||/loaded|complete/.test(r.readyState))&&(clearInterval(t),c())},10)),l.addEventListener(a,"load",c,!1),new f.InQueueManager(d.Tracker,o,i,e,n)}}()},{"./in_queue":168,"./lib/helpers":171,"./tracker":176,"lodash/filter":119,"lodash/forEach":122,uuid:160}],176:[function(e,t,n){!function(){var at=e("lodash/forEach"),ot=e("lodash/map"),it=e("./lib/helpers"),ct=e("./lib/proxies"),st=e("./lib/detectors"),ut=e("sha1"),lt=e("./links"),ft=e("./forms"),dt=e("./errors"),pt=e("./out_queue"),mt=e("snowplow-tracker-core").trackerCore,vt=e("./guard").productionize,ht=e("uuid");(void 0!==n?n:this).Tracker=function(e,t,n,f,r){(r=r||{}).hasOwnProperty("post")?r.eventMethod=!0===r.post?"post":"get":r.eventMethod=r.eventMethod||"post",r.hasOwnProperty("useStm")||(r.useStm=!0);var m,a,v,d,o,i,h,c,p,s,u,l,g,y,_,b,w,k,A,x,S=Object.freeze({consent:"consent",contract:"contract",legalObligation:"legal_obligation",vitalInterests:"vital_interests",publicTask:"public_task",legitimateInterests:"legitimate_interests"}),C=mt(!0,function(e){!function(e){var t,n=Math.round((new Date).getTime()/1e3),r=Pe("id"),a=Pe("ses"),o=Ie("ses"),i=Ge(),c=i[0],s=i[1],u=i[2],l=i[3],f=i[4],d=i[5],p=i[6];t=!!h&&!!it.cookie(h);if((Q||t)&&"none"!=ae)return"localStorage"==ae?(it.attemptWriteLocalStorage(r,""),it.attemptWriteLocalStorage(a,"")):"cookie"!=ae&&"cookieAndLocalStorage"!=ae||(it.cookie(r,"",-1,K,H,W,J),it.cookie(a,"",-1,K,H,W,J));"0"===c?(b=p,o||"none"==ae||(l++,d=f,b=ht.v4()),le=l):(new Date).getTime()-se>1e3*X&&(b=ht.v4(),le++);e.add("vp",st.detectViewport()),e.add("ds",st.detectDocumentSize()),e.add("vid",le),e.add("sid",b),e.add("duid",s),e.add("uid",w),Se(),e.add("refr",Oe(m||F)),e.add("url",Oe(v||N)),"none"!=ae&&(Ue(s,u,le,n,d,b),ze());se=(new Date).getTime()}(e),function(e,t){var n,r=new Date;n=!!h&&!!it.cookie(h);Q||n||(ve.enqueueRequest(e.build(),a),f.expireDateTime=r.getTime()+t)}(e,R)}),j=!1,O={},T={},P={},I=document,E=window,D=navigator,L=ct.fixupUrl(I.domain,E.location.href,it.getReferrer()),M=it.fixupDomain(L[0]),N=L[1],F=L[2],z=r.hasOwnProperty("platform")?r.platform:"web",U=r.hasOwnProperty("postPath")?r.postPath:"/com.snowplowanalytics.snowplow/tp2",B=r.hasOwnProperty("appId")?r.appId:"",G=I.title,R=r.hasOwnProperty("pageUnloadTimer")?r.pageUnloadTimer:500,q=!r.hasOwnProperty("resetActivityTrackingOnPageView")||r.resetActivityTrackingOnPageView,V=r.hasOwnProperty("cookieName")?r.cookieName:"_sp_",H=r.hasOwnProperty("cookieDomain")?r.cookieDomain:null,K="/",W=r.hasOwnProperty("cookieSameSite")?r.cookieSameSite:"None",J=!r.hasOwnProperty("cookieSecure")||r.cookieSecure,Y=D.doNotTrack||D.msDoNotTrack||E.doNotTrack,Q=!!r.hasOwnProperty("respectDoNotTrack")&&(r.respectDoNotTrack&&("yes"===Y||"1"===Y)),$=r.hasOwnProperty("cookieLifetime")?r.cookieLifetime:63072e3,X=r.hasOwnProperty("sessionCookieTimeout")?r.sessionCookieTimeout:1800,Z=I.characterSet||I.charset,ee=!!r.hasOwnProperty("forceSecureTracker")&&!0===r.forceSecureTracker,te=!(ee||!r.hasOwnProperty("forceUnsecureTracker"))&&!0===r.forceUnsecureTracker,ne=!r.hasOwnProperty("useLocalStorage")||(it.warn("argmap.useLocalStorage is deprecated. Use argmap.stateStorageStrategy instead."),r.useLocalStorage),re=!r.hasOwnProperty("useCookies")||(it.warn("argmap.useCookies is deprecated. Use argmap.stateStorageStrategy instead."),r.useCookies),ae=r.hasOwnProperty("stateStorageStrategy")?r.stateStorageStrategy:re||ne?re&&ne?"cookieAndLocalStorage":re?"cookie":"localStorage":"none",oe=D.userLanguage||D.language,ie=st.detectBrowserFeatures("cookie"==ae||"cookieAndLocalStorage"==ae,Pe("testcookie")),ce=e+"_"+t,se=(new Date).getTime(),ue=ut,le=1,fe={transaction:{},items:[]},de=lt.getLinkTrackingManager(C,ce,qe),pe=ft.getFormTrackingManager(C,ce,qe),me=dt.errorManager(C),ve=new pt.OutQueueManager(e,t,f,"localStorage"==ae||"cookieAndLocalStorage"==ae,r.eventMethod,U,r.bufferSize,r.maxPostBytes||4e4,r.useStm,r.maxLocalStorageQueueSize||1e3),he=!1,ge=r.contexts||{},ye=[],_e=[],be=!1,we=!1,ke={enabled:!1,installed:!1,configurations:{}},Ae={};for(var xe in r.hasOwnProperty("discoverRootDomain")&&r.discoverRootDomain&&(H=it.findRootDomain()),ge.gaCookies&&ye.push((k={},at(["__utma","__utmb","__utmc","__utmv","__utmz","_ga"],function(e){var t=it.cookie(e);t&&(k[e]=t)}),{schema:"iglu:com.google.analytics/cookies/jsonschema/1-0-0",data:k})),ge.geolocation&&We(),C.setBase64Encoding(!r.hasOwnProperty("encodeBase64")||r.encodeBase64),C.setTrackerVersion(n),C.setTrackerNamespace(t),C.setAppId(B),C.setPlatform(z),C.setTimezone(st.detectTimezone()),C.addPayloadPair("lang",oe),C.addPayloadPair("cs",Z),ie)Object.prototype.hasOwnProperty.call(ie,xe)&&("res"===xe||"cd"===xe||"cookie"===xe?C.addPayloadPair(xe,ie[xe]):C.addPayloadPair("f_"+xe,ie[xe]));function Se(){(L=ct.fixupUrl(I.domain,E.location.href,it.getReferrer()))[1]!==N&&(F=it.getReferrer(N)),M=it.fixupDomain(L[0]),N=L[1]}function Ce(){var e=(new Date).getTime();this.href&&(this.href=it.decorateQuerystring(this.href,"_sp",_+"."+e))}function je(e){for(var t=0;t<I.links.length;t++){var n=I.links[t];!n.spDecorationEnabled&&e(n)&&(it.addEventListener(n,"click",Ce,!0),it.addEventListener(n,"mousedown",Ce,!0),n.spDecorationEnabled=!0)}}function Oe(e){var t;return o&&(t=new RegExp("#.*"),e=e.replace(t,"")),i&&(t=new RegExp("[{}]","g"),e=e.replace(t,"")),e}function Te(e){var t=new RegExp("^([a-z]+):").exec(e);return t?t[1]:null}function Pe(e){return V+e+"."+y}function Ie(e){var t=Pe(e);return"localStorage"==ae?it.attemptGetLocalStorage(t):"cookie"==ae||"cookieAndLocalStorage"==ae?it.cookie(t):void 0}function Ee(){Se(),y=ue((H||M)+(K||"/")).slice(0,4)}function De(){var e=new Date;p=e.getTime()}function Le(){!function(){var e=Me(),t=e[0];t<s?s=t:u<t&&(u=t);var n=e[1];n<l?l=n:g<n&&(g=n)}(),De()}function Me(){var e=I.compatMode&&"BackCompat"!==I.compatMode?I.documentElement:I.body;return[e.scrollLeft||E.pageXOffset,e.scrollTop||E.pageYOffset]}function Ne(){var e=Me(),t=e[0];u=s=t;var n=e[1];g=l=n}function Fe(e){var t=Math.round(e);if(!isNaN(t))return t}function ze(){Be(Pe("ses"),"*",X)}function Ue(e,t,n,r,a,o){Be(Pe("id"),e+"."+t+"."+n+"."+r+"."+a+"."+o,$)}function Be(e,t,n){"localStorage"==ae?it.attemptWriteLocalStorage(e,t,n):"cookie"!=ae&&"cookieAndLocalStorage"!=ae||it.cookie(e,t,n,K,H,W,J)}function Ge(){if("none"==ae)return[];var e,t=new Date,n=Math.round(t.getTime()/1e3),r=Ie("id");return r?(e=r.split(".")).unshift("0"):e=["1",_,n,0,n,""],e[6]||(e[6]=ht.v4()),e}function Re(e){return ee?"https://"+e:te?"http://"+e:("https:"===I.location.protocol?"https":"http")+"://"+e}function qe(e){var t=ye.concat(e||[]);if(ge.webPage&&t.push({schema:"iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0",data:{id:Ve()}}),ge.performanceTiming){var n=function(){var e=["navigationStart","redirectStart","redirectEnd","fetchStart","domainLookupStart","domainLookupEnd","connectStart","secureConnectionStart","connectEnd","requestStart","responseStart","responseEnd","unloadEventStart","unloadEventEnd","domLoading","domInteractive","domContentLoadedEventStart","domContentLoadedEventEnd","domComplete","loadEventStart","loadEventEnd","msFirstPaint","chromeFirstPaint","requestEnd","proxyStart","proxyEnd"],t=E.performance||E.mozPerformance||E.msPerformance||E.webkitPerformance;if(t){var n={};for(var r in t.timing)it.isValueInArray(r,e)&&null!==t.timing[r]&&(n[r]=t.timing[r]);return delete n.requestEnd,{schema:"iglu:org.w3/PerformanceTiming/jsonschema/1-0-0",data:n}}}();n&&t.push(n)}if(E.optimizely){if(ge.optimizelySummary){var r=ot(function(){var n=He("state"),r=He("experiments");return ot(n&&r&&n.activeExperiments,function(e){var t=r[e];return{activeExperimentId:e.toString(),variation:n.variationIdsMap[e][0].toString(),conditional:t&&t.conditional,manual:t&&t.manual,name:t&&t.name}})}(),function(e){return{schema:"iglu:com.optimizely.snowplow/optimizely_summary/jsonschema/1-0-0",data:e}});at(r,function(e){t.push(e)})}if(ge.optimizelyXSummary){r=ot(function(){var e=Ke("state"),t=e.getActiveExperimentIds(),o=e.getVariationMap(),i=Ke("visitor");return ot(t,function(e){var t=o[e],n=t&&t.name&&t.name.toString()||null,r=t&&t.id,a=i&&i.visitorId&&i.visitorId.toString()||null;return{experimentId:parseInt(e)||null,variationName:n,variation:parseInt(r)||null,visitorId:a}})}(),function(e){return{schema:"iglu:com.optimizely.optimizelyx/summary/jsonschema/1-0-0",data:e}});at(r,function(e){t.push(e)})}if(ge.optimizelyExperiments)for(var a=function(){var e=He("experiments");if(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r={};r.id=n;var a=e[n];r.code=a.code,r.manual=a.manual,r.conditional=a.conditional,r.name=a.name,r.variationIds=a.variation_ids,t.push({schema:"iglu:com.optimizely/experiment/jsonschema/1-0-0",data:r})}return t}return[]}(),o=0;o<a.length;o++)t.push(a[o]);if(ge.optimizelyStates){var i=function(){var e=[],t=He("experiments");if(t)for(var n in t)t.hasOwnProperty(n)&&e.push(n);var r=He("state");if(r){for(var a=[],o=r.activeExperiments||[],i=0;i<e.length;i++){var c=e[i],s={};s.experimentId=c,s.isActive=it.isValueInArray(e[i],o);var u=r.variationMap||{};s.variationIndex=u[c];var l=r.variationNamesMap||{};s.variationName=l[c];var f=r.variationIdsMap||{};f[c]&&1===f[c].length&&(s.variationId=f[c][0]),a.push({schema:"iglu:com.optimizely/state/jsonschema/1-0-0",data:s})}return a}return[]}();for(o=0;o<i.length;o++)t.push(i[o])}if(ge.optimizelyVariations){var c=function(){var e=He("variations");if(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r={};r.id=n;var a=e[n];r.name=a.name,r.code=a.code,t.push({schema:"iglu:com.optimizely/variation/jsonschema/1-0-0",data:r})}return t}return[]}();for(o=0;o<c.length;o++)t.push(c[o])}if(ge.optimizelyVisitor){var s=function(){var e=He("visitor");if(e){var t={};t.browser=e.browser,t.browserVersion=e.browserVersion,t.device=e.device,t.deviceType=e.deviceType,t.ip=e.ip;var n=e.platform||{};t.platformId=n.id,t.platformVersion=n.version;var r=e.location||{};return t.locationCity=r.city,t.locationRegion=r.region,t.locationCountry=r.country,t.mobile=e.mobile,t.mobileId=e.mobileId,t.referrer=e.referrer,t.os=e.os,{schema:"iglu:com.optimizely/visitor/jsonschema/1-0-0",data:t}}}();s&&t.push(s)}if(ge.optimizelyAudiences){var u=function(){var e=He("visitor","audiences");if(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r={id:n,isMember:e[n]};t.push({schema:"iglu:com.optimizely/visitor_audience/jsonschema/1-0-0",data:r})}return t}return[]}();for(o=0;o<u.length;o++)t.push(u[o])}if(ge.optimizelyDimensions){var l=function(){var e=He("visitor","dimensions");if(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r={id:n,value:e[n]};t.push({schema:"iglu:com.optimizely/visitor_dimension/jsonschema/1-0-0",data:r})}return t}return[]}();for(o=0;o<l.length;o++)t.push(l[o])}}if(ge.parrable){var f=function(){var e=window._hawk;if(e){var t={encryptedId:null,optout:null};t.encryptedId=e.browserid;var n=new RegExp("(?:^|;)\\s?"+"_parrable_hawk_optout".replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")+"=(.*?)(?:;|$)","i"),r=document.cookie.match(n);return t.optout=r&&decodeURIComponent(r[1])?r&&decodeURIComponent(r[1]):"false",{schema:"iglu:com.parrable/encrypted_payload/jsonschema/1-0-0",data:t}}}();f&&t.push(f)}if(ge.gdprBasis&&Ae.gdprBasis){var d=function(){if(Ae.gdprBasis)return{schema:"iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0",data:{basisForProcessing:Ae.gdprBasis,documentId:Ae.gdprDocId||null,documentVersion:Ae.gdprDocVer||null,documentDescription:Ae.gdprDocDesc||null}}}();d&&t.push(d)}return t}function Ve(){return null==f.pageViewId&&(f.pageViewId=ht.v4()),f.pageViewId}function He(e,t){var n;return E.optimizely&&E.optimizely.data&&(n=E.optimizely.data[e],void 0!==t&&void 0!==n&&(n=n[t])),n}function Ke(e,t){var n;return E.optimizely&&"function"==typeof E.optimizely.get&&(n=E.optimizely.get(e),void 0!==t&&void 0!==n&&(n=n[t])),n}function We(){!he&&D.geolocation&&D.geolocation.getCurrentPosition&&(he=!0,D.geolocation.getCurrentPosition(function(e){var t=e.coords,n={schema:"iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0",data:{latitude:t.latitude,longitude:t.longitude,latitudeLongitudeAccuracy:t.accuracy,altitude:t.altitude,altitudeAccuracy:t.altitudeAccuracy,bearing:t.heading,speed:t.speed,timestamp:Math.round(e.timestamp)}};ye.push(n)}))}function Je(e,t){return(e||[]).concat(t?t():[])}function Ye(e,t,n,r){Se(),we&&(be&&null!=f.pageViewId||(f.pageViewId=ht.v4())),we=!0,G=I.title,d=e;var a=it.fixupTitle(d||G);C.trackPageView(Oe(v||N),a,Oe(m||F),qe(Je(t,n)),r);var o=new Date,i=!1;if(ke.enabled&&!ke.installed){i=ke.installed=!0;var c={update:function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),c.hasSupport=e}}};c.update();var s="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";Object.prototype.hasOwnProperty.call(c,"hasSupport")?it.addEventListener(I,s,De,{passive:!0}):it.addEventListener(I,s,De),Ne(),it.addEventListener(I,"click",De),it.addEventListener(I,"mouseup",De),it.addEventListener(I,"mousedown",De),it.addEventListener(I,"mousemove",De),it.addEventListener(E,"scroll",Le),it.addEventListener(I,"keypress",De),it.addEventListener(I,"keydown",De),it.addEventListener(I,"keyup",De),it.addEventListener(E,"resize",De),it.addEventListener(E,"focus",De),it.addEventListener(E,"blur",De)}if(ke.enabled&&(q||i))for(var u in p=o.getTime(),ke.configurations)if(ke.configurations.hasOwnProperty(u)){var l=ke.configurations[u];clearInterval(l.activityInterval),l.activityInterval=Qe(_objectSpread({},l,{configLastActivityTime:p,context:Je(t,n)}))}}function Qe(e){var t=e.configHeartBeatTimer,n=e.configMinimumVisitLength,r=e.configLastActivityTime,a=e.callback,o=e.context;return setInterval(function(){var e=new Date;p+t>e.getTime()&&r+1e3*n<e.getTime()&&(Se(),a({context:o,pageViewId:Ve(),minXOffset:s,minYOffset:l,maxXOffset:u,maxYOffset:g}),Ne())},t)}function $e(e,t,n){return e===parseInt(e,10)&&t===parseInt(t,10)?{configMinimumVisitLength:e,configHeartBeatTimer:1e3*t,activityInterval:null,callback:n}:(it.warn("Activity tracking not enabled, please provide integer values for minimumVisitLength and heartBeatDelay."),{})}function Xe(e){var t=e.context,n=e.minXOffset,r=e.minYOffset,a=e.maxXOffset,o=e.maxYOffset,i=I.title;i!==G&&(G=i,d=null),C.trackPagePing(Oe(v||N),it.fixupTitle(d||G),Oe(m||F),Fe(n),Fe(a),Fe(r),Fe(o),qe(t))}function Ze(e,t){return""!==e?e+t.charAt(0).toUpperCase()+t.slice(1):t}function et(t){var e,n,r,a=["","webkit","ms","moz"];if(!c)for(n=0;n<a.length;n++){if(I[Ze(r=a[n],"hidden")]){"prerender"===I[Ze(r,"visibilityState")]&&(e=!0);break}if(!1===I[Ze(r,"hidden")])break}e?it.addEventListener(I,r+"visibilitychange",function e(){I.removeEventListener(r+"visibilitychange",e,!1),t()}):t()}function tt(){P=j?O:T}Ee(),A="none"!=ae&&!!Ie("ses"),(x=Ge())[1]?_=x[1]:(_=ht.v4(),x[1]=_),b=x[6],A||(x[3]++,b=ht.v4(),x[6]=b,x[5]=x[4]),"none"!=ae&&(ze(),x[4]=Math.round((new Date).getTime()/1e3),x.shift(),Ue.apply(null,x)),r.crossDomainLinker&&je(r.crossDomainLinker);var nt="User Fingerprinting is no longer supported. This function will be removed in a future release.",rt=" is deprecated. Instead use the argmap argument on tracker initialisation: ";return O.getDomainSessionIndex=function(){return le},O.getPageViewId=function(){return Ve()},O.newSession=function(){var e=Math.round((new Date).getTime()/1e3),t=(Ie("ses"),Ge()),n=t[0],r=t[1],a=t[2],o=t[3],i=t[4],c=t[5],s=t[6];"0"===n?(b=s,"none"!=ae&&(o++,c=i,b=ht.v4()),le=o,ze()):(b=ht.v4(),le++),"none"!=ae&&(Ue(r,a,le,e,c,b),ze()),se=(new Date).getTime()},O.getCookieName=function(e){return Pe(e)},O.getUserId=function(){return w},O.getDomainUserId=function(){return Ge()[1]},O.getDomainUserInfo=function(){return Ge()},O.getUserFingerprint=function(){return it.warn(nt),0},O.setAppId=function(e){it.warn("setAppId"+rt+"appId"),C.setAppId(e)},O.setReferrerUrl=function(e){m=e},O.setCustomUrl=function(e){Se(),v=function(e,t){var n;return Te(t)?t:"/"===t.slice(0,1)?Te(e)+"://"+it.getHostName(e)+t:(0<=(n=(e=Oe(e)).indexOf("?"))&&(e=e.slice(0,n)),(n=e.lastIndexOf("/"))!==e.length-1&&(e=e.slice(0,n+1)),e+t)}(N,e)},O.setDocumentTitle=function(e){G=I.title,d=e},O.discardHashTag=function(e){o=e},O.discardBrace=function(e){i=e},O.setCookieNamePrefix=function(e){it.warn("setCookieNamePrefix"+rt+"cookieName"),V=e},O.setCookieDomain=function(e){it.warn("setCookieDomain"+rt+"cookieDomain"),H=it.fixupDomain(e),Ee()},O.setCookiePath=function(e){K=e,Ee()},O.setVisitorCookieTimeout=function(e){$=e},O.setSessionCookieTimeout=function(e){it.warn("setSessionCookieTimeout"+rt+"sessionCookieTimeout"),X=e},O.setUserFingerprintSeed=function(){it.warn(nt)},O.enableUserFingerprint=function(){it.warn(nt)},O.respectDoNotTrack=function(e){it.warn("respectDoNotTrack"+rt+"respectDoNotTrack");var t=D.doNotTrack||D.msDoNotTrack;Q=e&&("yes"===t||"1"===t)},O.crossDomainLinker=function(e){je(e)},O.enableLinkClickTracking=function(e,t,n,r){f.hasLoaded?(de.configureLinkClickTracking(e,t,n,r),de.addClickListeners()):f.registeredOnLoadHandlers.push(function(){de.configureLinkClickTracking(e,t,n,r),de.addClickListeners()})},O.refreshLinkClickTracking=function(){f.hasLoaded?de.addClickListeners():f.registeredOnLoadHandlers.push(function(){de.addClickListeners()})},O.enableActivityTracking=function(e,t){ke.enabled=!0,ke.configurations.pagePing=$e(e,t,Xe)},O.enableActivityTrackingCallback=function(e,t,n){ke.enabled=!0,ke.configurations.callback=$e(e,t,n)},O.updatePageActivity=function(){De()},O.enableFormTracking=function(e,t){f.hasLoaded?(pe.configureFormTracking(e),pe.addFormListeners(t)):f.registeredOnLoadHandlers.push(function(){pe.configureFormTracking(e),pe.addFormListeners(t)})},O.killFrame=function(){E.location!==E.top.location&&(E.top.location=E.location)},O.redirectFile=function(e){"file:"===E.location.protocol&&(E.location=e)},O.setOptOutCookie=function(e){h=e},O.setCountPreRendered=function(e){c=e},O.setUserId=function(e){w=e},O.identifyUser=function(e){setUserId(e)},O.setUserIdFromLocation=function(e){Se(),w=it.fromQuerystring(e,N)},O.setUserIdFromReferrer=function(e){Se(),w=it.fromQuerystring(e,F)},O.setUserIdFromCookie=function(e){w=it.cookie(e)},O.setCollectorCf=function(e){a=function(e){return Re(e+".cloudfront.net")}(e)},O.setCollectorUrl=function(e){a=Re(e)},O.setPlatform=function(e){it.warn("setPlatform"+rt+"platform"),C.setPlatform(e)},O.encodeBase64=function(e){it.warn("encodeBase64"+rt+"encodeBase64"),C.setBase64Encoding(e)},O.flushBuffer=function(){ve.executeQueue()},O.enableGeolocationContext=We,O.trackPageView=function(e,t,n,r){et(function(){Ye(e,t,n,r)})},O.trackStructEvent=function(e,t,n,r,a,o,i){et(function(){C.trackStructEvent(e,t,n,r,a,qe(o),i)})},O.trackSelfDescribingEvent=function(e,t,n){et(function(){C.trackSelfDescribingEvent(e,qe(t),n)})},O.trackUnstructEvent=function(e,t,n){et(function(){C.trackSelfDescribingEvent(e,qe(t),n)})},O.addTrans=function(e,t,n,r,a,o,i,c,s,u,l){fe.transaction={orderId:e,affiliation:t,total:n,tax:r,shipping:a,city:o,state:i,country:c,currency:s,context:u,tstamp:l}},O.addItem=function(e,t,n,r,a,o,i,c,s){fe.items.push({orderId:e,sku:t,name:n,category:r,price:a,quantity:o,currency:i,context:c,tstamp:s})},O.trackTrans=function(){et(function(){!function(e,t,n,r,a,o,i,c,s,u,l){C.trackEcommerceTransaction(e,t,n,r,a,o,i,c,s,qe(u),l)}(fe.transaction.orderId,fe.transaction.affiliation,fe.transaction.total,fe.transaction.tax,fe.transaction.shipping,fe.transaction.city,fe.transaction.state,fe.transaction.country,fe.transaction.currency,fe.transaction.context,fe.transaction.tstamp);for(var e=0;e<fe.items.length;e++){var t=fe.items[e];n=t.orderId,r=t.sku,a=t.name,o=t.category,i=t.price,c=t.quantity,s=t.currency,u=t.context,l=t.tstamp,C.trackEcommerceTransactionItem(n,r,a,o,i,c,s,qe(u),l)}var n,r,a,o,i,c,s,u,l;fe={transaction:{},items:[]}})},O.trackLinkClick=function(e,t,n,r,a,o,i){et(function(){C.trackLinkClick(e,t,n,r,a,qe(o),i)})},O.trackAdImpression=function(e,t,n,r,a,o,i,c,s,u){et(function(){C.trackAdImpression(e,t,n,r,a,o,i,c,qe(s),u)})},O.trackAdClick=function(e,t,n,r,a,o,i,c,s,u,l){et(function(){C.trackAdClick(e,t,n,r,a,o,i,c,s,qe(u),l)})},O.trackAdConversion=function(e,t,n,r,a,o,i,c,s,u,l){et(function(){C.trackAdConversion(e,t,n,r,a,o,i,c,s,qe(u),l)})},O.trackSocialInteraction=function(e,t,n,r,a){et(function(){C.trackSocialInteraction(e,t,n,qe(r),a)})},O.trackAddToCart=function(e,t,n,r,a,o,i,c){et(function(){C.trackAddToCart(e,t,n,r,a,o,qe(i),c)})},O.trackRemoveFromCart=function(e,t,n,r,a,o,i,c){et(function(){C.trackRemoveFromCart(e,t,n,r,a,o,qe(i),c)})},O.trackSiteSearch=function(e,t,n,r,a,o){et(function(){C.trackSiteSearch(e,t,n,r,qe(a),o)})},O.trackTiming=function(e,t,n,r,a,o){et(function(){C.trackSelfDescribingEvent({schema:"iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0",data:{category:e,variable:t,timing:n,label:r}},qe(a),o)})},O.trackConsentWithdrawn=function(e,t,n,r,a,o,i){et(function(){C.trackConsentWithdrawn(e,t,n,r,a,qe(o),i)})},O.trackConsentGranted=function(e,t,n,r,a,o,i){et(function(){C.trackConsentGranted(e,t,n,r,a,qe(o),i)})},O.trackEnhancedEcommerceAction=function(e,t,n){var r=_e.concat(t||[]);_e.length=0,et(function(){C.trackSelfDescribingEvent({schema:"iglu:com.google.analytics.enhanced-ecommerce/action/jsonschema/1-0-0",data:{action:e}},qe(r),n)})},O.addEnhancedEcommerceActionContext=function(e,t,n,r,a,o,i,c,s,u){_e.push({schema:"iglu:com.google.analytics.enhanced-ecommerce/actionFieldObject/jsonschema/1-0-0",data:{id:e,affiliation:t,revenue:it.parseFloat(n),tax:it.parseFloat(r),shipping:it.parseFloat(a),coupon:o,list:i,step:it.parseInt(c),option:s,currency:u}})},O.addEnhancedEcommerceImpressionContext=function(e,t,n,r,a,o,i,c,s){_e.push({schema:"iglu:com.google.analytics.enhanced-ecommerce/impressionFieldObject/jsonschema/1-0-0",data:{id:e,name:t,list:n,brand:r,category:a,variant:o,position:it.parseInt(i),price:it.parseFloat(c),currency:s}})},O.addEnhancedEcommerceProductContext=function(e,t,n,r,a,o,i,c,s,u,l){_e.push({schema:"iglu:com.google.analytics.enhanced-ecommerce/productFieldObject/jsonschema/1-0-0",data:{id:e,name:t,list:n,brand:r,category:a,variant:o,price:it.parseFloat(i),quantity:it.parseInt(c),coupon:s,position:it.parseInt(u),currency:l}})},O.addEnhancedEcommercePromoContext=function(e,t,n,r,a){_e.push({schema:"iglu:com.google.analytics.enhanced-ecommerce/promoFieldObject/jsonschema/1-0-0",data:{id:e,name:t,creative:n,position:r,currency:a}})},O.enableGdprContext=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,a=S[e];a?(ge.gdprBasis=!0,Ae={gdprBasis:a,gdprDocId:t,gdprDocVer:n,gdprDocDesc:r}):it.warn("enableGdprContext failed. basisForProcessing must be set to one of: consent, legalObligation, vitalInterests publicTask, legitimateInterests")},O.addGlobalContexts=function(e){C.addGlobalContexts(e)},O.removeGlobalContexts=function(e){C.removeGlobalContexts(e)},O.clearGlobalContexts=function(){C.clearGlobalContexts()},O.enableErrorTracking=function(e,t){me.enableErrorTracking(e,t,qe())},O.trackError=function(e,t,n,r,a,o){var i=qe(o);me.trackError(e,t,n,r,a,i)},O.preservePageViewId=function(){be=!0},O.setDebug=function(e){j=Boolean(e).valueOf(),tt()},T=vt(O),tt(),P}}()},{"./errors":165,"./forms":166,"./guard":167,"./lib/detectors":170,"./lib/helpers":171,"./lib/proxies":172,"./links":173,"./out_queue":174,"lodash/forEach":122,"lodash/map":142,sha1:152,"snowplow-tracker-core":153,uuid:160}]},{},[169]);
\ No newline at end of file
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Projects::ProductAnalyticsController do
let_it_be(:project) { create(:project) }
let_it_be(:user) { create(:user) }
before(:all) do
project.add_maintainer(user)
end
before do
sign_in(user)
stub_feature_flags(product_analytics: true)
end
describe 'GET #index' do
it 'renders index with 200 status code' do
get :index, params: project_params
expect(response).to have_gitlab_http_status(:ok)
expect(response).to render_template(:index)
end
context 'with an anonymous user' do
before do
sign_out(user)
end
it 'redirects to sign-in page' do
get :index, params: project_params
expect(response).to redirect_to(new_user_session_path)
end
end
context 'feature flag disabled' do
before do
stub_feature_flags(product_analytics: false)
end
it 'returns not found' do
get :index, params: project_params
expect(response).to have_gitlab_http_status(:not_found)
end
end
end
describe 'GET #test' do
it 'renders test with 200 status code' do
get :test, params: project_params
expect(response).to have_gitlab_http_status(:ok)
expect(response).to render_template(:test)
end
end
describe 'GET #setup' do
it 'renders setup with 200 status code' do
get :setup, params: project_params
expect(response).to have_gitlab_http_status(:ok)
expect(response).to render_template(:setup)
end
end
private
def project_params(opts = {})
opts.reverse_merge(namespace_id: project.namespace, project_id: project)
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Product Analytics > Events' do
let_it_be(:project) { create(:project_empty_repo) }
let_it_be(:user) { create(:user) }
let(:event) { create(:product_analytics_event, project: project) }
before do
project.add_maintainer(user)
sign_in(user)
end
it 'shows no events message' do
visit(project_product_analytics_path(project))
expect(page).to have_content('There are currently no events')
end
it 'shows events' do
event
visit(project_product_analytics_path(project))
expect(page).to have_content('dvce_created_tstamp')
expect(page).to have_content(event.event_id)
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Product Analytics > Setup' do
let_it_be(:project) { create(:project_empty_repo) }
let_it_be(:user) { create(:user) }
before do
project.add_maintainer(user)
sign_in(user)
end
it 'shows the setup instructions' do
visit(setup_project_product_analytics_path(project))
expect(page).to have_content('Copy the code below to implement tracking in your application')
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Product Analytics > Test' do
let_it_be(:project) { create(:project_empty_repo) }
let_it_be(:user) { create(:user) }
before do
project.add_maintainer(user)
sign_in(user)
end
it 'says it sends a payload' do
visit(test_project_product_analytics_path(project))
expect(page).to have_content('This page sends a payload.')
end
it 'shows the last event if there is one' do
event = create(:product_analytics_event, project: project)
visit(test_project_product_analytics_path(project))
expect(page).to have_content(event.event_id)
end
end
......@@ -518,6 +518,7 @@ project:
- build_report_results
- vulnerability_statistic
- vulnerability_historical_statistics
- product_analytics_events
award_emoji:
- awardable
- user
......
# frozen_string_literal: true
require "spec_helper"
RSpec.describe ProductAnalytics::Tracker do
it { expect(described_class::URL).to eq('http://localhost/-/sp.js') }
it { expect(described_class::COLLECTOR_URL).to eq('localhost/-/collector') }
end
......@@ -67,6 +67,7 @@ RSpec.shared_context 'project navbar structure' do
_('Incidents'),
_('Environments'),
_('Error Tracking'),
_('Product Analytics'),
_('Serverless'),
_('Logs'),
_('Kubernetes')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment