__webpack_require__.r(__webpack_exports__);
var devContent = {
    bannersMode: "CHRISTMAS_1",
    yotpoHeader: "See what our customers say",
    instagramGallery: {
        show: true,
        instagramIcon: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/0dba6a9976002df005067cbc448d2122.png",
        },
        images: [
            "B3fUiOGHi7D",
            "B2ha_euHMpH",
            "B2z4Ru0H8Sc",
            "B20dmQNHT7r",
            "B3fUYrXnBun",
            "B2e9ePUn-t5",
            "B2mkdINHjYe",
            "B2zc5Yhni4L",
            "B2zi4C0nc4V",
            "B2zi_pkH0UA",
        ],
    },
    oldChristmasBanner: {
        color: "#dd6060",
        textColor: "#ffffff",
        showSnow: true,
        icon: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/ea1645843e900e69c166a09596ae25c8.png",
        },
        text: "Wash Wizard kills 99.2% of **viruses** and gets **safely** delivered to your home!",
    },
    promoLayout: {
        banner: {
            textLeft: "CYBER **MONDAY**",
            textRight: "**SAVE 55%**",
            textRight2: "WHILE SUPPLIES LAST",
        },
        discount: {
            save: "SAVE*",
            discount: "55%",
            barcodeIcon: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/9819e485adfbd77c5bae11db5ea1935c.svg",
            },
            header: "**CHRISTMAS**",
            subheader: "*WHILE SUPPLIES LAST",
        },
    },
    header: {
        logo: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/b8f78cfcb558ec9405eb316788fedde3.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/b8f78cfcb558ec9405eb316788fedde3.webp",
        },
        bbb: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/f0759af943116db2dcb8563e7548f7bf.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/f0759af943116db2dcb8563e7548f7bf.webp",
        },
        ssl: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/7cdb6d6aaae6b65b0fcac2ca49381c1b.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/7cdb6d6aaae6b65b0fcac2ca49381c1b.webp",
        },
        flags: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/ee4028a236d480139910ae0b773bffca.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/ee4028a236d480139910ae0b773bffca.webp",
        },
        contactUs: "Contact Us:",
        email: "support@ecoclearair.com",
    },
    paymentMethod: {
        fastPaypalOrderFlow: true,
        tef: {
            src: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/929dd523e0e30112c00269b1b51a430c.svg",
            },
        },
        boleto: {
            text: "Boleto",
            src: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/4655215975423f697fe0b6ebf351e9ad.png",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/4655215975423f697fe0b6ebf351e9ad.webp",
            },
        },
        step: "PAYMENT METHOD",
        creditCard: {
            cardImages: [
                {
                    svg: "https://d3hlrrbqydii6y.cloudfront.net/img/df3212640d7c9d2a3d6fe1f3ec9de30e.svg",
                },
                {
                    svg: "https://d3hlrrbqydii6y.cloudfront.net/img/8673ede7042b84d1fd8d108b74c9a37d.svg",
                },
                {
                    svg: "https://d3hlrrbqydii6y.cloudfront.net/img/1f532a35a687f3e4f25032fa3a13b082.svg",
                },
                {
                    svg: "https://d3hlrrbqydii6y.cloudfront.net/img/caf74c63900d67780d13968009ca75b4.svg",
                },
            ],
            text: "Credit Card",
        },
        paypal: {
            src: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/2ac5a4cd0328e0a41695b02464afa541.png",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/2ac5a4cd0328e0a41695b02464afa541.webp",
            },
            text: "PayPal",
        },
        sezzle: {
            isOn: true,
            src: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/ec4299df2cfc1e26d1ee068a54d36157.png",
            },
            whiteSrc: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/37cffed0147c5b987145c15c00c4dff6.png",
            },
            text: "Pay Only ${price} Today (4\u00A0Interest-Free Payments)",
        },
    },
    productBox: {
        features: [
            "Stop Being Frustrated: Get Foul Odors Out of Your Home Today",
            "It's So Easy - Place Clear Air Anywhere You Have Odors and They Will Vanish",
            "Small, Simple, & Convenient — This Non-Toxic & Eco-Friendly Device Is Safe For The Whole Family, Including Pets!",
            "No More Headaches from Fake Scents & Chemical Sprays: Just Fresh Clean Air in Your Home",
        ],
        icon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/30d860ebf3ec244953820aee754bb2e7.svg",
        },
        gallery: {
            list: [
                {
                    jpeg: "https://images-na.ssl-images-amazon.com/images/I/71S5eMsRgOL._SX522_.jpg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/7341b969048b2026bef77cc1216f82da.webp",
                },
                {
                    jpeg: "https://images-na.ssl-images-amazon.com/images/I/71NRdp4wFIL._SX522_.jpg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/7341b969048b2026bef77cc1216f82da.webp",
                },
                {
                    wistia: "hsosgzn99n",
                },
            ],
            mediaSize: 400,
            menu: {
                optionSize: 50,
                outlineColor: "black",
            },
        },
        header: "Get Rid of Foul Odors Once and For All (Without Harmful Chemical Sprays)",
    },
    timer: {
        text: "Clear Air has been in high demand and inventory is limited. We have reserved your order for the next minutes.",
        minutes: "10",
        alt: "Clear Air has been in high demand and inventory is limited. We have reserved your order for the next 00:00 minutes.",
        icon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/c200e27a3d98c72c88a75ab2cdf5e569.svg",
        },
    },
    discount: {
        header: "Your {discount}% Discount Has Been Applied",
        subheader: "Your Order Qualifies For **FREE SHIPPING** When Ordered TODAY.",
    },
    productList: {
        step: "SELECT ORDER QUANTITY",
        bestseller: "BEST SELLER",
        bestValue: "Best Value",
        each: "Each",
        eachIncluding: "Each Including",
        freeShipping: "FREE SHIPPING",
        inStock: "In Stock",
        onlineOnly: "Online Only",
        product: "Clear Air",
        products: "Clear Airs",
        save: "Save",
        shipping: "Shipping",
        unitPrice: 24.9,
        strikethroughPrice: true,
    },
    comments: [
        {
            avatar: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/34ffb0c34b1ec6772ae378a4358ca2df.png",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/34ffb0c34b1ec6772ae378a4358ca2df.webp",
            },
            message: "I have had really bad allergies for years and no matter what I try, I can’t seem to get rid of them… until I tried these Clear Air bags. These things are miracles!!! 😍",
            time: "1h",
            likes: 43,
            reactions: [
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.webp",
                },
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/09b48df15f09c7f7f2f3fc3ba90a67b9.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/09b48df15f09c7f7f2f3fc3ba90a67b9.webp",
                },
            ],
            person: "Gracie Williams",
        },
        {
            message: "I hung one behind my AC air filter, it seems like a new house 😊",
            person: "Ruth Dillon",
            avatar: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/b045d3c3056d1ec7eae395e82577cbf3.png",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/b045d3c3056d1ec7eae395e82577cbf3.webp",
            },
            time: "3h",
            likes: 134,
            reactions: [
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.webp",
                },
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/802e6339a258ed94fe26fca6928a9de5.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/802e6339a258ed94fe26fca6928a9de5.webp",
                },
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/09b48df15f09c7f7f2f3fc3ba90a67b9.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/09b48df15f09c7f7f2f3fc3ba90a67b9.webp",
                },
            ],
        },
        {
            avatar: {
                png: "https://d3hlrrbqydii6y.cloudfront.net/img/d8d932d29a27d4d72edb6ff3d48dc849.png",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/d8d932d29a27d4d72edb6ff3d48dc849.webp",
            },
            message: "My bathroom has a really musty smell that I could never get rid of and I can see some mold in the corners as well. I bought these Purifiers bags not knowing what to expect but it seems to be really working!",
            time: "1d",
            likes: 27,
            reactions: [
                {
                    png: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.png",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/6731e3450749285776e0a900782e271c.webp",
                },
            ],
            person: "Esther Tran",
        },
    ],
    customerInformation: {
        step: "CUSTOMER INFORMATION",
        sayAbout: "What Customers say about Clear Air:",
    },
    shippingInformation: {
        step: "SHIPPING INFORMATION",
    },
    billingAddress: {
        step: "BILLING ADDRESS",
        differentBillingAddress: "Use a different billing address.",
        sameBillingAddress: "Same as shipping address.",
    },
    orderSummary: {
        step: "ORDER SUMMARY",
        purseIcon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/3c4a2578938109f6c018761baa8d2eeb.svg",
        },
        warranty: "**One Time Offer:** By placing your order today you can have a lifetime protection and replacement warranty for only an additional {price}. This extended warranty means your product is covered for LIFE.",
        lifetimeProtection: "Yes, I want Lifetime Protection",
        beforeTaxes: "before taxes",
        free: "FREE",
        shipping: "Shipping",
        total: "TOTAL",
        cta: "YES! Send me my Clear Airs!",
        securityIcon: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/2cde1a569725f1db5a5ebd28b9b7a716.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/2cde1a569725f1db5a5ebd28b9b7a716.webp",
        },
        encyptionIcon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/49749a807c2b5fd82a3258cfaaa872d7.svg",
        },
        encryption: "Secure 256-bit SSL encryption",
        medal: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/8816191b06c60323c080d111cc319b97.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/8816191b06c60323c080d111cc319b97.webp",
        },
        pulsingButton: false,
        warrantyPrecheck: false,
        guarantee: "**30 DAY GUARANTEE:** If you are not completely thrilled with your Clear Air - We have a 30 day satisfaction guarantee. Please refer to our [return policy here](http://ecoclearair.com/returns.jpg) or at the bottom of the page for more details. Happy Shopping!",
    },
    form: {
        firstName: {
            props: {
                placeholder: "First Name",
                name: "firstName",
            },
            errorMessage: "This Field Is Required",
        },
        lastName: {
            props: {
                placeholder: "Last Name",
                name: "lastName",
            },
            errorMessage: "This Field Is Required",
        },
        emailAddress: {
            props: {
                placeholder: "E-mail",
                name: "emailAddress",
            },
            errorMessage: "Please Enter A Valid Email Address",
        },
        phoneNumber: {
            props: {
                placeholder: "Phone",
                name: "phoneNumber",
            },
            errorMessage: "Please Enter A Valid Phone Number",
        },
        address: {
            props: {
                placeholder: "Street Address",
                name: "address",
            },
            errorMessage: "Please Enter A Valid Street Address",
        },
        address2: {
            props: {
                placeholder: "Apartment or Suite (Optional)",
                name: "address2",
            },
            errorMessage: "Please Enter A Valid Street Address",
        },
        streetName: {
            props: {
                placeholder: "Street name",
                name: "streetName",
            },
            errorMessage: "Please Enter A Valid Street Name",
        },
        streetNumber: {
            props: {
                placeholder: "Street number",
                name: "streetNumber",
            },
            errorMessage: "Please Enter A Valid Street Number",
        },
        brasilPostalCode: {
            props: {
                placeholder: "Postal code",
                name: "brasilPostalCode",
            },
            errorMessage: "Please Enter A Valid Postal Code",
        },
        city: {
            props: {
                placeholder: "City",
                name: "city",
            },
            errorMessage: "Please Enter A Valid City",
        },
        state: {
            props: {
                placeholder: "State",
                name: "state",
            },
            errorMessage: "This Field Is Required",
        },
        postalCode: {
            props: {
                placeholder: "Postal Code",
                name: "postalCode",
            },
            errorMessage: "Please Enter A Valid Postal Code",
        },
        brasilTaxpayerCode: {
            props: {
                placeholder: "Taxpayer ID (CPF)",
                name: "brasilTaxpayerCode",
            },
            errorMessage: "Please Enter A Valid CPF Code",
        },
        billingFirstName: {
            props: {
                placeholder: "First Name",
                name: "billingFirstName",
            },
            errorMessage: "This Field Is Required",
        },
        billingLastName: {
            props: {
                placeholder: "Kutaso El Graso",
                name: "billingLastName",
            },
            errorMessage: "Pizdota Dupara.",
        },
        billingPhoneNumber: {
            props: {
                placeholder: "Phone",
                name: "billingPhoneNumber",
            },
            errorMessage: "Please Enter A Valid Phone Number",
        },
        billingAddress: {
            props: {
                placeholder: "Street Address",
                name: "billingAddress",
            },
            errorMessage: "Please Enter A Valid Street Address",
        },
        billingAddress2: {
            props: {
                placeholder: "Apartment or Suite (Optional)",
                name: "billingAddress2",
            },
            errorMessage: "Please Enter A Valid Street Address",
        },
        billingStreetName: {
            props: {
                placeholder: "Street name",
                name: "billingStreetName",
            },
            errorMessage: "Please Enter A Valid Street Name",
        },
        billingStreetNumber: {
            props: {
                placeholder: "Street number",
                name: "billingStreetNumber",
            },
            errorMessage: "Please Enter A Valid Street Number",
        },
        billingBrasilPostalCode: {
            props: {
                placeholder: "Postal code",
                name: "billingBrasilPostalCode",
            },
            errorMessage: "Please Enter A Valid Postal Code",
        },
        billingCity: {
            props: {
                placeholder: "City",
                name: "billingCity",
            },
            errorMessage: "Please Enter A Valid City",
        },
        billingState: {
            props: {
                placeholder: "State",
                name: "billingState",
            },
            errorMessage: "This Field Is Required",
        },
        billingPostalCode: {
            props: {
                placeholder: "Postal Code",
                name: "billingPostalCode",
            },
            errorMessage: "Please Enter A Valid Postal Code",
        },
        cardNumber: {
            props: {
                placeholder: "Credit Card Number",
                name: "cardNumber",
            },
            errorMessage: "Please Enter A Valid Credit Card Number",
        },
        cardSecurityCode: {
            props: {
                placeholder: "Security Code (3-4 Digits)",
                name: "cardSecurityCode",
            },
            errorMessage: "Please Enter A Valid Security Code",
        },
        cardMonth: {
            props: {
                placeholder: "Card Month",
                name: "cardMonth",
            },
            errorMessage: "This Field Is Required",
        },
        couponCode: {
            props: {
                placeholder: "Coupon Code (Optional)",
                name: "couponCode",
            },
            errorMessage: "Please enter a valid coupon code.",
            validMessage: "Your Coupon Has Been Successfully Applied!",
        },
        expYear: "Expiration year",
        expMonth: "Expiration month",
        months: {
            january: "January",
            february: "February",
            march: "March",
            april: "April",
            may: "May",
            june: "June",
            july: "July",
            august: "August",
            september: "September",
            october: "October",
            november: "November",
            december: "December",
        },
    },
    faq: {
        title: "FREQUENTLY ASKED QUESTIONS",
        content: [
            {
                question: "What is inside ClearAir Purifiers?",
                answer: "Clear Air™ Purifiers are filled with one simple ingredient - Activated Bamboo Charcoal.",
            },
            {
                question: "What is your return policy?",
                answer: "We have a 30 day satisfaction guarantee, we want our customers happy! Please refer to our [return policy here](http://ecoclearair.com/returns.jpg) or at the bottom of the page for more details. Happy Shopping!",
            },
            {
                question: "Where Should I use Clear Air™ Purifier?",
                answer: "You can use ClearAir Purifiers in many locations including your cars, closets, bathrooms, office, or any enclosed area.",
            },
            {
                question: "How Long Does Clear Air™ Purifier Last?",
                answer: "Clear Air™ Purifier lasts for 2 years, once a month the bag should be placed in the sun for an hour for maximum effectiveness.",
            },
        ],
    },
    footer: {
        terms: {
            popupImages: [
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/879a8135f098d720cf7a71bf1cf9b5e1.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/879a8135f098d720cf7a71bf1cf9b5e1.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/2d17efe8b57e802c920fa394853eb42c.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/2d17efe8b57e802c920fa394853eb42c.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/597ede0d94fb27570000a556d4d94c0a.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/597ede0d94fb27570000a556d4d94c0a.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/a0b095c52f1ba9ce6d3d3858952d0903.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/a0b095c52f1ba9ce6d3d3858952d0903.webp",
                },
            ],
            name: "Terms & Conditions",
        },
        privacy: {
            popupImages: [
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/371323d7fe3148b95244dde8e40c6618.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/371323d7fe3148b95244dde8e40c6618.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/88abf0d2b3296640175c19779b887ce7.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/88abf0d2b3296640175c19779b887ce7.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/8ce66a32c5b172cad03d0d2c11c131d7.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/8ce66a32c5b172cad03d0d2c11c131d7.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/376dcb3911a0447f1905db29b4c91768.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/376dcb3911a0447f1905db29b4c91768.webp",
                },
            ],
            name: "Privacy Policy",
        },
        returns: {
            name: "Returns",
            popupImages: [
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/389587bef968f2a180f164aeb6621e59.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/389587bef968f2a180f164aeb6621e59.webp",
                },
                {
                    jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/b1075c3c33e5dea4761ce50bec9f9bed.jpeg",
                    webp: "https://d3hlrrbqydii6y.cloudfront.net/img/b1075c3c33e5dea4761ce50bec9f9bed.webp",
                },
            ],
        },
        ccpa: {
            name: "CCPA",
            message: '- **Personal information** - The CCPA extends the definition of personal data to include anonymous website activity logs, even if they don\'t involve IP addresses. Neither the GDPR nor CalOPPA defines defines personal information so broadly. There is no special consideration under the CCPA for "special" or "sensitive" categories of data, however, as is the case with the GDPR. \n \n - **Children** - The GDPR defines a child as an individual under the age of 16 while COPPA\'s rule is below the age of 13. The CCPA is more specific. For the CCPA, an individual under the age of 16 must provide opt-in consent for their personal information to be sold. Children under the age of 13 must provide valid parental consent in order for their information to be sold. \n - **Personal information** - The CCPA extends the definition of personal data to include anonymous website activity logs, even if they don\'t involve IP addresses. Neither the GDPR nor CalOPPA defines defines personal information so broadly. There is no special consideration under the CCPA for "special" or "sensitive" categories of data, however, as is the case with the GDPR. \n \n - **Children** - The GDPR defines a child as an individual under the age of 16 while COPPA\'s rule is below the age of 13. The CCPA is more specific. For the CCPA, an individual under the age of 16 must provide opt-in consent for their personal information to be sold. Children under the age of 13 must provide valid parental consent in order for their information to be sold. \n - **Personal information** - The CCPA extends the definition of personal data to include anonymous website activity logs, even if they don\'t involve IP addresses. Neither the GDPR nor CalOPPA defines defines personal information so broadly. There is no special consideration under the CCPA for "special" or "sensitive" categories of data, however, as is the case with the GDPR. \n \n - **Children** - The GDPR defines a child as an individual under the age of 16 while COPPA\'s rule is below the age of 13. The CCPA is more specific. For the CCPA, an individual under the age of 16 must provide opt-in consent for their personal information to be sold. Children under the age of 13 must provide valid parental consent in order for their information to be sold.',
            optOutButtonText: "take me out",
            optOutButtonColor: "cyan",
            cancelButtonText: "Cancel",
            cancelButtonColor: "red",
        },
        consent: "By filling out the field, you consent for Clear Air to use automated technology, including texts and prerecorded messages, to contact you at the number and email provided about Clear Air offers.",
        copyright: "Copyright (c) 2019 Clear Air",
    },
    proofNotifier: {
        productIcon: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/946b28aee6a48e2a9093a20a91fa4ccc.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/946b28aee6a48e2a9093a20a91fa4ccc.webp",
        },
        roundImage: false,
        clockIcon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/aa2f28b05b6dec38bd2e7d2f3f689f5c.svg",
        },
        bought: "bought",
        ago: "ago",
        in: "in",
        notifications: [
            {
                name: "Sarah Caldwell",
                location: "Boston",
                product: "20x Clear Airs",
                time: "11m",
            },
            {
                name: "Andrea Weaver",
                location: "New York",
                product: "10x Clear Air Purifiers",
                time: "37m",
            },
            {
                name: "Kathryn Foley",
                location: "Miami",
                product: "5x Clear Air Purifiers",
                time: "1h",
            },
            {
                name: "Linda Field",
                location: "Houston",
                product: "10x Clear Air Purifers",
                time: "2h",
            },
            {
                name: "Brenda Hasler",
                location: "Seattle",
                product: "20x Clear Air Purifiers",
                time: "1d",
            },
        ],
    },
    additionalImages: {
        arrowRight: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/f4f9316c041a08af1dbd766549ee209b.svg",
        },
        checkmark: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/68539c9f096df2b17f766c4fc4aa5f76.svg",
        },
        cart: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/897c9e76e62c8da295fe4868fe932a9e.svg",
        },
        lock: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/d3cd66baac575557255cc3206dff44a5.svg",
        },
        x: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/f2c5ec6d8d0c036bd79c5d057f1fa6c3.svg",
        },
        favicon: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/07e2ed6b98472d8ee0991e98d25edcd1.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/07e2ed6b98472d8ee0991e98d25edcd1.webp",
        },
        selectIcon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/f3cbfecc3b9f261674f3392453acc802.svg",
        },
    },
    additionalTranslations: {
        step: "STEP",
    },
    newUpsells: [
        {
            bigHeader: "Thank You For Your Order!",
            greyHeader: "Please Do Not Close This Page",
            boldHeader: "As part of this special promotion:",
            paragraph: "we'll give you the ONE TIME ONLY special price for a 5 pack of Clear Air Purifiers for only $9/each (${price} total)",
            smallHeader: "PLUS, we will give you FREE SHIPPING",
            image: {
                jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/ea63cce68aaa7d2d2f12c798d95fb8c0.jpeg",
                webp: "https://d3hlrrbqydii6y.cloudfront.net/img/ea63cce68aaa7d2d2f12c798d95fb8c0.webp",
            },
            addIt: "Add 5 More Clear Airs to Your Order",
            button: "Yes! Send me an additional 5 pack of Clear Air Purifiers for only $9/each (${price} total)",
            continue: "No thanks, I love smelling foul & stinky odors in my home every single day. I enjoy spraying harsh chemicals all throughout my home for my family to breathe instead of using Clear Airs organic bamboo charcoal air purifying. I completely understand that by clicking this I will never see the exclusive ONE TIME price on Clear Air Purifiers again.",
            discountPercentage: 0,
            hash: 455,
            maxQuantity: 1,
            product: {
                productId: 455,
            },
            facebookPixel: [
                {
                    data: {
                        content_ids: [1662096572534],
                        content_type: "product_group",
                    },
                    event: "Upsell-1",
                },
            ],
        },
    ],
    thankyou: {
        boletoTicket: {
            icon: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/2fa8732022e6a78d2383f78f8770ed0e.svg",
            },
            headline: "Your Boleto tickets are here:",
            button: "Download Ticket",
        },
        billingStatement: "💡 This is how your billing statement will appear:",
        billingStatementImage: {
            gif: "https://d3hlrrbqydii6y.cloudfront.net/img/bea2ce6ea1765d759a9d12b95817ad60.gif",
        },
        share: "👍 Share with your friends:",
        arrivalImage: {
            gif: "https://d3hlrrbqydii6y.cloudfront.net/img/7757b0230ecb6ebe6ef4e33e0f54f813.gif",
        },
        socialShare: {
            facebook: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/3563f52e0997c17ebb78f8899e50fb3c.svg",
            },
            twitter: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/3bcae3057ed0b8e74c2921e583a7a4b0.svg",
            },
            pinterest: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/c8107a4052ceba649f4317ff02a3ac8f.svg",
            },
            reddit: {
                svg: "https://d3hlrrbqydii6y.cloudfront.net/img/212b7e1dab05cd230034fe66126097c7.svg",
            },
        },
        contactPerson: {
            jpeg: "https://d3hlrrbqydii6y.cloudfront.net/img/2b4534ba384fb3b63afc0453e0b283a2.jpeg",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/2b4534ba384fb3b63afc0453e0b283a2.webp",
        },
        contactHeadline: "WE ARE HERE TO HELP YOU",
        contactParagraphs: [
            "Please feel free to contact us at:",
            "Email: questions@ecoclearair.com",
        ],
        headline: "Thank You For Your Order {name}!",
        paragraph: "Below you can find all the products you purchased:",
        arrival: "📦 Please allow 16-21 days for arrival:",
        finishingBoleto: "Finishing your boleto order...",
    },
    meta: {
        title: "Clear Air",
        description: "Clear Air description",
        ogTitle: "Get Rid of Foul Odors Once and For All (Without Harmful Chemical Sprays)",
        ogDescription: "Stop Being Frustrated: Get Foul Odors Out of Your Home Today",
        ogUrl: "https://ecoclearair.com",
        copyright: "Copyright (c) 2019 Clear Air",
        ogImage: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.webp",
        },
    },
    facebookPixels: {
        initiateCheckout: {
            content_ids: [1940315059542745],
        },
    },
    subscriptionPage: {
        headlineTop: "Subscribe to be notified about your shipping status.",
        continueLink: "I don't want to get my shipping status notifications",
        messengerImage: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.webp",
        },
        arrowIcon: {
            svg: "https://d3hlrrbqydii6y.cloudfront.net/img/582341268a730307cd9ac8b3ed9e0713.svg",
        },
        pulsingArrow: true,
        showPage: true,
    },
    showMessanger: {
        checkout: false,
        upsells: false,
        subsriptionPage: true,
        thankyou: false,
    },
    cmsStyles: {
        header: {
            background: "#ffffff",
            color: "#323246",
        },
        main: {
            background: "#F5F5F5",
        },
        productHighlight: {
            background: "#ffc500",
            color: "#323246",
        },
    },
    commentsPosition: "BEFORE_FAQ",
    __PRODUCTS: [
        {
            campaignProductId: 5446,
            productName: "6 Starbrights",
            productType: "OFFER",
            price: "107.82",
            cycle1_price: "107.82",
            cycle1_shipPrice: "0.00",
            productId: 672,
            clientProductId: "6",
            productDescription: "65% OFF: 6 Starbrights (Normally $150)",
            productCost: "18.60",
            isBestseller: true,
        },
        {
            campaignProductId: 5447,
            productName: "8 Starbrights",
            productType: "OFFER",
            price: "135.76",
            cycle1_price: "135.76",
            cycle1_shipPrice: "0.00",
            productId: 673,
            clientProductId: "8",
            productDescription: "70% OFF: 8 Starbrights (Normally $200)",
            productCost: "24.80",
            isBestseller: false,
        },
        {
            campaignProductId: 5448,
            productName: "10 Starbrights",
            productType: "OFFER",
            price: "159.70",
            cycle1_price: "159.70",
            cycle1_shipPrice: "0.00",
            clientProductId: "10",
            productDescription: "75% OFF: 10 Starbrights (Normally $250)",
            productCost: "31.00",
            isBestseller: false,
        },
        {
            campaignProductId: 5449,
            productName: "2 Starbrights - Bonus",
            productType: "UPSALE",
            price: "20.00",
            cycle1_price: "20.00",
            cycle1_shipPrice: "0.00",
            productId: 675,
            clientProductId: "2",
            productDescription: "2 Starbrights - Bonus",
            productCost: "6.20",
            isBestseller: false,
        },
        {
            campaignProductId: 5450,
            productName: "16 Starbrights",
            productType: "OFFER",
            price: "223.52",
            cycle1_price: "223.52",
            cycle1_shipPrice: "0.00",
            productId: 685,
            clientProductId: "16",
            productDescription: "80% OFF: 16 Starbrights (Normally $400)",
            productCost: "49.60",
            isBestseller: false,
        },
        {
            campaignProductId: 5451,
            productName: "4 Starbrights",
            productType: "OFFER",
            price: "75.88",
            cycle1_price: "75.88",
            cycle1_shipPrice: "0.00",
            productId: 671,
            clientProductId: "4",
            productDescription: "60% OFF: 4 Starbrights (Normally $100)",
            productCost: "12.40",
            isBestseller: false,
        },
        {
            campaignProductId: 5452,
            productName: "2 Starbrights",
            productType: "OFFER",
            price: "39.94",
            cycle1_price: "39.94",
            cycle1_shipPrice: "0.00",
            productId: 670,
            clientProductId: "2",
            productDescription: "50% OFF: 2 Starbrights (Normally $50)",
            productCost: "6.20",
            isBestseller: false,
        },
        {
            campaignProductId: 5453,
            productName: "4 Starbrights - Bonus",
            productType: "UPSALE",
            price: "40.00",
            cycle1_price: "40.00",
            cycle1_shipPrice: "0.00",
            productId: 684,
            clientProductId: "4",
            productCost: "12.40",
            isBestseller: false,
        },
        {
            campaignProductId: 5454,
            productName: "12 Bright Rights",
            productType: "UPSALE",
            price: "72.00",
            cycle1_price: "72.00",
            cycle1_shipPrice: "0.00",
            productId: 548,
            clientProductId: "12",
            productDescription: "12 Bright Rights",
            productCost: "14.25",
            isBestseller: false,
        },
        {
            campaignProductId: 5455,
            productName: "1 Extra Guardian Torch",
            productType: "UPSALE",
            price: "24.97",
            cycle1_price: "24.97",
            cycle1_shipPrice: "0.00",
            productId: 390,
            clientProductId: "1",
            productDescription: "1 Extra Guardian Torch",
            productCost: "4.73",
            isBestseller: false,
        },
        {
            campaignProductId: 5456,
            productName: "Lifetime Warranty",
            productType: "OFFER",
            price: "19.97",
            cycle1_price: "19.97",
            cycle1_shipPrice: "0.00",
            productId: 676,
            clientProductId: "1",
            productDescription: "Lifetime Warranty",
            productCost: "0.00",
            isBestseller: false,
        },
    ],
    __BRAND: {
        name: "Clear Rear",
        logo: {
            png: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.png",
            webp: "https://d3hlrrbqydii6y.cloudfront.net/img/146b699924f4e22565a9e82c1b39cce4.webp",
        },
    },
    __REGION_CODE: "CA",
};
/* harmony default export */ __webpack_exports__["default"] = (devContent);


Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.Confirm = undefined;

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

var _confirmPaypal = __webpack_require__(127);

var actions = _interopRequireWildcard(_confirmPaypal);

var _Footer = __webpack_require__(131);

var _Footer2 = _interopRequireDefault(_Footer);

var _index = __webpack_require__(135);

var _index2 = _interopRequireDefault(_index);

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _cdn = __webpack_require__(171);

var _cdn2 = _interopRequireDefault(_cdn);

var _queryString = __webpack_require__(56);

var _queryString2 = _interopRequireDefault(_queryString);

var _styles = __webpack_require__(665);

var _styles2 = _interopRequireDefault(_styles);

var _reactRouterDom = __webpack_require__(60);

var _reactRedux = __webpack_require__(30);

var _reactInlinesvg = __webpack_require__(39);

var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

var Confirm = exports.Confirm = function (_React$Component) {
    _inherits(Confirm, _React$Component);

    function Confirm() {
        _classCallCheck(this, Confirm);

        return _possibleConstructorReturn(this, (Confirm.__proto__ || Object.getPrototypeOf(Confirm)).apply(this, arguments));
    }

    _createClass(Confirm, [{
        key: "componentDidMount",
        value: function componentDidMount() {
            window.scrollTo(0, 0);

            var params = _queryString2.default.parse(this.props.location.search);
            this.props.confirmPaypal({
                paypalAccept: params.paypalAccept,
                payerId: params.PayerID,
                token: params.token
            });
        }
    }, {
        key: "render",
        value: function render() {
            var importOrderSuccess = this.props.orderReducer.importOrderSuccess;


            var params = _queryString2.default.parse(this.props.location.search);
            if (importOrderSuccess == false || params.paypalAccept != 1 || !params.PayerID || !params.token) {
                return _react2.default.createElement(_reactRouterDom.Redirect, { to: "/checkout" });
            }

            return _react2.default.createElement(
                "div",
                null,
                _react2.default.createElement(_index2.default, null),
                _react2.default.createElement(
                    "div",
                    { className: _styles2.default.main },
                    _react2.default.createElement(
                        "div",
                        { className: _styles2.default.done },
                        _react2.default.createElement(_reactInlinesvg2.default, { src: (0, _cdn2.default)("img/svg/checkmark.svg") })
                    ),
                    _react2.default.createElement(
                        "h1",
                        null,
                        "Success!"
                    ),
                    _react2.default.createElement(
                        "p",
                        null,
                        "Please wait! We are confirming your order..."
                    )
                ),
                _react2.default.createElement(_Footer2.default, null)
            );
        }
    }]);

    return Confirm;
}(_react2.default.Component);

var mapStateToProps = function mapStateToProps(state) {
    return _extends({}, state);
};

var mapDispatchToProps = function mapDispatchToProps(dispatch) {
    return {
        confirmPaypal: function confirmPaypal(data) {
            return dispatch(actions.confirmPaypal(data));
        }
    };
};

exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Confirm);

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

exports.confirmPaypal = confirmPaypal;

var _actionTypes = __webpack_require__(3);

var actionTypes = _interopRequireWildcard(_actionTypes);

var _apiPreset = __webpack_require__(75);

var _apiPreset2 = _interopRequireDefault(_apiPreset);

var _ejamAnalytics = __webpack_require__(45);

var _ejamAnalytics2 = _interopRequireDefault(_ejamAnalytics);

var _getAvailableFields = __webpack_require__(287);

var _getAvailableFields2 = _interopRequireDefault(_getAvailableFields);

var _getCleanForm = __webpack_require__(288);

var _getCleanForm2 = _interopRequireDefault(_getCleanForm);

var _sentry = __webpack_require__(46);

var _sentry2 = _interopRequireDefault(_sentry);

var _track = __webpack_require__(122);

var _track2 = _interopRequireDefault(_track);

var _basename = __webpack_require__(49);

var _basename2 = _interopRequireDefault(_basename);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function confirmPaypal(data) {
    return function (dispatch, getState) {
        var _getState = getState(),
            productsReducer = _getState.productsReducer,
            orderReducer = _getState.orderReducer,
            customizationReducer = _getState.customizationReducer,
            contentReducer = _getState.contentReducer;

        var isConfirmDone = orderReducer.isConfirmDone,
            addWarranty = orderReducer.addWarranty,
            form = orderReducer.form,
            sessionId = orderReducer.sessionId,
            orderId = orderReducer.orderId,
            calltoolsCustomerId = orderReducer.calltoolsCustomerId,
            hitId = orderReducer.hitId,
            shopifyDraftOrderId = orderReducer.shopifyDraftOrderId,
            orderTracked = orderReducer.orderTracked,
            importOrderResponse = orderReducer.importOrderResponse,
            contactId = orderReducer.contactId,
            campaignKey = orderReducer.campaignKey;
        var affId = customizationReducer.affId;
        var paypalAccept = data.paypalAccept,
            payerId = data.payerId,
            token = data.token;


        var shouldConfirm = !isConfirmDone && paypalAccept == 1 && !!payerId && !!token;

        if (shouldConfirm) {
            dispatch({
                type: actionTypes.ORDER_CONFIRM_START,
                payload: {
                    data: data
                }
            });

            var allProducts = productsReducer.products;
            var selected = productsReducer.selected;

            var products = [];
            allProducts.forEach(function (el) {
                if (Number(el.campaignProductId) == selected) {
                    products.push(el);
                }
            });

            if (addWarranty) {
                products.push(productsReducer.warrantyProduct);
            }

            var productsArray = {};
            products.forEach(function (product, index) {
                var name = "product" + (index + 1) + "_";
                productsArray[name + "id"] = product.campaignProductId;
            });

            var _process$env = Object({"NODE_ENV":"production","VERSION":"2.4.17","basename":"solarizecc","dmca":"","facebook":"639842590102302","googleAds":"AW-792655275","googleAdsConversion":"0nz8CJ6k3s4BEKvr-_kC","googleAnalytics":"UA-124566353-34","version":"2.14.1-1.0.21"}),
                version = _process$env.version,
                VERSION = _process$env.VERSION;

            var templateVersion = version || VERSION;

            var cleanForm = (0, _getCleanForm2.default)(form);

            var formData = (0, _getAvailableFields2.default)(cleanForm, {
                firstName: "firstName",
                lastName: "lastName",
                emailAddress: "emailAddress",
                phoneNumber: "phoneNumber",
                billingFirstName: "billingFirstName",
                billingLastName: "billingLastName",
                billingAddress: "billingAddress",
                billingPhoneNumber: "billingPhoneNumber"
            });

            var __BRAND = contentReducer.content.__BRAND;

            var brand = __BRAND && __BRAND.name ? __BRAND.name : document.title;

            var params = {
                sessionId: sessionId,
                orderId: orderId || "",
                calltoolsCustomerId: calltoolsCustomerId,
                hitId: hitId,
                affId: affId,
                contentSessionId: contentReducer.sessionId,
                brand: brand,
                shopifyDraftOrderId: shopifyDraftOrderId,
                templateVersion: templateVersion,
                addWarranty: addWarranty,
                contactId: contactId
            };

            var request = _extends({}, productsArray, data, params, formData);

            fetch((0, _apiPreset2.default)("/order/confirm", request), {
                method: "POST"
            }).then(function (response) {
                return response.json();
            }).then(function (data) {
                if (data.result == "SUCCESS") {
                    if (!orderTracked) {
                        (0, _track2.default)({
                            addWarranty: addWarranty,
                            order: importOrderResponse,
                            orderReducer: orderReducer,
                            productsReducer: productsReducer
                        });
                        dispatch({ type: actionTypes.ORDER_TRACKED });
                    }
                    dispatch({
                        type: actionTypes.ORDER_CONFIRM_DONE,
                        payload: {
                            data: data
                        }
                    });
                    (0, _ejamAnalytics2.default)("UPSELL_STEP", { step: 1 });
                } else {
                    (0, _sentry2.default)("Paypal confirm konnektive error", data);
                    if (data.result === "ERROR") {
                        window.location.replace("" + location.origin + _basename2.default + "/" + campaignKey + "/checkout");
                    }
                }
            }).catch(function (error) {
                (0, _sentry2.default)("/order/confirm api call failed", error);
                window.location.replace("" + location.origin + _basename2.default + "/" + campaignKey + "/checkout");
            });
        }
    };
}

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _keys = __webpack_require__(8);

var _keys2 = _interopRequireDefault(_keys);

var _ejamAnalytics = __webpack_require__(45);

var _ejamAnalytics2 = _interopRequireDefault(_ejamAnalytics);

var _ejamFacebookPixel = __webpack_require__(38);

var _ejamFacebookPixel2 = _interopRequireDefault(_ejamFacebookPixel);

var _reactGa = __webpack_require__(50);

var _reactGa2 = _interopRequireDefault(_reactGa);

var _store = __webpack_require__(71);

var _store2 = _interopRequireDefault(_store);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var track = function track(_ref) {
    var addWarranty = _ref.addWarranty,
        order = _ref.order,
        productsReducer = _ref.productsReducer,
        orderReducer = _ref.orderReducer;

    if (order.orderId) {
        var _store$getState = _store2.default.getState(),
            contentReducer = _store$getState.contentReducer;

        var __BRAND = contentReducer.content.__BRAND;

        var allProducts = productsReducer.products;
        var selected = productsReducer.selected;
        var currencyCode = orderReducer.currency.code;


        var products = [];
        allProducts.forEach(function (el) {
            if (Number(el.campaignProductId) == selected) {
                products.push(el);
            }
        });

        if (addWarranty) {
            products.push(productsReducer.warrantyProduct);
        }

        var productCost = products.reduce(function (prevProduct, nextProduct) {
            return Number(prevProduct) + Number(nextProduct.productCost || 0);
        }, 0);
        var totalAmount = products.reduce(function (prev, current) {
            return prev + Number(current.cycle1_price);
        }, 0);

        var campaignProducts = products.map(function (product) {
            return Number(product.campaignProductId);
        });

        (0, _ejamAnalytics2.default)("ORDER", {
            currency: currencyCode,
            id: order.orderId,
            productCost: productCost,
            revenue: totalAmount,
            campaignProducts: campaignProducts
        });

        var content_ids = products.map(function (item) {
            return item.productId;
        });

        _ejamFacebookPixel2.default.init(_keys2.default.facebook);
        _ejamFacebookPixel2.default.track("Purchase", {
            currency: currencyCode,
            value: totalAmount,
            content_type: "product_group",
            content_ids: content_ids
        });

        var product = products[0];

        if (_keys2.default.pinterest !== "") {
            pintrk("track", "checkout", {
                currency: currencyCode,
                value: Number(totalAmount),
                order_quantity: Number(products.length),
                order_id: order.orderId,
                product_name: product.name,
                product_id: product.productId
            });
        }

        window.twq("track", "Purchase", {
            value: totalAmount,
            currency: currencyCode,
            content_ids: content_ids,
            content_type: "product",
            content_name: "Pest Defender",
            num_items: Number(product.qty),
            order_id: order.orderId
        });

        gtag("event", "purchase", {
            send_to: _keys2.default.googleAds + "/" + _keys2.default.googleAdsConversion,
            value: totalAmount,
            currency: currencyCode,
            transaction_id: order.orderId
        });

        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
            ecommerce: {
                purchase: {
                    actionField: {
                        id: order.orderId,
                        orderValue: totalAmount
                    },
                    products: products.map(function (item) {
                        return {
                            name: item.productName,
                            id: item.productId,
                            price: Number(item.cycle1_price),
                            brand: __BRAND.name || ""
                        };
                    })
                }
            }
        });

        _reactGa2.default.plugin.require("ecommerce");
        _reactGa2.default.plugin.execute("ecommerce", "addTransaction", {
            id: order.orderId,
            affiliation: "Pest Defender React JS",
            revenue: totalAmount,
            shipping: order.baseShipping,
            tax: order.salesTax
        });
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = products[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var item = _step.value;

                _reactGa2.default.plugin.execute("ecommerce", "addItem", {
                    id: order.orderId,
                    name: item.name,
                    price: item.price,
                    quantity: item.qty
                });
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator.return) {
                    _iterator.return();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        _reactGa2.default.plugin.execute("ecommerce", "send");
        _reactGa2.default.plugin.execute("ecommerce", "clear");
    } else {
        console.error("NO ORDERID OR TOTAL AMOUNT TO TRACK");
    }
};

exports.default = track;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(666);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._2pfvilkREKArEoaGZtNE3K {\n  width: calc(100% - 17.6px);\n  max-width: 1200px;\n  margin: 0 auto;\n  min-height: calc(100vh - 400px);\n  margin-top: 80px; }\n\nh1 {\n  margin-bottom: 0px; }\n\n.n_lDcYccZqHcHl_EZWfoe {\n  text-align: center;\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  position: relative;\n  left: -17.6px;\n  margin-top: -17.6px; }\n  .n_lDcYccZqHcHl_EZWfoe ._2-l9LX6PwYvSyuarlIXmyb {\n    width: 40px;\n    height: 40px;\n    cursor: pointer;\n    margin: 35.2px 0 0 35.2px; }\n\n.mOfmz34bmNThqV7SEj3O3 {\n  width: 100%;\n  max-width: 500px;\n  margin: 0 auto; }\n\n.Jg-BSrDc8iSrNlx9OpuZN {\n  width: 50px;\n  height: 50px;\n  border: 6px solid #1ab22c;\n  border-radius: 100%;\n  padding: 17.6px;\n  margin: 17.6px auto 0 auto; }\n  .Jg-BSrDc8iSrNlx9OpuZN svg * {\n    fill: #1ab22c; }\n", ""]);

// exports
exports.locals = {
	"main": "_2pfvilkREKArEoaGZtNE3K",
	"socials": "n_lDcYccZqHcHl_EZWfoe",
	"icon": "_2-l9LX6PwYvSyuarlIXmyb",
	"submit": "mOfmz34bmNThqV7SEj3O3",
	"done": "Jg-BSrDc8iSrNlx9OpuZN"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.tracked = tracked;

var _actionTypes = __webpack_require__(3);

var actionTypes = _interopRequireWildcard(_actionTypes);

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function tracked() {
    return {
        type: actionTypes.ORDER_TRACKED
    };
}// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(667);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._2TIYocdyVTkyf3ks6ej1bZ {\n  margin-top: 17.6px;\n  margin-bottom: 17.6px; }\n\n.X-zTYc5GseHVTVJjZpIBb {\n  display: inline-block !important;\n  width: 145px !important;\n  min-height: 68px !important; }\n\n._1uaYwC1pHXe5_0FEEJ4hm9 {\n  display: flex;\n  justify-content: center;\n  margin: 0 auto; }\n", ""]);

// exports
exports.locals = {
	"widget": "_2TIYocdyVTkyf3ks6ej1bZ",
	"staticSize": "X-zTYc5GseHVTVJjZpIBb",
	"flex": "_1uaYwC1pHXe5_0FEEJ4hm9"
};// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(668);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._1BppAHJRIGVw7Rt57Fg9Y6 {\n  width: calc(100% - 17.6px);\n  max-width: 1200px;\n  margin: 0 auto;\n  margin-top: 40px;\n  display: flex;\n  flex-direction: column; }\n  ._1BppAHJRIGVw7Rt57Fg9Y6 h1 {\n    padding: 0 8.8px;\n    font-size: 28px;\n    color: #2e468e; }\n    @media (max-width: 900px) {\n      ._1BppAHJRIGVw7Rt57Fg9Y6 h1 {\n        font-size: 20px; } }\n\n._3dqsaeGfP2RcL_l95V95oP {\n  margin: 17.6px auto;\n  text-decoration: underline;\n  cursor: pointer;\n  color: #4285f9; }\n  @media (max-width: 600px) {\n    ._3dqsaeGfP2RcL_l95V95oP {\n      margin: 35.2px auto 17.6px auto; } }\n  @media (max-width: 600px) {\n    ._3dqsaeGfP2RcL_l95V95oP {\n      margin-top: 17.6px; } }\n\n._15FKKTQ72iJ0Z_lI-QnrhM {\n  margin-top: 8.8px; }\n  ._15FKKTQ72iJ0Z_lI-QnrhM svg {\n    fill: #1ab22c;\n    width: auto;\n    height: 25px; }\n\n._1vcCnssPNHWpevjcAjRUCN img,\n._1vcCnssPNHWpevjcAjRUCN picture {\n  max-width: 105px;\n  height: auto;\n  margin: 0 auto; }\n\n@-webkit-keyframes _1JDlVGAumgh1YjNk9WWC_C {\n  0% {\n    top: 0px; }\n  10% {\n    top: -10px; }\n  18% {\n    top: 14px; }\n  25% {\n    top: 0px; } }\n\n@keyframes _1JDlVGAumgh1YjNk9WWC_C {\n  0% {\n    top: 0px; }\n  10% {\n    top: -10px; }\n  18% {\n    top: 14px; }\n  25% {\n    top: 0px; } }\n\n._1JDlVGAumgh1YjNk9WWC_C {\n  position: relative;\n  -webkit-animation: _1JDlVGAumgh1YjNk9WWC_C 3s infinite;\n          animation: _1JDlVGAumgh1YjNk9WWC_C 3s infinite; }\n\n._1bnVCLs-Pi4jUA2xPirMkG {\n  margin-top: 17.6px;\n  position: relative; }\n  ._1bnVCLs-Pi4jUA2xPirMkG:after {\n    content: \"\";\n    display: block;\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    height: 1px;\n    background-color: whitesmoke;\n    margin: 0 17.6px; }\n", ""]);

// exports
exports.locals = {
	"main": "_1BppAHJRIGVw7Rt57Fg9Y6",
	"continueLink": "_3dqsaeGfP2RcL_l95V95oP",
	"arrowIcon": "_15FKKTQ72iJ0Z_lI-QnrhM",
	"messengerImage": "_1vcCnssPNHWpevjcAjRUCN",
	"bounce": "_1JDlVGAumgh1YjNk9WWC_C",
	"line": "_1bnVCLs-Pi4jUA2xPirMkG"
};/**
 * Module dependencies
 */

var debug = __webpack_require__(676)('jsonp');

/**
 * Module exports.
 */

module.exports = jsonp;

/**
 * Callback index.
 */

var count = 0;

/**
 * Noop function.
 */

function noop(){}

/**
 * JSONP handler
 *
 * Options:
 *  - param {String} qs parameter (`callback`)
 *  - prefix {String} qs parameter (`__jp`)
 *  - name {String} qs parameter (`prefix` + incr)
 *  - timeout {Number} how long after a timeout error is emitted (`60000`)
 *
 * @param {String} url
 * @param {Object|Function} optional options / callback
 * @param {Function} optional callback
 */

function jsonp(url, opts, fn){
  if ('function' == typeof opts) {
    fn = opts;
    opts = {};
  }
  if (!opts) opts = {};

  var prefix = opts.prefix || '__jp';

  // use the callback name that was passed if one was provided.
  // otherwise generate a unique name by incrementing our counter.
  var id = opts.name || (prefix + (count++));

  var param = opts.param || 'callback';
  var timeout = null != opts.timeout ? opts.timeout : 60000;
  var enc = encodeURIComponent;
  var target = document.getElementsByTagName('script')[0] || document.head;
  var script;
  var timer;


  if (timeout) {
    timer = setTimeout(function(){
      cleanup();
      if (fn) fn(new Error('Timeout'));
    }, timeout);
  }

  function cleanup(){
    if (script.parentNode) script.parentNode.removeChild(script);
    window[id] = noop;
    if (timer) clearTimeout(timer);
  }

  function cancel(){
    if (window[id]) {
      cleanup();
    }
  }

  window[id] = function(data){
    debug('jsonp got', data);
    cleanup();
    if (fn) fn(null, data);
  };

  // add qs component
  url += (~url.indexOf('?') ? '&' : '?') + param + '=' + enc(id);
  url = url.replace('?&', '?');

  debug('jsonp req "%s"', url);

  // create script
  script = document.createElement('script');
  script.src = url;
  target.parentNode.insertBefore(script, target);

  return cancel;
}
/* WEBPACK VAR INJECTION */(function(process) {/**
 * This is the web browser implementation of `debug()`.
 *
 * Expose `debug()` as the module.
 */

exports = module.exports = __webpack_require__(677);
exports.log = log;
exports.formatArgs = formatArgs;
exports.save = save;
exports.load = load;
exports.useColors = useColors;
exports.storage = 'undefined' != typeof chrome
               && 'undefined' != typeof chrome.storage
                  ? chrome.storage.local
                  : localstorage();

/**
 * Colors.
 */

exports.colors = [
  'lightseagreen',
  'forestgreen',
  'goldenrod',
  'dodgerblue',
  'darkorchid',
  'crimson'
];

/**
 * Currently only WebKit-based Web Inspectors, Firefox >= v31,
 * and the Firebug extension (any Firefox version) are known
 * to support "%c" CSS customizations.
 *
 * TODO: add a `localStorage` variable to explicitly enable/disable colors
 */

function useColors() {
  // NB: In an Electron preload script, document will be defined but not fully
  // initialized. Since we know we're in Chrome, we'll just detect this case
  // explicitly
  if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
    return true;
  }

  // is webkit? http://stackoverflow.com/a/16459606/376773
  // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
  return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
    // is firebug? http://stackoverflow.com/a/398120/376773
    (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
    // is firefox >= v31?
    // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
    (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
    // double check webkit in userAgent just in case we are in a worker
    (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
}

/**
 * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
 */

exports.formatters.j = function(v) {
  try {
    return JSON.stringify(v);
  } catch (err) {
    return '[UnexpectedJSONParseError]: ' + err.message;
  }
};


/**
 * Colorize log arguments if enabled.
 *
 * @api public
 */

function formatArgs(args) {
  var useColors = this.useColors;

  args[0] = (useColors ? '%c' : '')
    + this.namespace
    + (useColors ? ' %c' : ' ')
    + args[0]
    + (useColors ? '%c ' : ' ')
    + '+' + exports.humanize(this.diff);

  if (!useColors) return;

  var c = 'color: ' + this.color;
  args.splice(1, 0, c, 'color: inherit')

  // the final "%c" is somewhat tricky, because there could be other
  // arguments passed either before or after the %c, so we need to
  // figure out the correct index to insert the CSS into
  var index = 0;
  var lastC = 0;
  args[0].replace(/%[a-zA-Z%]/g, function(match) {
    if ('%%' === match) return;
    index++;
    if ('%c' === match) {
      // we only are interested in the *last* %c
      // (the user may have provided their own)
      lastC = index;
    }
  });

  args.splice(lastC, 0, c);
}

/**
 * Invokes `console.log()` when available.
 * No-op when `console.log` is not a "function".
 *
 * @api public
 */

function log() {
  // this hackery is required for IE8/9, where
  // the `console.log` function doesn't have 'apply'
  return 'object' === typeof console
    && console.log
    && Function.prototype.apply.call(console.log, console, arguments);
}

/**
 * Save `namespaces`.
 *
 * @param {String} namespaces
 * @api private
 */

function save(namespaces) {
  try {
    if (null == namespaces) {
      exports.storage.removeItem('debug');
    } else {
      exports.storage.debug = namespaces;
    }
  } catch(e) {}
}

/**
 * Load `namespaces`.
 *
 * @return {String} returns the previously persisted debug modes
 * @api private
 */

function load() {
  var r;
  try {
    r = exports.storage.debug;
  } catch(e) {}

  // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
  if (!r && typeof process !== 'undefined' && 'env' in process) {
    r = Object({"NODE_ENV":"production","VERSION":"2.4.17","basename":"solarizecc","dmca":"","facebook":"639842590102302","googleAds":"AW-792655275","googleAdsConversion":"0nz8CJ6k3s4BEKvr-_kC","googleAnalytics":"UA-124566353-34","version":"2.14.1-1.0.21"}).DEBUG;
  }

  return r;
}

/**
 * Enable namespaces listed in `localStorage.debug` initially.
 */

exports.enable(load());

/**
 * Localstorage attempts to return the localstorage.
 *
 * This is necessary because safari throws
 * when a user disables cookies/localstorage
 * and you attempt to access it.
 *
 * @return {LocalStorage}
 * @api private
 */

function localstorage() {
  try {
    return window.localStorage;
  } catch (e) {}
}

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(185)))
/**
 * This is the common logic for both the Node.js and web browser
 * implementations of `debug()`.
 *
 * Expose `debug()` as the module.
 */

exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
exports.coerce = coerce;
exports.disable = disable;
exports.enable = enable;
exports.enabled = enabled;
exports.humanize = __webpack_require__(678);

/**
 * The currently active debug mode names, and names to skip.
 */

exports.names = [];
exports.skips = [];

/**
 * Map of special "%n" handling functions, for the debug "format" argument.
 *
 * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
 */

exports.formatters = {};

/**
 * Previous log timestamp.
 */

var prevTime;

/**
 * Select a color.
 * @param {String} namespace
 * @return {Number}
 * @api private
 */

function selectColor(namespace) {
  var hash = 0, i;

  for (i in namespace) {
    hash  = ((hash << 5) - hash) + namespace.charCodeAt(i);
    hash |= 0; // Convert to 32bit integer
  }

  return exports.colors[Math.abs(hash) % exports.colors.length];
}

/**
 * Create a debugger with the given `namespace`.
 *
 * @param {String} namespace
 * @return {Function}
 * @api public
 */

function createDebug(namespace) {

  function debug() {
    // disabled?
    if (!debug.enabled) return;

    var self = debug;

    // set `diff` timestamp
    var curr = +new Date();
    var ms = curr - (prevTime || curr);
    self.diff = ms;
    self.prev = prevTime;
    self.curr = curr;
    prevTime = curr;

    // turn the `arguments` into a proper Array
    var args = new Array(arguments.length);
    for (var i = 0; i < args.length; i++) {
      args[i] = arguments[i];
    }

    args[0] = exports.coerce(args[0]);

    if ('string' !== typeof args[0]) {
      // anything else let's inspect with %O
      args.unshift('%O');
    }

    // apply any `formatters` transformations
    var index = 0;
    args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
      // if we encounter an escaped % then don't increase the array index
      if (match === '%%') return match;
      index++;
      var formatter = exports.formatters[format];
      if ('function' === typeof formatter) {
        var val = args[index];
        match = formatter.call(self, val);

        // now we need to remove `args[index]` since it's inlined in the `format`
        args.splice(index, 1);
        index--;
      }
      return match;
    });

    // apply env-specific formatting (colors, etc.)
    exports.formatArgs.call(self, args);

    var logFn = debug.log || exports.log || console.log.bind(console);
    logFn.apply(self, args);
  }

  debug.namespace = namespace;
  debug.enabled = exports.enabled(namespace);
  debug.useColors = exports.useColors();
  debug.color = selectColor(namespace);

  // env-specific initialization logic for debug instances
  if ('function' === typeof exports.init) {
    exports.init(debug);
  }

  return debug;
}

/**
 * Enables a debug mode by namespaces. This can include modes
 * separated by a colon and wildcards.
 *
 * @param {String} namespaces
 * @api public
 */

function enable(namespaces) {
  exports.save(namespaces);

  exports.names = [];
  exports.skips = [];

  var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
  var len = split.length;

  for (var i = 0; i < len; i++) {
    if (!split[i]) continue; // ignore empty strings
    namespaces = split[i].replace(/\*/g, '.*?');
    if (namespaces[0] === '-') {
      exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
    } else {
      exports.names.push(new RegExp('^' + namespaces + '$'));
    }
  }
}

/**
 * Disable debug output.
 *
 * @api public
 */

function disable() {
  exports.enable('');
}

/**
 * Returns true if the given mode name is enabled, false otherwise.
 *
 * @param {String} name
 * @return {Boolean}
 * @api public
 */

function enabled(name) {
  var i, len;
  for (i = 0, len = exports.skips.length; i < len; i++) {
    if (exports.skips[i].test(name)) {
      return false;
    }
  }
  for (i = 0, len = exports.names.length; i < len; i++) {
    if (exports.names[i].test(name)) {
      return true;
    }
  }
  return false;
}

/**
 * Coerce `val`.
 *
 * @param {Mixed} val
 * @return {Mixed}
 * @api private
 */

function coerce(val) {
  if (val instanceof Error) return val.stack || val.message;
  return val;
}
/**
 * Helpers.
 */

var s = 1000;
var m = s * 60;
var h = m * 60;
var d = h * 24;
var y = d * 365.25;

/**
 * Parse or format the given `val`.
 *
 * Options:
 *
 *  - `long` verbose formatting [false]
 *
 * @param {String|Number} val
 * @param {Object} [options]
 * @throws {Error} throw an error if val is not a non-empty string or a number
 * @return {String|Number}
 * @api public
 */

module.exports = function(val, options) {
  options = options || {};
  var type = typeof val;
  if (type === 'string' && val.length > 0) {
    return parse(val);
  } else if (type === 'number' && isNaN(val) === false) {
    return options.long ? fmtLong(val) : fmtShort(val);
  }
  throw new Error(
    'val is not a non-empty string or a valid number. val=' +
      JSON.stringify(val)
  );
};

/**
 * Parse the given `str` and return milliseconds.
 *
 * @param {String} str
 * @return {Number}
 * @api private
 */

function parse(str) {
  str = String(str);
  if (str.length > 100) {
    return;
  }
  var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
    str
  );
  if (!match) {
    return;
  }
  var n = parseFloat(match[1]);
  var type = (match[2] || 'ms').toLowerCase();
  switch (type) {
    case 'years':
    case 'year':
    case 'yrs':
    case 'yr':
    case 'y':
      return n * y;
    case 'days':
    case 'day':
    case 'd':
      return n * d;
    case 'hours':
    case 'hour':
    case 'hrs':
    case 'hr':
    case 'h':
      return n * h;
    case 'minutes':
    case 'minute':
    case 'mins':
    case 'min':
    case 'm':
      return n * m;
    case 'seconds':
    case 'second':
    case 'secs':
    case 'sec':
    case 's':
      return n * s;
    case 'milliseconds':
    case 'millisecond':
    case 'msecs':
    case 'msec':
    case 'ms':
      return n;
    default:
      return undefined;
  }
}

/**
 * Short format for `ms`.
 *
 * @param {Number} ms
 * @return {String}
 * @api private
 */

function fmtShort(ms) {
  if (ms >= d) {
    return Math.round(ms / d) + 'd';
  }
  if (ms >= h) {
    return Math.round(ms / h) + 'h';
  }
  if (ms >= m) {
    return Math.round(ms / m) + 'm';
  }
  if (ms >= s) {
    return Math.round(ms / s) + 's';
  }
  return ms + 'ms';
}

/**
 * Long format for `ms`.
 *
 * @param {Number} ms
 * @return {String}
 * @api private
 */

function fmtLong(ms) {
  return plural(ms, d, 'day') ||
    plural(ms, h, 'hour') ||
    plural(ms, m, 'minute') ||
    plural(ms, s, 'second') ||
    ms + ' ms';
}

/**
 * Pluralization helper.
 */

function plural(ms, n, name) {
  if (ms < n) {
    return;
  }
  if (ms < n * 1.5) {
    return Math.floor(ms / n) + ' ' + name;
  }
  return Math.ceil(ms / n) + ' ' + name + 's';
}


exports.__esModule = true;

var _assign = __webpack_require__(679);

var _assign2 = _interopRequireDefault(_assign);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = _assign2.default || function (target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = arguments[i];

    for (var key in source) {
      if (Object.prototype.hasOwnProperty.call(source, key)) {
        target[key] = source[key];
      }
    }
  }

  return target;
};module.exports = { "default": __webpack_require__(680), __esModule: true };__webpack_require__(681);
module.exports = __webpack_require__(83).Object.assign;
// 19.1.3.1 Object.assign(target, source)
var $export = __webpack_require__(123);

$export($export.S + $export.F, 'Object', { assign: __webpack_require__(683) });
var global = __webpack_require__(115);
var core = __webpack_require__(83);
var ctx = __webpack_require__(540);
var hide = __webpack_require__(166);
var has = __webpack_require__(126);
var PROTOTYPE = 'prototype';

var $export = function (type, name, source) {
  var IS_FORCED = type & $export.F;
  var IS_GLOBAL = type & $export.G;
  var IS_STATIC = type & $export.S;
  var IS_PROTO = type & $export.P;
  var IS_BIND = type & $export.B;
  var IS_WRAP = type & $export.W;
  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
  var expProto = exports[PROTOTYPE];
  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
  var key, own, out;
  if (IS_GLOBAL) source = name;
  for (key in source) {
    // contains in native
    own = !IS_FORCED && target && target[key] !== undefined;
    if (own && has(exports, key)) continue;
    // export native or passed
    out = own ? target[key] : source[key];
    // prevent global pollution for namespaces
    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
    // bind timers to global for call from export context
    : IS_BIND && own ? ctx(out, global)
    // wrap global constructors for prevent change them in library
    : IS_WRAP && target[key] == out ? (function (C) {
      var F = function (a, b, c) {
        if (this instanceof C) {
          switch (arguments.length) {
            case 0: return new C();
            case 1: return new C(a);
            case 2: return new C(a, b);
          } return new C(a, b, c);
        } return C.apply(this, arguments);
      };
      F[PROTOTYPE] = C[PROTOTYPE];
      return F;
    // make static versions for prototype methods
    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
    if (IS_PROTO) {
      (exports.virtual || (exports.virtual = {}))[key] = out;
      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
    }
  }
};
// type bitmap
$export.F = 1;   // forced
$export.G = 2;   // global
$export.S = 4;   // static
$export.P = 8;   // proto
$export.B = 16;  // bind
$export.W = 32;  // wrap
$export.U = 64;  // safe
$export.R = 128; // real proto method for `library`
module.exports = $export;
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
  ? window : typeof self != 'undefined' && self.Math == Math ? self
  // eslint-disable-next-line no-new-func
  : Function('return this')();
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
var core = module.exports = { version: '2.5.4' };
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
// optional / simple context binding
var aFunction = __webpack_require__(682);
module.exports = function (fn, that, length) {
  aFunction(fn);
  if (that === undefined) return fn;
  switch (length) {
    case 1: return function (a) {
      return fn.call(that, a);
    };
    case 2: return function (a, b) {
      return fn.call(that, a, b);
    };
    case 3: return function (a, b, c) {
      return fn.call(that, a, b, c);
    };
  }
  return function (/* ...args */) {
    return fn.apply(that, arguments);
  };
};
module.exports = function (it) {
  if (typeof it != 'function') throw TypeError(it + ' is not a function!');
  return it;
};
var dP = __webpack_require__(124);
var createDesc = __webpack_require__(226);
module.exports = __webpack_require__(125) ? function (object, key, value) {
  return dP.f(object, key, createDesc(1, value));
} : function (object, key, value) {
  object[key] = value;
  return object;
};
var anObject = __webpack_require__(183);
var IE8_DOM_DEFINE = __webpack_require__(541);
var toPrimitive = __webpack_require__(289);
var dP = Object.defineProperty;

exports.f = __webpack_require__(125) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPrimitive(P, true);
  anObject(Attributes);
  if (IE8_DOM_DEFINE) try {
    return dP(O, P, Attributes);
  } catch (e) { /* empty */ }
  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
  if ('value' in Attributes) O[P] = Attributes.value;
  return O;
};
var isObject = __webpack_require__(167);
module.exports = function (it) {
  if (!isObject(it)) throw TypeError(it + ' is not an object!');
  return it;
};
module.exports = function (it) {
  return typeof it === 'object' ? it !== null : typeof it === 'function';
};
module.exports = !__webpack_require__(125) && !__webpack_require__(168)(function () {
  return Object.defineProperty(__webpack_require__(542)('div'), 'a', { get: function () { return 7; } }).a != 7;
});
// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(168)(function () {
  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
});
module.exports = function (exec) {
  try {
    return !!exec();
  } catch (e) {
    return true;
  }
};
var isObject = __webpack_require__(167);
var document = __webpack_require__(115).document;
// typeof document.createElement is 'object' in old IE
var is = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
  return is ? document.createElement(it) : {};
};
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(167);
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function (it, S) {
  if (!isObject(it)) return it;
  var fn, val;
  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  throw TypeError("Can't convert object to primitive value");
};
module.exports = function (bitmap, value) {
  return {
    enumerable: !(bitmap & 1),
    configurable: !(bitmap & 2),
    writable: !(bitmap & 4),
    value: value
  };
};
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function (it, key) {
  return hasOwnProperty.call(it, key);
};

// 19.1.2.1 Object.assign(target, source, ...)
var getKeys = __webpack_require__(184);
var gOPS = __webpack_require__(295);
var pIE = __webpack_require__(228);
var toObject = __webpack_require__(229);
var IObject = __webpack_require__(544);
var $assign = Object.assign;

// should work with symbols and should have deterministic property order (V8 bug)
module.exports = !$assign || __webpack_require__(168)(function () {
  var A = {};
  var B = {};
  // eslint-disable-next-line no-undef
  var S = Symbol();
  var K = 'abcdefghijklmnopqrst';
  A[S] = 7;
  K.split('').forEach(function (k) { B[k] = k; });
  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
  var T = toObject(target);
  var aLen = arguments.length;
  var index = 1;
  var getSymbols = gOPS.f;
  var isEnum = pIE.f;
  while (aLen > index) {
    var S = IObject(arguments[index++]);
    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
    var length = keys.length;
    var j = 0;
    var key;
    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
  } return T;
} : $assign;
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = __webpack_require__(543);
var enumBugKeys = __webpack_require__(294);

module.exports = Object.keys || function keys(O) {
  return $keys(O, enumBugKeys);
};
var has = __webpack_require__(126);
var toIObject = __webpack_require__(169);
var arrayIndexOf = __webpack_require__(684)(false);
var IE_PROTO = __webpack_require__(292)('IE_PROTO');

module.exports = function (object, names) {
  var O = toIObject(object);
  var i = 0;
  var result = [];
  var key;
  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
  // Don't enum bug & hidden keys
  while (names.length > i) if (has(O, key = names[i++])) {
    ~arrayIndexOf(result, key) || result.push(key);
  }
  return result;
};
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(544);
var defined = __webpack_require__(290);
module.exports = function (it) {
  return IObject(defined(it));
};
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = __webpack_require__(545);
// eslint-disable-next-line no-prototype-builtins
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
  return cof(it) == 'String' ? it.split('') : Object(it);
};
var toString = {}.toString;

module.exports = function (it) {
  return toString.call(it).slice(8, -1);
};
// 7.2.1 RequireObjectCoercible(argument)
module.exports = function (it) {
  if (it == undefined) throw TypeError("Can't call method on  " + it);
  return it;
};
// false -> Array#indexOf
// true  -> Array#includes
var toIObject = __webpack_require__(169);
var toLength = __webpack_require__(685);
var toAbsoluteIndex = __webpack_require__(686);
module.exports = function (IS_INCLUDES) {
  return function ($this, el, fromIndex) {
    var O = toIObject($this);
    var length = toLength(O.length);
    var index = toAbsoluteIndex(fromIndex, length);
    var value;
    // Array#includes uses SameValueZero equality algorithm
    // eslint-disable-next-line no-self-compare
    if (IS_INCLUDES && el != el) while (length > index) {
      value = O[index++];
      // eslint-disable-next-line no-self-compare
      if (value != value) return true;
    // Array#indexOf ignores holes, Array#includes - not
    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
      if (O[index] === el) return IS_INCLUDES || index || 0;
    } return !IS_INCLUDES && -1;
  };
};
// 7.1.15 ToLength
var toInteger = __webpack_require__(291);
var min = Math.min;
module.exports = function (it) {
  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
};
// 7.1.4 ToInteger
var ceil = Math.ceil;
var floor = Math.floor;
module.exports = function (it) {
  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
var toInteger = __webpack_require__(291);
var max = Math.max;
var min = Math.min;
module.exports = function (index, length) {
  index = toInteger(index);
  return index < 0 ? max(index + length, 0) : min(index, length);
};
var shared = __webpack_require__(293)('keys');
var uid = __webpack_require__(227);
module.exports = function (key) {
  return shared[key] || (shared[key] = uid(key));
};
var global = __webpack_require__(115);
var SHARED = '__core-js_shared__';
var store = global[SHARED] || (global[SHARED] = {});
module.exports = function (key) {
  return store[key] || (store[key] = {});
};
var id = 0;
var px = Math.random();
module.exports = function (key) {
  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
// IE 8- don't enum bug keys
module.exports = (
  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
exports.f = Object.getOwnPropertySymbols;
exports.f = {}.propertyIsEnumerable;
// 7.1.13 ToObject(argument)
var defined = __webpack_require__(290);
module.exports = function (it) {
  return Object(defined(it));
};
module.exports = { "default": __webpack_require__(687), __esModule: true };__webpack_require__(688);
module.exports = __webpack_require__(83).Object.getPrototypeOf;
// 19.1.2.9 Object.getPrototypeOf(O)
var toObject = __webpack_require__(229);
var $getPrototypeOf = __webpack_require__(546);

__webpack_require__(547)('getPrototypeOf', function () {
  return function getPrototypeOf(it) {
    return $getPrototypeOf(toObject(it));
  };
});
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
var has = __webpack_require__(126);
var toObject = __webpack_require__(229);
var IE_PROTO = __webpack_require__(292)('IE_PROTO');
var ObjectProto = Object.prototype;

module.exports = Object.getPrototypeOf || function (O) {
  O = toObject(O);
  if (has(O, IE_PROTO)) return O[IE_PROTO];
  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
    return O.constructor.prototype;
  } return O instanceof Object ? ObjectProto : null;
};
// most Object methods by ES6 should accept primitives
var $export = __webpack_require__(123);
var core = __webpack_require__(83);
var fails = __webpack_require__(168);
module.exports = function (KEY, exec) {
  var fn = (core.Object || {})[KEY] || Object[KEY];
  var exp = {};
  exp[KEY] = exec(fn);
  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
};


exports.__esModule = true;

exports.default = function (instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
};

exports.__esModule = true;

var _defineProperty = __webpack_require__(689);

var _defineProperty2 = _interopRequireDefault(_defineProperty);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = function () {
  function defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      (0, _defineProperty2.default)(target, descriptor.key, descriptor);
    }
  }

  return function (Constructor, protoProps, staticProps) {
    if (protoProps) defineProperties(Constructor.prototype, protoProps);
    if (staticProps) defineProperties(Constructor, staticProps);
    return Constructor;
  };
}();module.exports = { "default": __webpack_require__(690), __esModule: true };__webpack_require__(691);
var $Object = __webpack_require__(83).Object;
module.exports = function defineProperty(it, key, desc) {
  return $Object.defineProperty(it, key, desc);
};
var $export = __webpack_require__(123);
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
$export($export.S + $export.F * !__webpack_require__(125), 'Object', { defineProperty: __webpack_require__(124).f });


exports.__esModule = true;

var _typeof2 = __webpack_require__(230);

var _typeof3 = _interopRequireDefault(_typeof2);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = function (self, call) {
  if (!self) {
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  }

  return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
};

exports.__esModule = true;

var _iterator = __webpack_require__(692);

var _iterator2 = _interopRequireDefault(_iterator);

var _symbol = __webpack_require__(703);

var _symbol2 = _interopRequireDefault(_symbol);

var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
  return typeof obj === "undefined" ? "undefined" : _typeof(obj);
} : function (obj) {
  return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
};module.exports = { "default": __webpack_require__(693), __esModule: true };__webpack_require__(694);
__webpack_require__(699);
module.exports = __webpack_require__(300).f('iterator');

var $at = __webpack_require__(695)(true);

// 21.1.3.27 String.prototype[@@iterator]()
__webpack_require__(548)(String, 'String', function (iterated) {
  this._t = String(iterated); // target
  this._i = 0;                // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function () {
  var O = this._t;
  var index = this._i;
  var point;
  if (index >= O.length) return { value: undefined, done: true };
  point = $at(O, index);
  this._i += point.length;
  return { value: point, done: false };
});
var toInteger = __webpack_require__(291);
var defined = __webpack_require__(290);
// true  -> String#at
// false -> String#codePointAt
module.exports = function (TO_STRING) {
  return function (that, pos) {
    var s = String(defined(that));
    var i = toInteger(pos);
    var l = s.length;
    var a, b;
    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
    a = s.charCodeAt(i);
    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
      ? TO_STRING ? s.charAt(i) : a
      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
  };
};

var LIBRARY = __webpack_require__(296);
var $export = __webpack_require__(123);
var redefine = __webpack_require__(549);
var hide = __webpack_require__(166);
var Iterators = __webpack_require__(297);
var $iterCreate = __webpack_require__(696);
var setToStringTag = __webpack_require__(299);
var getPrototypeOf = __webpack_require__(546);
var ITERATOR = __webpack_require__(170)('iterator');
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
var FF_ITERATOR = '@@iterator';
var KEYS = 'keys';
var VALUES = 'values';

var returnThis = function () { return this; };

module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
  $iterCreate(Constructor, NAME, next);
  var getMethod = function (kind) {
    if (!BUGGY && kind in proto) return proto[kind];
    switch (kind) {
      case KEYS: return function keys() { return new Constructor(this, kind); };
      case VALUES: return function values() { return new Constructor(this, kind); };
    } return function entries() { return new Constructor(this, kind); };
  };
  var TAG = NAME + ' Iterator';
  var DEF_VALUES = DEFAULT == VALUES;
  var VALUES_BUG = false;
  var proto = Base.prototype;
  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
  var $default = $native || getMethod(DEFAULT);
  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
  var methods, key, IteratorPrototype;
  // Fix native
  if ($anyNative) {
    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
      // Set @@toStringTag to native iterators
      setToStringTag(IteratorPrototype, TAG, true);
      // fix for some old engines
      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
    }
  }
  // fix Array#{values, @@iterator}.name in V8 / FF
  if (DEF_VALUES && $native && $native.name !== VALUES) {
    VALUES_BUG = true;
    $default = function values() { return $native.call(this); };
  }
  // Define iterator
  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
    hide(proto, ITERATOR, $default);
  }
  // Plug for library
  Iterators[NAME] = $default;
  Iterators[TAG] = returnThis;
  if (DEFAULT) {
    methods = {
      values: DEF_VALUES ? $default : getMethod(VALUES),
      keys: IS_SET ? $default : getMethod(KEYS),
      entries: $entries
    };
    if (FORCED) for (key in methods) {
      if (!(key in proto)) redefine(proto, key, methods[key]);
    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
  }
  return methods;
};
module.exports = true;
module.exports = __webpack_require__(166);
module.exports = {};

var create = __webpack_require__(298);
var descriptor = __webpack_require__(226);
var setToStringTag = __webpack_require__(299);
var IteratorPrototype = {};

// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
__webpack_require__(166)(IteratorPrototype, __webpack_require__(170)('iterator'), function () { return this; });

module.exports = function (Constructor, NAME, next) {
  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
  setToStringTag(Constructor, NAME + ' Iterator');
};
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = __webpack_require__(183);
var dPs = __webpack_require__(697);
var enumBugKeys = __webpack_require__(294);
var IE_PROTO = __webpack_require__(292)('IE_PROTO');
var Empty = function () { /* empty */ };
var PROTOTYPE = 'prototype';

// Create object with fake `null` prototype: use iframe Object with cleared prototype
var createDict = function () {
  // Thrash, waste and sodomy: IE GC bug
  var iframe = __webpack_require__(542)('iframe');
  var i = enumBugKeys.length;
  var lt = '<';
  var gt = '>';
  var iframeDocument;
  iframe.style.display = 'none';
  __webpack_require__(698).appendChild(iframe);
  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
  // createDict = iframe.contentWindow.Object;
  // html.removeChild(iframe);
  iframeDocument = iframe.contentWindow.document;
  iframeDocument.open();
  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
  iframeDocument.close();
  createDict = iframeDocument.F;
  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
  return createDict();
};

module.exports = Object.create || function create(O, Properties) {
  var result;
  if (O !== null) {
    Empty[PROTOTYPE] = anObject(O);
    result = new Empty();
    Empty[PROTOTYPE] = null;
    // add "__proto__" for Object.getPrototypeOf polyfill
    result[IE_PROTO] = O;
  } else result = createDict();
  return Properties === undefined ? result : dPs(result, Properties);
};
var dP = __webpack_require__(124);
var anObject = __webpack_require__(183);
var getKeys = __webpack_require__(184);

module.exports = __webpack_require__(125) ? Object.defineProperties : function defineProperties(O, Properties) {
  anObject(O);
  var keys = getKeys(Properties);
  var length = keys.length;
  var i = 0;
  var P;
  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
  return O;
};
var document = __webpack_require__(115).document;
module.exports = document && document.documentElement;
var def = __webpack_require__(124).f;
var has = __webpack_require__(126);
var TAG = __webpack_require__(170)('toStringTag');

module.exports = function (it, tag, stat) {
  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
};
var store = __webpack_require__(293)('wks');
var uid = __webpack_require__(227);
var Symbol = __webpack_require__(115).Symbol;
var USE_SYMBOL = typeof Symbol == 'function';

var $exports = module.exports = function (name) {
  return store[name] || (store[name] =
    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
};

$exports.store = store;
__webpack_require__(700);
var global = __webpack_require__(115);
var hide = __webpack_require__(166);
var Iterators = __webpack_require__(297);
var TO_STRING_TAG = __webpack_require__(170)('toStringTag');

var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
  'TextTrackList,TouchList').split(',');

for (var i = 0; i < DOMIterables.length; i++) {
  var NAME = DOMIterables[i];
  var Collection = global[NAME];
  var proto = Collection && Collection.prototype;
  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
  Iterators[NAME] = Iterators.Array;
}

var addToUnscopables = __webpack_require__(701);
var step = __webpack_require__(702);
var Iterators = __webpack_require__(297);
var toIObject = __webpack_require__(169);

// 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
module.exports = __webpack_require__(548)(Array, 'Array', function (iterated, kind) {
  this._t = toIObject(iterated); // target
  this._i = 0;                   // next index
  this._k = kind;                // kind
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
}, function () {
  var O = this._t;
  var kind = this._k;
  var index = this._i++;
  if (!O || index >= O.length) {
    this._t = undefined;
    return step(1);
  }
  if (kind == 'keys') return step(0, index);
  if (kind == 'values') return step(0, O[index]);
  return step(0, [index, O[index]]);
}, 'values');

// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
Iterators.Arguments = Iterators.Array;

addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');
module.exports = function () { /* empty */ };
module.exports = function (done, value) {
  return { value: value, done: !!done };
};
exports.f = __webpack_require__(170);
module.exports = { "default": __webpack_require__(704), __esModule: true };__webpack_require__(705);
__webpack_require__(710);
__webpack_require__(711);
__webpack_require__(712);
module.exports = __webpack_require__(83).Symbol;

// ECMAScript 6 symbols shim
var global = __webpack_require__(115);
var has = __webpack_require__(126);
var DESCRIPTORS = __webpack_require__(125);
var $export = __webpack_require__(123);
var redefine = __webpack_require__(549);
var META = __webpack_require__(706).KEY;
var $fails = __webpack_require__(168);
var shared = __webpack_require__(293);
var setToStringTag = __webpack_require__(299);
var uid = __webpack_require__(227);
var wks = __webpack_require__(170);
var wksExt = __webpack_require__(300);
var wksDefine = __webpack_require__(301);
var enumKeys = __webpack_require__(707);
var isArray = __webpack_require__(708);
var anObject = __webpack_require__(183);
var isObject = __webpack_require__(167);
var toIObject = __webpack_require__(169);
var toPrimitive = __webpack_require__(289);
var createDesc = __webpack_require__(226);
var _create = __webpack_require__(298);
var gOPNExt = __webpack_require__(709);
var $GOPD = __webpack_require__(551);
var $DP = __webpack_require__(124);
var $keys = __webpack_require__(184);
var gOPD = $GOPD.f;
var dP = $DP.f;
var gOPN = gOPNExt.f;
var $Symbol = global.Symbol;
var $JSON = global.JSON;
var _stringify = $JSON && $JSON.stringify;
var PROTOTYPE = 'prototype';
var HIDDEN = wks('_hidden');
var TO_PRIMITIVE = wks('toPrimitive');
var isEnum = {}.propertyIsEnumerable;
var SymbolRegistry = shared('symbol-registry');
var AllSymbols = shared('symbols');
var OPSymbols = shared('op-symbols');
var ObjectProto = Object[PROTOTYPE];
var USE_NATIVE = typeof $Symbol == 'function';
var QObject = global.QObject;
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;

// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDesc = DESCRIPTORS && $fails(function () {
  return _create(dP({}, 'a', {
    get: function () { return dP(this, 'a', { value: 7 }).a; }
  })).a != 7;
}) ? function (it, key, D) {
  var protoDesc = gOPD(ObjectProto, key);
  if (protoDesc) delete ObjectProto[key];
  dP(it, key, D);
  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
} : dP;

var wrap = function (tag) {
  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
  sym._k = tag;
  return sym;
};

var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
  return typeof it == 'symbol';
} : function (it) {
  return it instanceof $Symbol;
};

var $defineProperty = function defineProperty(it, key, D) {
  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
  anObject(it);
  key = toPrimitive(key, true);
  anObject(D);
  if (has(AllSymbols, key)) {
    if (!D.enumerable) {
      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
      it[HIDDEN][key] = true;
    } else {
      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
      D = _create(D, { enumerable: createDesc(0, false) });
    } return setSymbolDesc(it, key, D);
  } return dP(it, key, D);
};
var $defineProperties = function defineProperties(it, P) {
  anObject(it);
  var keys = enumKeys(P = toIObject(P));
  var i = 0;
  var l = keys.length;
  var key;
  while (l > i) $defineProperty(it, key = keys[i++], P[key]);
  return it;
};
var $create = function create(it, P) {
  return P === undefined ? _create(it) : $defineProperties(_create(it), P);
};
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
  var E = isEnum.call(this, key = toPrimitive(key, true));
  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
};
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
  it = toIObject(it);
  key = toPrimitive(key, true);
  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
  var D = gOPD(it, key);
  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
  return D;
};
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
  var names = gOPN(toIObject(it));
  var result = [];
  var i = 0;
  var key;
  while (names.length > i) {
    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
  } return result;
};
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
  var IS_OP = it === ObjectProto;
  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
  var result = [];
  var i = 0;
  var key;
  while (names.length > i) {
    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
  } return result;
};

// 19.4.1.1 Symbol([description])
if (!USE_NATIVE) {
  $Symbol = function Symbol() {
    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
    var $set = function (value) {
      if (this === ObjectProto) $set.call(OPSymbols, value);
      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
      setSymbolDesc(this, tag, createDesc(1, value));
    };
    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
    return wrap(tag);
  };
  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
    return this._k;
  });

  $GOPD.f = $getOwnPropertyDescriptor;
  $DP.f = $defineProperty;
  __webpack_require__(550).f = gOPNExt.f = $getOwnPropertyNames;
  __webpack_require__(228).f = $propertyIsEnumerable;
  __webpack_require__(295).f = $getOwnPropertySymbols;

  if (DESCRIPTORS && !__webpack_require__(296)) {
    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
  }

  wksExt.f = function (name) {
    return wrap(wks(name));
  };
}

$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });

for (var es6Symbols = (
  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);

for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);

$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
  // 19.4.2.1 Symbol.for(key)
  'for': function (key) {
    return has(SymbolRegistry, key += '')
      ? SymbolRegistry[key]
      : SymbolRegistry[key] = $Symbol(key);
  },
  // 19.4.2.5 Symbol.keyFor(sym)
  keyFor: function keyFor(sym) {
    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
  },
  useSetter: function () { setter = true; },
  useSimple: function () { setter = false; }
});

$export($export.S + $export.F * !USE_NATIVE, 'Object', {
  // 19.1.2.2 Object.create(O [, Properties])
  create: $create,
  // 19.1.2.4 Object.defineProperty(O, P, Attributes)
  defineProperty: $defineProperty,
  // 19.1.2.3 Object.defineProperties(O, Properties)
  defineProperties: $defineProperties,
  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
  // 19.1.2.7 Object.getOwnPropertyNames(O)
  getOwnPropertyNames: $getOwnPropertyNames,
  // 19.1.2.8 Object.getOwnPropertySymbols(O)
  getOwnPropertySymbols: $getOwnPropertySymbols
});

// 24.3.2 JSON.stringify(value [, replacer [, space]])
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
  var S = $Symbol();
  // MS Edge converts symbol values to JSON as {}
  // WebKit converts symbol values to JSON as null
  // V8 throws on boxed symbols
  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
})), 'JSON', {
  stringify: function stringify(it) {
    var args = [it];
    var i = 1;
    var replacer, $replacer;
    while (arguments.length > i) args.push(arguments[i++]);
    $replacer = replacer = args[1];
    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
    if (!isArray(replacer)) replacer = function (key, value) {
      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
      if (!isSymbol(value)) return value;
    };
    args[1] = replacer;
    return _stringify.apply($JSON, args);
  }
});

// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(166)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
// 19.4.3.5 Symbol.prototype[@@toStringTag]
setToStringTag($Symbol, 'Symbol');
// 20.2.1.9 Math[@@toStringTag]
setToStringTag(Math, 'Math', true);
// 24.3.3 JSON[@@toStringTag]
setToStringTag(global.JSON, 'JSON', true);
var META = __webpack_require__(227)('meta');
var isObject = __webpack_require__(167);
var has = __webpack_require__(126);
var setDesc = __webpack_require__(124).f;
var id = 0;
var isExtensible = Object.isExtensible || function () {
  return true;
};
var FREEZE = !__webpack_require__(168)(function () {
  return isExtensible(Object.preventExtensions({}));
});
var setMeta = function (it) {
  setDesc(it, META, { value: {
    i: 'O' + ++id, // object ID
    w: {}          // weak collections IDs
  } });
};
var fastKey = function (it, create) {
  // return primitive with prefix
  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  if (!has(it, META)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return 'F';
    // not necessary to add metadata
    if (!create) return 'E';
    // add missing metadata
    setMeta(it);
  // return object ID
  } return it[META].i;
};
var getWeak = function (it, create) {
  if (!has(it, META)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return true;
    // not necessary to add metadata
    if (!create) return false;
    // add missing metadata
    setMeta(it);
  // return hash weak collections IDs
  } return it[META].w;
};
// add metadata on freeze-family methods calling
var onFreeze = function (it) {
  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
  return it;
};
var meta = module.exports = {
  KEY: META,
  NEED: false,
  fastKey: fastKey,
  getWeak: getWeak,
  onFreeze: onFreeze
};
var global = __webpack_require__(115);
var core = __webpack_require__(83);
var LIBRARY = __webpack_require__(296);
var wksExt = __webpack_require__(300);
var defineProperty = __webpack_require__(124).f;
module.exports = function (name) {
  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
};
// all enumerable object keys, includes symbols
var getKeys = __webpack_require__(184);
var gOPS = __webpack_require__(295);
var pIE = __webpack_require__(228);
module.exports = function (it) {
  var result = getKeys(it);
  var getSymbols = gOPS.f;
  if (getSymbols) {
    var symbols = getSymbols(it);
    var isEnum = pIE.f;
    var i = 0;
    var key;
    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
  } return result;
};
// 7.2.2 IsArray(argument)
var cof = __webpack_require__(545);
module.exports = Array.isArray || function isArray(arg) {
  return cof(arg) == 'Array';
};
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
var toIObject = __webpack_require__(169);
var gOPN = __webpack_require__(550).f;
var toString = {}.toString;

var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  ? Object.getOwnPropertyNames(window) : [];

var getWindowNames = function (it) {
  try {
    return gOPN(it);
  } catch (e) {
    return windowNames.slice();
  }
};

module.exports.f = function getOwnPropertyNames(it) {
  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
};
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
var $keys = __webpack_require__(543);
var hiddenKeys = __webpack_require__(294).concat('length', 'prototype');

exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  return $keys(O, hiddenKeys);
};
var pIE = __webpack_require__(228);
var createDesc = __webpack_require__(226);
var toIObject = __webpack_require__(169);
var toPrimitive = __webpack_require__(289);
var has = __webpack_require__(126);
var IE8_DOM_DEFINE = __webpack_require__(541);
var gOPD = Object.getOwnPropertyDescriptor;

exports.f = __webpack_require__(125) ? gOPD : function getOwnPropertyDescriptor(O, P) {
  O = toIObject(O);
  P = toPrimitive(P, true);
  if (IE8_DOM_DEFINE) try {
    return gOPD(O, P);
  } catch (e) { /* empty */ }
  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
};
__webpack_require__(301)('asyncIterator');
__webpack_require__(301)('observable');


exports.__esModule = true;

var _setPrototypeOf = __webpack_require__(713);

var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);

var _create = __webpack_require__(717);

var _create2 = _interopRequireDefault(_create);

var _typeof2 = __webpack_require__(230);

var _typeof3 = _interopRequireDefault(_typeof2);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.default = function (subClass, superClass) {
  if (typeof superClass !== "function" && superClass !== null) {
    throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
  }

  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
    constructor: {
      value: subClass,
      enumerable: false,
      writable: true,
      configurable: true
    }
  });
  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
};module.exports = { "default": __webpack_require__(714), __esModule: true };__webpack_require__(715);
module.exports = __webpack_require__(83).Object.setPrototypeOf;
// 19.1.3.19 Object.setPrototypeOf(O, proto)
var $export = __webpack_require__(123);
$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(716).set });
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var isObject = __webpack_require__(167);
var anObject = __webpack_require__(183);
var check = function (O, proto) {
  anObject(O);
  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
};
module.exports = {
  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
    function (test, buggy, set) {
      try {
        set = __webpack_require__(540)(Function.call, __webpack_require__(551).f(Object.prototype, '__proto__').set, 2);
        set(test, []);
        buggy = !(test instanceof Array);
      } catch (e) { buggy = true; }
      return function setPrototypeOf(O, proto) {
        check(O, proto);
        if (buggy) O.__proto__ = proto;
        else set(O, proto);
        return O;
      };
    }({}, false) : undefined),
  check: check
};
module.exports = { "default": __webpack_require__(718), __esModule: true };__webpack_require__(719);
var $Object = __webpack_require__(83).Object;
module.exports = function create(P, D) {
  return $Object.create(P, D);
};
var $export = __webpack_require__(123);
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
$export($export.S, 'Object', { create: __webpack_require__(298) });
module.exports = { "default": __webpack_require__(720), __esModule: true };var core = __webpack_require__(83);
var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });
module.exports = function stringify(it) { // eslint-disable-line no-unused-vars
  return $JSON.stringify.apply($JSON, arguments);
};
module.exports = { "default": __webpack_require__(721), __esModule: true };__webpack_require__(722);
module.exports = __webpack_require__(83).Object.keys;
// 19.1.2.14 Object.keys(O)
var toObject = __webpack_require__(229);
var $keys = __webpack_require__(184);

__webpack_require__(547)('keys', function () {
  return function keys(it) {
    return $keys(toObject(it));
  };
});
/* WEBPACK VAR INJECTION */(function(global) {

// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js
// original notice:

/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
function compare(a, b) {
  if (a === b) {
    return 0;
  }

  var x = a.length;
  var y = b.length;

  for (var i = 0, len = Math.min(x, y); i < len; ++i) {
    if (a[i] !== b[i]) {
      x = a[i];
      y = b[i];
      break;
    }
  }

  if (x < y) {
    return -1;
  }
  if (y < x) {
    return 1;
  }
  return 0;
}
function isBuffer(b) {
  if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {
    return global.Buffer.isBuffer(b);
  }
  return !!(b != null && b._isBuffer);
}

// based on node assert, original notice:

// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
//
// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
//
// Originally from narwhal.js (http://narwhaljs.org)
// Copyright (c) 2009 Thomas Robinson <280north.com>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the 'Software'), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

var util = __webpack_require__(723);
var hasOwn = Object.prototype.hasOwnProperty;
var pSlice = Array.prototype.slice;
var functionsHaveNames = (function () {
  return function foo() {}.name === 'foo';
}());
function pToString (obj) {
  return Object.prototype.toString.call(obj);
}
function isView(arrbuf) {
  if (isBuffer(arrbuf)) {
    return false;
  }
  if (typeof global.ArrayBuffer !== 'function') {
    return false;
  }
  if (typeof ArrayBuffer.isView === 'function') {
    return ArrayBuffer.isView(arrbuf);
  }
  if (!arrbuf) {
    return false;
  }
  if (arrbuf instanceof DataView) {
    return true;
  }
  if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {
    return true;
  }
  return false;
}
// 1. The assert module provides functions that throw
// AssertionError's when particular conditions are not met. The
// assert module must conform to the following interface.

var assert = module.exports = ok;

// 2. The AssertionError is defined in assert.
// new assert.AssertionError({ message: message,
//                             actual: actual,
//                             expected: expected })

var regex = /\s*function\s+([^\(\s]*)\s*/;
// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js
function getName(func) {
  if (!util.isFunction(func)) {
    return;
  }
  if (functionsHaveNames) {
    return func.name;
  }
  var str = func.toString();
  var match = str.match(regex);
  return match && match[1];
}
assert.AssertionError = function AssertionError(options) {
  this.name = 'AssertionError';
  this.actual = options.actual;
  this.expected = options.expected;
  this.operator = options.operator;
  if (options.message) {
    this.message = options.message;
    this.generatedMessage = false;
  } else {
    this.message = getMessage(this);
    this.generatedMessage = true;
  }
  var stackStartFunction = options.stackStartFunction || fail;
  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, stackStartFunction);
  } else {
    // non v8 browsers so we can have a stacktrace
    var err = new Error();
    if (err.stack) {
      var out = err.stack;

      // try to strip useless frames
      var fn_name = getName(stackStartFunction);
      var idx = out.indexOf('\n' + fn_name);
      if (idx >= 0) {
        // once we have located the function frame
        // we need to strip out everything before it (and its line)
        var next_line = out.indexOf('\n', idx + 1);
        out = out.substring(next_line + 1);
      }

      this.stack = out;
    }
  }
};

// assert.AssertionError instanceof Error
util.inherits(assert.AssertionError, Error);

function truncate(s, n) {
  if (typeof s === 'string') {
    return s.length < n ? s : s.slice(0, n);
  } else {
    return s;
  }
}
function inspect(something) {
  if (functionsHaveNames || !util.isFunction(something)) {
    return util.inspect(something);
  }
  var rawname = getName(something);
  var name = rawname ? ': ' + rawname : '';
  return '[Function' +  name + ']';
}
function getMessage(self) {
  return truncate(inspect(self.actual), 128) + ' ' +
         self.operator + ' ' +
         truncate(inspect(self.expected), 128);
}

// At present only the three keys mentioned above are used and
// understood by the spec. Implementations or sub modules can pass
// other keys to the AssertionError's constructor - they will be
// ignored.

// 3. All of the following functions must throw an AssertionError
// when a corresponding condition is not met, with a message that
// may be undefined if not provided.  All assertion methods provide
// both the actual and expected values to the assertion error for
// display purposes.

function fail(actual, expected, message, operator, stackStartFunction) {
  throw new assert.AssertionError({
    message: message,
    actual: actual,
    expected: expected,
    operator: operator,
    stackStartFunction: stackStartFunction
  });
}

// EXTENSION! allows for well behaved errors defined elsewhere.
assert.fail = fail;

// 4. Pure assertion tests whether a value is truthy, as determined
// by !!guard.
// assert.ok(guard, message_opt);
// This statement is equivalent to assert.equal(true, !!guard,
// message_opt);. To test strictly for the value true, use
// assert.strictEqual(true, guard, message_opt);.

function ok(value, message) {
  if (!value) fail(value, true, message, '==', assert.ok);
}
assert.ok = ok;

// 5. The equality assertion tests shallow, coercive equality with
// ==.
// assert.equal(actual, expected, message_opt);

assert.equal = function equal(actual, expected, message) {
  if (actual != expected) fail(actual, expected, message, '==', assert.equal);
};

// 6. The non-equality assertion tests for whether two objects are not equal
// with != assert.notEqual(actual, expected, message_opt);

assert.notEqual = function notEqual(actual, expected, message) {
  if (actual == expected) {
    fail(actual, expected, message, '!=', assert.notEqual);
  }
};

// 7. The equivalence assertion tests a deep equality relation.
// assert.deepEqual(actual, expected, message_opt);

assert.deepEqual = function deepEqual(actual, expected, message) {
  if (!_deepEqual(actual, expected, false)) {
    fail(actual, expected, message, 'deepEqual', assert.deepEqual);
  }
};

assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
  if (!_deepEqual(actual, expected, true)) {
    fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);
  }
};

function _deepEqual(actual, expected, strict, memos) {
  // 7.1. All identical values are equivalent, as determined by ===.
  if (actual === expected) {
    return true;
  } else if (isBuffer(actual) && isBuffer(expected)) {
    return compare(actual, expected) === 0;

  // 7.2. If the expected value is a Date object, the actual value is
  // equivalent if it is also a Date object that refers to the same time.
  } else if (util.isDate(actual) && util.isDate(expected)) {
    return actual.getTime() === expected.getTime();

  // 7.3 If the expected value is a RegExp object, the actual value is
  // equivalent if it is also a RegExp object with the same source and
  // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
  } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
    return actual.source === expected.source &&
           actual.global === expected.global &&
           actual.multiline === expected.multiline &&
           actual.lastIndex === expected.lastIndex &&
           actual.ignoreCase === expected.ignoreCase;

  // 7.4. Other pairs that do not both pass typeof value == 'object',
  // equivalence is determined by ==.
  } else if ((actual === null || typeof actual !== 'object') &&
             (expected === null || typeof expected !== 'object')) {
    return strict ? actual === expected : actual == expected;

  // If both values are instances of typed arrays, wrap their underlying
  // ArrayBuffers in a Buffer each to increase performance
  // This optimization requires the arrays to have the same type as checked by
  // Object.prototype.toString (aka pToString). Never perform binary
  // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their
  // bit patterns are not identical.
  } else if (isView(actual) && isView(expected) &&
             pToString(actual) === pToString(expected) &&
             !(actual instanceof Float32Array ||
               actual instanceof Float64Array)) {
    return compare(new Uint8Array(actual.buffer),
                   new Uint8Array(expected.buffer)) === 0;

  // 7.5 For all other Object pairs, including Array objects, equivalence is
  // determined by having the same number of owned properties (as verified
  // with Object.prototype.hasOwnProperty.call), the same set of keys
  // (although not necessarily the same order), equivalent values for every
  // corresponding key, and an identical 'prototype' property. Note: this
  // accounts for both named and indexed properties on Arrays.
  } else if (isBuffer(actual) !== isBuffer(expected)) {
    return false;
  } else {
    memos = memos || {actual: [], expected: []};

    var actualIndex = memos.actual.indexOf(actual);
    if (actualIndex !== -1) {
      if (actualIndex === memos.expected.indexOf(expected)) {
        return true;
      }
    }

    memos.actual.push(actual);
    memos.expected.push(expected);

    return objEquiv(actual, expected, strict, memos);
  }
}

function isArguments(object) {
  return Object.prototype.toString.call(object) == '[object Arguments]';
}

function objEquiv(a, b, strict, actualVisitedObjects) {
  if (a === null || a === undefined || b === null || b === undefined)
    return false;
  // if one is a primitive, the other must be same
  if (util.isPrimitive(a) || util.isPrimitive(b))
    return a === b;
  if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))
    return false;
  var aIsArgs = isArguments(a);
  var bIsArgs = isArguments(b);
  if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
    return false;
  if (aIsArgs) {
    a = pSlice.call(a);
    b = pSlice.call(b);
    return _deepEqual(a, b, strict);
  }
  var ka = objectKeys(a);
  var kb = objectKeys(b);
  var key, i;
  // having the same number of owned properties (keys incorporates
  // hasOwnProperty)
  if (ka.length !== kb.length)
    return false;
  //the same set of keys (although not necessarily the same order),
  ka.sort();
  kb.sort();
  //~~~cheap key test
  for (i = ka.length - 1; i >= 0; i--) {
    if (ka[i] !== kb[i])
      return false;
  }
  //equivalent values for every corresponding key, and
  //~~~possibly expensive deep test
  for (i = ka.length - 1; i >= 0; i--) {
    key = ka[i];
    if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))
      return false;
  }
  return true;
}

// 8. The non-equivalence assertion tests for any deep inequality.
// assert.notDeepEqual(actual, expected, message_opt);

assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
  if (_deepEqual(actual, expected, false)) {
    fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
  }
};

assert.notDeepStrictEqual = notDeepStrictEqual;
function notDeepStrictEqual(actual, expected, message) {
  if (_deepEqual(actual, expected, true)) {
    fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);
  }
}


// 9. The strict equality assertion tests strict equality, as determined by ===.
// assert.strictEqual(actual, expected, message_opt);

assert.strictEqual = function strictEqual(actual, expected, message) {
  if (actual !== expected) {
    fail(actual, expected, message, '===', assert.strictEqual);
  }
};

// 10. The strict non-equality assertion tests for strict inequality, as
// determined by !==.  assert.notStrictEqual(actual, expected, message_opt);

assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
  if (actual === expected) {
    fail(actual, expected, message, '!==', assert.notStrictEqual);
  }
};

function expectedException(actual, expected) {
  if (!actual || !expected) {
    return false;
  }

  if (Object.prototype.toString.call(expected) == '[object RegExp]') {
    return expected.test(actual);
  }

  try {
    if (actual instanceof expected) {
      return true;
    }
  } catch (e) {
    // Ignore.  The instanceof check doesn't work for arrow functions.
  }

  if (Error.isPrototypeOf(expected)) {
    return false;
  }

  return expected.call({}, actual) === true;
}

function _tryBlock(block) {
  var error;
  try {
    block();
  } catch (e) {
    error = e;
  }
  return error;
}

function _throws(shouldThrow, block, expected, message) {
  var actual;

  if (typeof block !== 'function') {
    throw new TypeError('"block" argument must be a function');
  }

  if (typeof expected === 'string') {
    message = expected;
    expected = null;
  }

  actual = _tryBlock(block);

  message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
            (message ? ' ' + message : '.');

  if (shouldThrow && !actual) {
    fail(actual, expected, 'Missing expected exception' + message);
  }

  var userProvidedMessage = typeof message === 'string';
  var isUnwantedException = !shouldThrow && util.isError(actual);
  var isUnexpectedException = !shouldThrow && actual && !expected;

  if ((isUnwantedException &&
      userProvidedMessage &&
      expectedException(actual, expected)) ||
      isUnexpectedException) {
    fail(actual, expected, 'Got unwanted exception' + message);
  }

  if ((shouldThrow && actual && expected &&
      !expectedException(actual, expected)) || (!shouldThrow && actual)) {
    throw actual;
  }
}

// 11. Expected to throw an error:
// assert.throws(block, Error_opt, message_opt);

assert.throws = function(block, /*optional*/error, /*optional*/message) {
  _throws(true, block, error, message);
};

// EXTENSION! This is annoying to write outside this module.
assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
  _throws(false, block, error, message);
};

assert.ifError = function(err) { if (err) throw err; };

var objectKeys = Object.keys || function (obj) {
  var keys = [];
  for (var key in obj) {
    if (hasOwn.call(obj, key)) keys.push(key);
  }
  return keys;
};

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(57)))/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||
  function getOwnPropertyDescriptors(obj) {
    var keys = Object.keys(obj);
    var descriptors = {};
    for (var i = 0; i < keys.length; i++) {
      descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);
    }
    return descriptors;
  };

var formatRegExp = /%[sdj%]/g;
exports.format = function(f) {
  if (!isString(f)) {
    var objects = [];
    for (var i = 0; i < arguments.length; i++) {
      objects.push(inspect(arguments[i]));
    }
    return objects.join(' ');
  }

  var i = 1;
  var args = arguments;
  var len = args.length;
  var str = String(f).replace(formatRegExp, function(x) {
    if (x === '%%') return '%';
    if (i >= len) return x;
    switch (x) {
      case '%s': return String(args[i++]);
      case '%d': return Number(args[i++]);
      case '%j':
        try {
          return JSON.stringify(args[i++]);
        } catch (_) {
          return '[Circular]';
        }
      default:
        return x;
    }
  });
  for (var x = args[i]; i < len; x = args[++i]) {
    if (isNull(x) || !isObject(x)) {
      str += ' ' + x;
    } else {
      str += ' ' + inspect(x);
    }
  }
  return str;
};


// Mark that a method should not be used.
// Returns a modified function which warns once by default.
// If --no-deprecation is set, then it is a no-op.
exports.deprecate = function(fn, msg) {
  if (typeof process !== 'undefined' && process.noDeprecation === true) {
    return fn;
  }

  // Allow for deprecating things in the process of starting up.
  if (typeof process === 'undefined') {
    return function() {
      return exports.deprecate(fn, msg).apply(this, arguments);
    };
  }

  var warned = false;
  function deprecated() {
    if (!warned) {
      if (process.throwDeprecation) {
        throw new Error(msg);
      } else if (process.traceDeprecation) {
        console.trace(msg);
      } else {
        console.error(msg);
      }
      warned = true;
    }
    return fn.apply(this, arguments);
  }

  return deprecated;
};


var debugs = {};
var debugEnviron;
exports.debuglog = function(set) {
  if (isUndefined(debugEnviron))
    debugEnviron = Object({"NODE_ENV":"production","VERSION":"2.4.17","basename":"solarizecc","dmca":"","facebook":"639842590102302","googleAds":"AW-792655275","googleAdsConversion":"0nz8CJ6k3s4BEKvr-_kC","googleAnalytics":"UA-124566353-34","version":"2.14.1-1.0.21"}).NODE_DEBUG || '';
  set = set.toUpperCase();
  if (!debugs[set]) {
    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
      var pid = process.pid;
      debugs[set] = function() {
        var msg = exports.format.apply(exports, arguments);
        console.error('%s %d: %s', set, pid, msg);
      };
    } else {
      debugs[set] = function() {};
    }
  }
  return debugs[set];
};


/**
 * Echos the value of a value. Trys to print the value out
 * in the best way possible given the different types.
 *
 * @param {Object} obj The object to print out.
 * @param {Object} opts Optional options object that alters the output.
 */
/* legacy: obj, showHidden, depth, colors*/
function inspect(obj, opts) {
  // default options
  var ctx = {
    seen: [],
    stylize: stylizeNoColor
  };
  // legacy...
  if (arguments.length >= 3) ctx.depth = arguments[2];
  if (arguments.length >= 4) ctx.colors = arguments[3];
  if (isBoolean(opts)) {
    // legacy...
    ctx.showHidden = opts;
  } else if (opts) {
    // got an "options" object
    exports._extend(ctx, opts);
  }
  // set default options
  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
  if (isUndefined(ctx.depth)) ctx.depth = 2;
  if (isUndefined(ctx.colors)) ctx.colors = false;
  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
  if (ctx.colors) ctx.stylize = stylizeWithColor;
  return formatValue(ctx, obj, ctx.depth);
}
exports.inspect = inspect;


// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
inspect.colors = {
  'bold' : [1, 22],
  'italic' : [3, 23],
  'underline' : [4, 24],
  'inverse' : [7, 27],
  'white' : [37, 39],
  'grey' : [90, 39],
  'black' : [30, 39],
  'blue' : [34, 39],
  'cyan' : [36, 39],
  'green' : [32, 39],
  'magenta' : [35, 39],
  'red' : [31, 39],
  'yellow' : [33, 39]
};

// Don't use 'blue' not visible on cmd.exe
inspect.styles = {
  'special': 'cyan',
  'number': 'yellow',
  'boolean': 'yellow',
  'undefined': 'grey',
  'null': 'bold',
  'string': 'green',
  'date': 'magenta',
  // "name": intentionally not styling
  'regexp': 'red'
};


function stylizeWithColor(str, styleType) {
  var style = inspect.styles[styleType];

  if (style) {
    return '\u001b[' + inspect.colors[style][0] + 'm' + str +
           '\u001b[' + inspect.colors[style][1] + 'm';
  } else {
    return str;
  }
}


function stylizeNoColor(str, styleType) {
  return str;
}


function arrayToHash(array) {
  var hash = {};

  array.forEach(function(val, idx) {
    hash[val] = true;
  });

  return hash;
}


function formatValue(ctx, value, recurseTimes) {
  // Provide a hook for user-specified inspect functions.
  // Check that value is an object with an inspect function on it
  if (ctx.customInspect &&
      value &&
      isFunction(value.inspect) &&
      // Filter out the util module, it's inspect function is special
      value.inspect !== exports.inspect &&
      // Also filter out any prototype objects using the circular check.
      !(value.constructor && value.constructor.prototype === value)) {
    var ret = value.inspect(recurseTimes, ctx);
    if (!isString(ret)) {
      ret = formatValue(ctx, ret, recurseTimes);
    }
    return ret;
  }

  // Primitive types cannot have properties
  var primitive = formatPrimitive(ctx, value);
  if (primitive) {
    return primitive;
  }

  // Look up the keys of the object.
  var keys = Object.keys(value);
  var visibleKeys = arrayToHash(keys);

  if (ctx.showHidden) {
    keys = Object.getOwnPropertyNames(value);
  }

  // IE doesn't make error fields non-enumerable
  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
  if (isError(value)
      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
    return formatError(value);
  }

  // Some type of object without properties can be shortcutted.
  if (keys.length === 0) {
    if (isFunction(value)) {
      var name = value.name ? ': ' + value.name : '';
      return ctx.stylize('[Function' + name + ']', 'special');
    }
    if (isRegExp(value)) {
      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
    }
    if (isDate(value)) {
      return ctx.stylize(Date.prototype.toString.call(value), 'date');
    }
    if (isError(value)) {
      return formatError(value);
    }
  }

  var base = '', array = false, braces = ['{', '}'];

  // Make Array say that they are Array
  if (isArray(value)) {
    array = true;
    braces = ['[', ']'];
  }

  // Make functions say that they are functions
  if (isFunction(value)) {
    var n = value.name ? ': ' + value.name : '';
    base = ' [Function' + n + ']';
  }

  // Make RegExps say that they are RegExps
  if (isRegExp(value)) {
    base = ' ' + RegExp.prototype.toString.call(value);
  }

  // Make dates with properties first say the date
  if (isDate(value)) {
    base = ' ' + Date.prototype.toUTCString.call(value);
  }

  // Make error with message first say the error
  if (isError(value)) {
    base = ' ' + formatError(value);
  }

  if (keys.length === 0 && (!array || value.length == 0)) {
    return braces[0] + base + braces[1];
  }

  if (recurseTimes < 0) {
    if (isRegExp(value)) {
      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
    } else {
      return ctx.stylize('[Object]', 'special');
    }
  }

  ctx.seen.push(value);

  var output;
  if (array) {
    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
  } else {
    output = keys.map(function(key) {
      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
    });
  }

  ctx.seen.pop();

  return reduceToSingleString(output, base, braces);
}


function formatPrimitive(ctx, value) {
  if (isUndefined(value))
    return ctx.stylize('undefined', 'undefined');
  if (isString(value)) {
    var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
                                             .replace(/'/g, "\\'")
                                             .replace(/\\"/g, '"') + '\'';
    return ctx.stylize(simple, 'string');
  }
  if (isNumber(value))
    return ctx.stylize('' + value, 'number');
  if (isBoolean(value))
    return ctx.stylize('' + value, 'boolean');
  // For some reason typeof null is "object", so special case here.
  if (isNull(value))
    return ctx.stylize('null', 'null');
}


function formatError(value) {
  return '[' + Error.prototype.toString.call(value) + ']';
}


function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
  var output = [];
  for (var i = 0, l = value.length; i < l; ++i) {
    if (hasOwnProperty(value, String(i))) {
      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
          String(i), true));
    } else {
      output.push('');
    }
  }
  keys.forEach(function(key) {
    if (!key.match(/^\d+$/)) {
      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
          key, true));
    }
  });
  return output;
}


function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
  var name, str, desc;
  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
  if (desc.get) {
    if (desc.set) {
      str = ctx.stylize('[Getter/Setter]', 'special');
    } else {
      str = ctx.stylize('[Getter]', 'special');
    }
  } else {
    if (desc.set) {
      str = ctx.stylize('[Setter]', 'special');
    }
  }
  if (!hasOwnProperty(visibleKeys, key)) {
    name = '[' + key + ']';
  }
  if (!str) {
    if (ctx.seen.indexOf(desc.value) < 0) {
      if (isNull(recurseTimes)) {
        str = formatValue(ctx, desc.value, null);
      } else {
        str = formatValue(ctx, desc.value, recurseTimes - 1);
      }
      if (str.indexOf('\n') > -1) {
        if (array) {
          str = str.split('\n').map(function(line) {
            return '  ' + line;
          }).join('\n').substr(2);
        } else {
          str = '\n' + str.split('\n').map(function(line) {
            return '   ' + line;
          }).join('\n');
        }
      }
    } else {
      str = ctx.stylize('[Circular]', 'special');
    }
  }
  if (isUndefined(name)) {
    if (array && key.match(/^\d+$/)) {
      return str;
    }
    name = JSON.stringify('' + key);
    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
      name = name.substr(1, name.length - 2);
      name = ctx.stylize(name, 'name');
    } else {
      name = name.replace(/'/g, "\\'")
                 .replace(/\\"/g, '"')
                 .replace(/(^"|"$)/g, "'");
      name = ctx.stylize(name, 'string');
    }
  }

  return name + ': ' + str;
}


function reduceToSingleString(output, base, braces) {
  var numLinesEst = 0;
  var length = output.reduce(function(prev, cur) {
    numLinesEst++;
    if (cur.indexOf('\n') >= 0) numLinesEst++;
    return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
  }, 0);

  if (length > 60) {
    return braces[0] +
           (base === '' ? '' : base + '\n ') +
           ' ' +
           output.join(',\n  ') +
           ' ' +
           braces[1];
  }

  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
}


// NOTE: These type checking functions intentionally don't use `instanceof`
// because it is fragile and can be easily faked with `Object.create()`.
function isArray(ar) {
  return Array.isArray(ar);
}
exports.isArray = isArray;

function isBoolean(arg) {
  return typeof arg === 'boolean';
}
exports.isBoolean = isBoolean;

function isNull(arg) {
  return arg === null;
}
exports.isNull = isNull;

function isNullOrUndefined(arg) {
  return arg == null;
}
exports.isNullOrUndefined = isNullOrUndefined;

function isNumber(arg) {
  return typeof arg === 'number';
}
exports.isNumber = isNumber;

function isString(arg) {
  return typeof arg === 'string';
}
exports.isString = isString;

function isSymbol(arg) {
  return typeof arg === 'symbol';
}
exports.isSymbol = isSymbol;

function isUndefined(arg) {
  return arg === void 0;
}
exports.isUndefined = isUndefined;

function isRegExp(re) {
  return isObject(re) && objectToString(re) === '[object RegExp]';
}
exports.isRegExp = isRegExp;

function isObject(arg) {
  return typeof arg === 'object' && arg !== null;
}
exports.isObject = isObject;

function isDate(d) {
  return isObject(d) && objectToString(d) === '[object Date]';
}
exports.isDate = isDate;

function isError(e) {
  return isObject(e) &&
      (objectToString(e) === '[object Error]' || e instanceof Error);
}
exports.isError = isError;

function isFunction(arg) {
  return typeof arg === 'function';
}
exports.isFunction = isFunction;

function isPrimitive(arg) {
  return arg === null ||
         typeof arg === 'boolean' ||
         typeof arg === 'number' ||
         typeof arg === 'string' ||
         typeof arg === 'symbol' ||  // ES6 symbol
         typeof arg === 'undefined';
}
exports.isPrimitive = isPrimitive;

exports.isBuffer = __webpack_require__(724);

function objectToString(o) {
  return Object.prototype.toString.call(o);
}


function pad(n) {
  return n < 10 ? '0' + n.toString(10) : n.toString(10);
}


var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
              'Oct', 'Nov', 'Dec'];

// 26 Feb 16:19:34
function timestamp() {
  var d = new Date();
  var time = [pad(d.getHours()),
              pad(d.getMinutes()),
              pad(d.getSeconds())].join(':');
  return [d.getDate(), months[d.getMonth()], time].join(' ');
}


// log is just a thin wrapper to console.log that prepends a timestamp
exports.log = function() {
  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
};


/**
 * Inherit the prototype methods from one constructor into another.
 *
 * The Function.prototype.inherits from lang.js rewritten as a standalone
 * function (not on Function.prototype). NOTE: If this file is to be loaded
 * during bootstrapping this function needs to be rewritten using some native
 * functions as prototype setup using normal JavaScript does not work as
 * expected during bootstrapping (see mirror.js in r114903).
 *
 * @param {function} ctor Constructor function which needs to inherit the
 *     prototype.
 * @param {function} superCtor Constructor function to inherit prototype from.
 */
exports.inherits = __webpack_require__(725);

exports._extend = function(origin, add) {
  // Don't do anything if add isn't an object
  if (!add || !isObject(add)) return origin;

  var keys = Object.keys(add);
  var i = keys.length;
  while (i--) {
    origin[keys[i]] = add[keys[i]];
  }
  return origin;
};

function hasOwnProperty(obj, prop) {
  return Object.prototype.hasOwnProperty.call(obj, prop);
}

var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;

exports.promisify = function promisify(original) {
  if (typeof original !== 'function')
    throw new TypeError('The "original" argument must be of type Function');

  if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
    var fn = original[kCustomPromisifiedSymbol];
    if (typeof fn !== 'function') {
      throw new TypeError('The "util.promisify.custom" argument must be of type Function');
    }
    Object.defineProperty(fn, kCustomPromisifiedSymbol, {
      value: fn, enumerable: false, writable: false, configurable: true
    });
    return fn;
  }

  function fn() {
    var promiseResolve, promiseReject;
    var promise = new Promise(function (resolve, reject) {
      promiseResolve = resolve;
      promiseReject = reject;
    });

    var args = [];
    for (var i = 0; i < arguments.length; i++) {
      args.push(arguments[i]);
    }
    args.push(function (err, value) {
      if (err) {
        promiseReject(err);
      } else {
        promiseResolve(value);
      }
    });

    try {
      original.apply(this, args);
    } catch (err) {
      promiseReject(err);
    }

    return promise;
  }

  Object.setPrototypeOf(fn, Object.getPrototypeOf(original));

  if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {
    value: fn, enumerable: false, writable: false, configurable: true
  });
  return Object.defineProperties(
    fn,
    getOwnPropertyDescriptors(original)
  );
}

exports.promisify.custom = kCustomPromisifiedSymbol

function callbackifyOnRejected(reason, cb) {
  // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
  // Because `null` is a special error value in callbacks which means "no error
  // occurred", we error-wrap so the callback consumer can distinguish between
  // "the promise rejected with null" or "the promise fulfilled with undefined".
  if (!reason) {
    var newReason = new Error('Promise was rejected with a falsy value');
    newReason.reason = reason;
    reason = newReason;
  }
  return cb(reason);
}

function callbackify(original) {
  if (typeof original !== 'function') {
    throw new TypeError('The "original" argument must be of type Function');
  }

  // We DO NOT return the promise as it gives the user a false sense that
  // the promise is actually somehow related to the callback's execution
  // and that the callback throwing will reject the promise.
  function callbackified() {
    var args = [];
    for (var i = 0; i < arguments.length; i++) {
      args.push(arguments[i]);
    }

    var maybeCb = args.pop();
    if (typeof maybeCb !== 'function') {
      throw new TypeError('The last argument must be of type Function');
    }
    var self = this;
    var cb = function() {
      return maybeCb.apply(self, arguments);
    };
    // In true node style we process the callback on `nextTick` with all the
    // implications (stack, `uncaughtException`, `async_hooks`)
    original.apply(this, args)
      .then(function(ret) { process.nextTick(cb, null, ret) },
            function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });
  }

  Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));
  Object.defineProperties(callbackified,
                          getOwnPropertyDescriptors(original));
  return callbackified;
}
exports.callbackify = callbackify;

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(185)))module.exports = function isBuffer(arg) {
  return arg && typeof arg === 'object'
    && typeof arg.copy === 'function'
    && typeof arg.fill === 'function'
    && typeof arg.readUInt8 === 'function';
}if (typeof Object.create === 'function') {
  // implementation from standard node.js 'util' module
  module.exports = function inherits(ctor, superCtor) {
    ctor.super_ = superCtor
    ctor.prototype = Object.create(superCtor.prototype, {
      constructor: {
        value: ctor,
        enumerable: false,
        writable: true,
        configurable: true
      }
    });
  };
} else {
  // old school shim for old browsers
  module.exports = function inherits(ctor, superCtor) {
    ctor.super_ = superCtor
    var TempCtor = function () {}
    TempCtor.prototype = superCtor.prototype
    ctor.prototype = new TempCtor()
    ctor.prototype.constructor = ctor
  }
}


Object.defineProperty(exports, "__esModule", {
    value: true
});

var _AmalaImg = __webpack_require__(19);

var _AmalaImg2 = _interopRequireDefault(_AmalaImg);

var _cdn = __webpack_require__(171);

var _cdn2 = _interopRequireDefault(_cdn);

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _reactInlinesvg = __webpack_require__(39);

var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg);

var _styles = __webpack_require__(669);

var _styles2 = _interopRequireDefault(_styles);

__webpack_require__(671);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Boleto = function Boleto(_ref) {
    var hashes = _ref.hashes;

    if (hashes.length === 0) return null;
    var ebanxSubdomain = "print";
    if (false) {}
    return _react2.default.createElement(
        "div",
        { className: _styles2.default.boleto },
        _react2.default.createElement(
            "div",
            { className: _styles2.default.logo },
            _react2.default.createElement(_AmalaImg2.default, {
                width: 60,
                height: 40,
                src: "img/boleto.png",
                alt: "boleto"
            }),
            _react2.default.createElement(
                "div",
                { className: _styles2.default.text },
                "Download Your Boleto Ticket:"
            )
        ),
        _react2.default.createElement(
            "div",
            { className: _styles2.default.links },
            hashes.map(function (hash, index) {
                return _react2.default.createElement(
                    "a",
                    {
                        key: hash,
                        href: "https://" + ebanxSubdomain + ".ebanxpay.com/print/?hash=" + hash,
                        target: "_blank"
                    },
                    _react2.default.createElement(
                        "div",
                        { className: _styles2.default.linkContainer },
                        _react2.default.createElement(
                            "div",
                            {
                                key: hash,
                                className: _styles2.default.link,
                                style: index === 0 ? { marginLeft: 0 } : null
                            },
                            _react2.default.createElement(
                                "div",
                                { className: _styles2.default.icon },
                                _react2.default.createElement(_reactInlinesvg2.default, { src: (0, _cdn2.default)("img/svg/ticket.svg") })
                            ),
                            _react2.default.createElement(
                                "div",
                                { className: _styles2.default.text },
                                "Download Ticket"
                            )
                        )
                    )
                );
            })
        )
    );
};

exports.default = Boleto;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(670);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._3AaHYeAYqrk-cHWjCpOV7h {\n  margin-top: 20px; }\n  ._3AaHYeAYqrk-cHWjCpOV7h ._3xx1brC0xi0FPwFG5TVSTg {\n    display: flex;\n    align-items: center;\n    justify-content: center; }\n    ._3AaHYeAYqrk-cHWjCpOV7h ._3xx1brC0xi0FPwFG5TVSTg img {\n      width: 56px;\n      height: 32px; }\n    ._3AaHYeAYqrk-cHWjCpOV7h ._3xx1brC0xi0FPwFG5TVSTg ._1hFIkj_lbGTdhW3q6d46iR {\n      margin-left: 10px;\n      font-weight: bold; }\n  ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 {\n    margin-top: 10px;\n    margin-bottom: -10px; }\n    ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 ._10A329sBbaUllxUIKcz4NA {\n      padding: 10px;\n      background-color: transparent;\n      display: inline-flex;\n      align-items: center;\n      justify-content: space-between; }\n      ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 ._10A329sBbaUllxUIKcz4NA .aPEOFUaF5_5CwhIwsj6YM {\n        display: inline-flex;\n        align-items: center;\n        justify-content: space-between;\n        background-color: #1ab22c;\n        color: white;\n        padding: 10px 12px;\n        border-radius: 5px;\n        cursor: pointer; }\n        ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 ._10A329sBbaUllxUIKcz4NA .aPEOFUaF5_5CwhIwsj6YM ._33YodUJblT3ErvaD5VdfGC {\n          width: 22px;\n          height: 22px; }\n          ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 ._10A329sBbaUllxUIKcz4NA .aPEOFUaF5_5CwhIwsj6YM ._33YodUJblT3ErvaD5VdfGC svg {\n            fill: white;\n            width: 100%;\n            height: 100%; }\n        ._3AaHYeAYqrk-cHWjCpOV7h ._39tloWIMGDvNAVsK6HKqe3 ._10A329sBbaUllxUIKcz4NA .aPEOFUaF5_5CwhIwsj6YM ._1hFIkj_lbGTdhW3q6d46iR {\n          display: inline-block;\n          margin-left: 10px; }\n", ""]);

// exports
exports.locals = {
	"boleto": "_3AaHYeAYqrk-cHWjCpOV7h",
	"logo": "_3xx1brC0xi0FPwFG5TVSTg",
	"text": "_1hFIkj_lbGTdhW3q6d46iR",
	"links": "_39tloWIMGDvNAVsK6HKqe3",
	"linkContainer": "_10A329sBbaUllxUIKcz4NA",
	"link": "aPEOFUaF5_5CwhIwsj6YM",
	"icon": "_33YodUJblT3ErvaD5VdfGC"
};module.exports = "img/svg/img/svg/ticket.svg";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.tracked = tracked;
exports.orderComplete = orderComplete;

var _actionTypes = __webpack_require__(3);

var actionTypes = _interopRequireWildcard(_actionTypes);

var _axios = __webpack_require__(93);

var _axios2 = _interopRequireDefault(_axios);

var _keys = __webpack_require__(8);

var _keys2 = _interopRequireDefault(_keys);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function tracked() {
  return {
    type: actionTypes.ORDER_TRACKED
  };
}

function orderComplete() {
  return function (dispatch, getState) {
    var _getState = getState(),
        orderReducer = _getState.orderReducer;

    var dashboardOrderId = orderReducer.dashboardOrderId;


    var dashboardRequest = {
      type: "THANK_YOU",
      order: {
        dashboardOrderId: dashboardOrderId
      }
    };

    _axios2.default.post(_keys2.default.cmsSource + "/order", dashboardRequest).then(function (response) {
      return console.log(response);
    }).catch(function (error) {
      return console.log(error);
    });
  };
}

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _AmalaImg = __webpack_require__(19);

var _AmalaImg2 = _interopRequireDefault(_AmalaImg);

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(672);

var _styles2 = _interopRequireDefault(_styles);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Helpdesk = function Helpdesk(_ref) {
    var thankyou = _ref.thankyou;

    return _react2.default.createElement(
        "div",
        { className: _styles2.default.box },
        _react2.default.createElement(
            "div",
            { className: _styles2.default.image },
            _react2.default.createElement(_AmalaImg2.default, { src: thankyou.contactPerson, alt: "contact person" })
        ),
        _react2.default.createElement(
            "div",
            { className: _styles2.default.content },
            _react2.default.createElement(
                "h2",
                null,
                thankyou.contactHeadline
            ),
            thankyou.contactParagraphs && thankyou.contactParagraphs.map(function (p, index) {
                return _react2.default.createElement(
                    "div",
                    { key: index },
                    _react2.default.createElement(
                        "p",
                        null,
                        p
                    )
                );
            })
        )
    );
};

exports.default = Helpdesk;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(673);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._1U1i-iVqjbJpZu5-KRQRWF {\n  width: 90%;\n  max-width: 400px;\n  display: flex;\n  align-items: center;\n  margin: 40px auto 0;\n  text-align: left; }\n  ._1U1i-iVqjbJpZu5-KRQRWF ._1D7xfLXLMAIxFx_2RLwcZi {\n    margin-right: 40px;\n    max-width: 100px;\n    max-width: 100px; }\n    ._1U1i-iVqjbJpZu5-KRQRWF ._1D7xfLXLMAIxFx_2RLwcZi img {\n      width: 100%;\n      height: 100%; }\n  ._1U1i-iVqjbJpZu5-KRQRWF ._2JxFYQDOvzU7u-a5HQaj3r {\n    flex: 1; }\n    ._1U1i-iVqjbJpZu5-KRQRWF ._2JxFYQDOvzU7u-a5HQaj3r h2 {\n      margin: 0;\n      text-align: left;\n      font-size: 18px; }\n    ._1U1i-iVqjbJpZu5-KRQRWF ._2JxFYQDOvzU7u-a5HQaj3r p {\n      text-align: left;\n      line-height: 100%;\n      font-size: 14px;\n      margin-top: 0; }\n      ._1U1i-iVqjbJpZu5-KRQRWF ._2JxFYQDOvzU7u-a5HQaj3r p:first-of-type {\n        margin-top: 20px; }\n", ""]);

// exports
exports.locals = {
	"box": "_1U1i-iVqjbJpZu5-KRQRWF",
	"image": "_1D7xfLXLMAIxFx_2RLwcZi",
	"content": "_2JxFYQDOvzU7u-a5HQaj3r"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(674);

var _styles2 = _interopRequireDefault(_styles);

var _basename = __webpack_require__(49);

var _basename2 = _interopRequireDefault(_basename);

var _reactShare = __webpack_require__(743);

var _reactInlinesvg = __webpack_require__(39);

var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var SocialShare = function SocialShare(_ref) {
    var campaignKey = _ref.campaignKey,
        icons = _ref.icons;

    var url = window.location.origin + _basename2.default + "/" + campaignKey + "/checkout";
    var pinPhotoLink = window.location.origin + _basename2.default + "/img/infographic.png";

    return _react2.default.createElement(
        "div",
        { className: _styles2.default.socials },
        icons.facebook.hasOwnProperty("svg") && _react2.default.createElement(
            _reactShare.FacebookShareButton,
            { url: url },
            _react2.default.createElement(
                "div",
                { className: _styles2.default.icon },
                _react2.default.createElement(_reactInlinesvg2.default, { src: icons.facebook.svg })
            )
        ),
        icons.twitter.hasOwnProperty("svg") && _react2.default.createElement(
            _reactShare.TwitterShareButton,
            { url: url },
            _react2.default.createElement(
                "div",
                { className: _styles2.default.icon },
                _react2.default.createElement(_reactInlinesvg2.default, { src: icons.twitter.svg })
            )
        ),
        icons.pinterest.hasOwnProperty("svg") && _react2.default.createElement(
            _reactShare.PinterestShareButton,
            { url: url, media: pinPhotoLink },
            _react2.default.createElement(
                "div",
                { className: _styles2.default.icon },
                _react2.default.createElement(_reactInlinesvg2.default, { src: icons.pinterest.svg })
            )
        ),
        icons.reddit.hasOwnProperty("svg") && _react2.default.createElement(
            _reactShare.RedditShareButton,
            { url: url },
            _react2.default.createElement(
                "div",
                { className: _styles2.default.icon },
                _react2.default.createElement(_reactInlinesvg2.default, { src: icons.reddit.svg })
            )
        )
    );
};

exports.default = SocialShare;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(675);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._3sy1ZKPF_gk6gTCH3VralA {\n  text-align: center;\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  position: relative;\n  left: -8.8px;\n  margin-top: -17.6px; }\n  ._3sy1ZKPF_gk6gTCH3VralA * {\n    outline: none !important; }\n  ._3sy1ZKPF_gk6gTCH3VralA ._85TZWd7VFnX-MFcW6Q1ok {\n    width: 40px;\n    height: 40px;\n    cursor: pointer;\n    margin: 22.6px 0 0 17.6px; }\n", ""]);

// exports
exports.locals = {
	"socials": "_3sy1ZKPF_gk6gTCH3VralA",
	"icon": "_85TZWd7VFnX-MFcW6Q1ok"
};module.exports = "img/img/purchase_pest.gif";// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(727);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._1_d_y43dSNdTfDPn2ehqJo {\n  width: calc(100% - 17.6px);\n  max-width: 1200px;\n  margin: 0 auto;\n  margin-top: 40px; }\n  ._1_d_y43dSNdTfDPn2ehqJo > div {\n    margin-top: 20px; }\n\nh1 {\n  margin-bottom: 0px; }\n\n.TRV0Q9yHaECuVhmo53cyJ {\n  text-align: center;\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  position: relative;\n  left: -17.6px;\n  margin-top: -17.6px; }\n  .TRV0Q9yHaECuVhmo53cyJ ._2x4wdc_VQGOufPkYK4LBdu {\n    width: 40px;\n    height: 40px;\n    cursor: pointer;\n    margin: 35.2px 0 0 35.2px; }\n\n.B5l8eqppzzcaWpWjGyT7c {\n  width: 100%;\n  max-width: 500px;\n  margin: 0 auto; }\n\n._2mIXOIVP8KJZqcqj0sRFFh {\n  width: 100%;\n  max-width: 200px;\n  margin-top: 17.6px; }\n\n._1iWHUm0ZyzEghXiQkISKg-, ._3bpEbKqgO8USkPHL9d-WBr img, .SV81wrpIXnLFNOIQDuNwM img {\n  margin-top: 20px;\n  max-width: 95%; }\n\n._3bpEbKqgO8USkPHL9d-WBr img {\n  z-index: 0;\n  position: relative;\n  top: -40px;\n  margin-bottom: -85px; }\n\n.SV81wrpIXnLFNOIQDuNwM img {\n  z-index: 0;\n  position: relative;\n  margin-bottom: -15px; }\n", ""]);

// exports
exports.locals = {
	"main": "_1_d_y43dSNdTfDPn2ehqJo",
	"socials": "TRV0Q9yHaECuVhmo53cyJ",
	"icon": "_2x4wdc_VQGOufPkYK4LBdu",
	"submit": "B5l8eqppzzcaWpWjGyT7c",
	"logo": "_2mIXOIVP8KJZqcqj0sRFFh",
	"img": "_1iWHUm0ZyzEghXiQkISKg-",
	"imgCut": "_3bpEbKqgO8USkPHL9d-WBr",
	"imgCut2": "SV81wrpIXnLFNOIQDuNwM"
};module.exports = "img/img/trucklanes2.gif";

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _reactRedux = __webpack_require__(30);

var _actions = __webpack_require__(729);

var actions = _interopRequireWildcard(_actions);

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

var Iframe = function (_React$Component) {
    _inherits(Iframe, _React$Component);

    function Iframe() {
        _classCallCheck(this, Iframe);

        return _possibleConstructorReturn(this, (Iframe.__proto__ || Object.getPrototypeOf(Iframe)).apply(this, arguments));
    }

    _createClass(Iframe, [{
        key: 'componentDidMount',
        value: function componentDidMount() {
            var src = this.checkIframe();

            if (src !== null) {
                this.props.saveRenderedIframe(src);
            }
        }
    }, {
        key: 'shouldComponentUpdate',
        value: function shouldComponentUpdate() {
            return false;
        }
    }, {
        key: 'checkIframe',
        value: function checkIframe() {
            var src = this.props.src;
            var renderedIframes = this.props.iframeReducer.renderedIframes;


            if (renderedIframes.includes(src)) {
                return null;
            } else {
                return src;
            }
        }
    }, {
        key: 'render',
        value: function render() {
            var src = this.checkIframe();

            if (src === null) {
                return null;
            } else {
                return _react2.default.createElement(
                    'div',
                    { style: { display: "none" } },
                    _react2.default.createElement('iframe', {
                        src: src,
                        scrolling: 'no',
                        frameBorder: '0',
                        width: '0',
                        height: '0' })
                );
            }
        }
    }]);

    return Iframe;
}(_react2.default.Component);

var mapStateToProps = function mapStateToProps(state) {
    return _extends({}, state);
};

var mapDispatchToProps = function mapDispatchToProps(dispatch) {
    return {
        saveRenderedIframe: function saveRenderedIframe(src) {
            return dispatch(actions.saveRenderedIframe(src));
        }
    };
};

exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Iframe);

Object.defineProperty(exports, "__esModule", {
	value: true
});
exports.saveRenderedIframe = saveRenderedIframe;

var _actionTypes = __webpack_require__(3);

var actionTypes = _interopRequireWildcard(_actionTypes);

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

function saveRenderedIframe(src) {
	return {
		type: actionTypes.IFRAME_ADD,
		payload: { src: src }
	};
}

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var UpsellsManager = function () {
    function UpsellsManager(upsells) {
        _classCallCheck(this, UpsellsManager);

        this.upsells = upsells;
    }

    _createClass(UpsellsManager, [{
        key: "getUpsell",
        value: function getUpsell(hash) {
            return this.upsells.find(function (upsell) {
                return upsell.hash == hash;
            });
        }
    }, {
        key: "getStep",
        value: function getStep(hash) {
            return this.upsells.findIndex(function (upsell) {
                return upsell.hash == hash;
            }) + 1;
        }
    }, {
        key: "doUpsellExist",
        value: function doUpsellExist(hash) {
            return !!this.getUpsell(hash);
        }
    }, {
        key: "getId",
        value: function getId(hash) {
            return this.getUpsell(hash).productId;
        }
    }]);

    return UpsellsManager;
}();

exports.default = UpsellsManager;

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(730);

var _styles2 = _interopRequireDefault(_styles);

var _reactInlinesvg = __webpack_require__(39);

var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg);

var _MD = __webpack_require__(36);

var _MD2 = _interopRequireDefault(_MD);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var FinalButton = function FinalButton(props) {
    var loading = props.loading,
        buy = props.buy,
        reject = props.reject,
        button = props.button,
        _continue = props._continue,
        _ref = props._ref,
        icon = props.icon;

    return _react2.default.createElement(
        "div",
        { className: _styles2.default.main },
        _react2.default.createElement(
            "div",
            {
                id: "buy-upsell",
                ref: function ref(selector) {
                    return _ref(selector);
                },
                className: loading ? _styles2.default.buttonDisabled : _styles2.default.button,
                onClick: buy
            },
            icon.svg && _react2.default.createElement(_reactInlinesvg2.default, { src: icon.svg }),
            loading ? "Processing..." : _react2.default.createElement(_MD2.default, { text: button })
        ),
        _react2.default.createElement(
            "div",
            {
                id: "reject-upsell",
                className: _styles2.default.continueLink,
                onClick: reject
            },
            _react2.default.createElement(_MD2.default, { text: _continue })
        )
    );
};

exports.default = FinalButton;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(731);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._351cvDnpuzYItOOfyT90zh {\n  width: 90%;\n  max-width: 500px;\n  margin: 0 auto; }\n  ._351cvDnpuzYItOOfyT90zh ._2eT0NDaca9hg7A8-Ir4V5f, ._351cvDnpuzYItOOfyT90zh ._1o2X3OpYi5mNuLdXFLZLnE {\n    transition: all 600ms cubic-bezier(0, 0.3, 0.7, 1);\n    background-color: #1ab22c;\n    color: white;\n    font-size: 18px;\n    cursor: pointer;\n    letter-spacing: 1px;\n    font-weight: bold;\n    outline: none;\n    border-radius: 5px;\n    margin-top: 35.2px;\n    padding: 8.8px; }\n    ._351cvDnpuzYItOOfyT90zh ._2eT0NDaca9hg7A8-Ir4V5f:hover:not(._1o2X3OpYi5mNuLdXFLZLnE), ._351cvDnpuzYItOOfyT90zh ._1o2X3OpYi5mNuLdXFLZLnE:hover:not(._1o2X3OpYi5mNuLdXFLZLnE) {\n      background-color: #159324; }\n    ._351cvDnpuzYItOOfyT90zh ._2eT0NDaca9hg7A8-Ir4V5f span, ._351cvDnpuzYItOOfyT90zh ._1o2X3OpYi5mNuLdXFLZLnE span {\n      margin: 0 7px; }\n      ._351cvDnpuzYItOOfyT90zh ._2eT0NDaca9hg7A8-Ir4V5f span svg, ._351cvDnpuzYItOOfyT90zh ._1o2X3OpYi5mNuLdXFLZLnE span svg {\n        width: 18px;\n        height: 18px;\n        fill: white; }\n  ._351cvDnpuzYItOOfyT90zh ._1o2X3OpYi5mNuLdXFLZLnE {\n    cursor: default;\n    opacity: 0.5; }\n  ._351cvDnpuzYItOOfyT90zh ._352CnhiJFWTjuU0cpDbfTX {\n    margin: 17.6px auto;\n    text-decoration: underline;\n    cursor: pointer;\n    color: #4285f9; }\n    @media (max-width: 600px) {\n      ._351cvDnpuzYItOOfyT90zh ._352CnhiJFWTjuU0cpDbfTX {\n        margin: 35.2px auto 17.6px auto; } }\n", ""]);

// exports
exports.locals = {
	"main": "_351cvDnpuzYItOOfyT90zh",
	"button": "_2eT0NDaca9hg7A8-Ir4V5f",
	"buttonDisabled": "_1o2X3OpYi5mNuLdXFLZLnE",
	"continueLink": "_352CnhiJFWTjuU0cpDbfTX"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(732);

var _styles2 = _interopRequireDefault(_styles);

var _MD = __webpack_require__(36);

var _MD2 = _interopRequireDefault(_MD);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var FixedButton = function FixedButton(_ref) {
    var loading = _ref.loading,
        orderId = _ref.orderId,
        buy = _ref.buy,
        button = _ref.button,
        show = _ref.show,
        shouldRender = _ref.shouldRender;

    if (!shouldRender) return null;
    return _react2.default.createElement(
        "div",
        { className: show ? _styles2.default.main : _styles2.default.mainHidden },
        _react2.default.createElement(
            "div",
            {
                className: loading || !orderId ? _styles2.default.buttonDisabled : _styles2.default.button,
                onClick: buy
            },
            loading || !orderId ? "Processing..." : _react2.default.createElement(_MD2.default, { text: button })
        )
    );
};

exports.default = FixedButton;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(733);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._2Z0HcBktOdeewiV_u8IgzQ, ._2ACCAQBxq9bnZ1wubvOk7I {\n  transition: all 500ms cubic-bezier(0.25, 0.75, 0.45, 1);\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  margin: 0 auto;\n  z-index: 10000;\n  padding: 20px;\n  background-color: #323232; }\n  ._2Z0HcBktOdeewiV_u8IgzQ ._1T81opIUn7ZxtqnFGVWy8X, ._2ACCAQBxq9bnZ1wubvOk7I ._1T81opIUn7ZxtqnFGVWy8X, ._2Z0HcBktOdeewiV_u8IgzQ ._2TUXTDX2YzfO1BusZjqSyz, ._2ACCAQBxq9bnZ1wubvOk7I ._2TUXTDX2YzfO1BusZjqSyz {\n    width: calc(100% - 40px - 17.6px);\n    background-color: #1ab22c;\n    color: white;\n    font-size: 14px;\n    cursor: pointer;\n    letter-spacing: 1px;\n    font-weight: bold;\n    outline: none;\n    padding: 17.6px 8.8px;\n    border-radius: 5px;\n    line-height: 160%; }\n    ._2Z0HcBktOdeewiV_u8IgzQ ._1T81opIUn7ZxtqnFGVWy8X:hover:not(._2TUXTDX2YzfO1BusZjqSyz), ._2ACCAQBxq9bnZ1wubvOk7I ._1T81opIUn7ZxtqnFGVWy8X:hover:not(._2TUXTDX2YzfO1BusZjqSyz), ._2Z0HcBktOdeewiV_u8IgzQ ._2TUXTDX2YzfO1BusZjqSyz:hover:not(._2TUXTDX2YzfO1BusZjqSyz), ._2ACCAQBxq9bnZ1wubvOk7I ._2TUXTDX2YzfO1BusZjqSyz:hover:not(._2TUXTDX2YzfO1BusZjqSyz) {\n      background-color: #159324; }\n  ._2Z0HcBktOdeewiV_u8IgzQ ._2TUXTDX2YzfO1BusZjqSyz, ._2ACCAQBxq9bnZ1wubvOk7I ._2TUXTDX2YzfO1BusZjqSyz {\n    cursor: default;\n    opacity: 0.5; }\n  ._2Z0HcBktOdeewiV_u8IgzQ ._3ORlaU6mdt6sLBCeorDxFY, ._2ACCAQBxq9bnZ1wubvOk7I ._3ORlaU6mdt6sLBCeorDxFY {\n    margin: 17.6px auto;\n    text-decoration: underline;\n    cursor: pointer;\n    color: #4285f9; }\n  @media (min-width: 600px) {\n    ._2Z0HcBktOdeewiV_u8IgzQ, ._2ACCAQBxq9bnZ1wubvOk7I {\n      display: none; } }\n\n._2ACCAQBxq9bnZ1wubvOk7I {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n", ""]);

// exports
exports.locals = {
	"main": "_2Z0HcBktOdeewiV_u8IgzQ",
	"mainHidden": "_2ACCAQBxq9bnZ1wubvOk7I",
	"button": "_1T81opIUn7ZxtqnFGVWy8X",
	"buttonDisabled": "_2TUXTDX2YzfO1BusZjqSyz",
	"continueLink": "_3ORlaU6mdt6sLBCeorDxFY"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _MD = __webpack_require__(36);

var _MD2 = _interopRequireDefault(_MD);

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(734);

var _styles2 = _interopRequireDefault(_styles);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var firstWord = function firstWord(sentence) {
    return sentence.replace(/ .*/, "");
};
var withoutFirstWord = function withoutFirstWord(sentence) {
    return sentence.substr(sentence.indexOf(" ") + 1);
};

var HeaderBox = function HeaderBox(props) {
    var startOfSentence = firstWord(props.bigHeader);
    var restOfSentence = withoutFirstWord(props.bigHeader);

    return _react2.default.createElement(
        "div",
        { className: _styles2.default.main },
        _react2.default.createElement(
            "h1",
            null,
            _react2.default.createElement(
                "span",
                { styles: _styles2.default.yellow },
                _react2.default.createElement(_MD2.default, { text: String(startOfSentence) })
            ),
            " ",
            _react2.default.createElement(_MD2.default, { text: String(restOfSentence) })
        ),
        _react2.default.createElement(
            "h2",
            { className: _styles2.default.grey },
            "**",
            _react2.default.createElement(_MD2.default, { text: props.greyHeader }),
            "**"
        ),
        _react2.default.createElement(
            "h2",
            { className: _styles2.default.bold },
            _react2.default.createElement(_MD2.default, { text: props.boldHeader })
        ),
        _react2.default.createElement(
            "h2",
            null,
            _react2.default.createElement(_MD2.default, { text: props.paragraph })
        ),
        _react2.default.createElement(
            "h2",
            null,
            _react2.default.createElement(_MD2.default, { text: props.bottom })
        )
    );
};

exports.default = HeaderBox;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(735);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, ".X9C1UR7aKWoQ25ioe_o0t {\n  width: 90%;\n  max-width: 600px;\n  font-weight: normal;\n  margin: 20px auto; }\n  .X9C1UR7aKWoQ25ioe_o0t h1 {\n    font-size: 35px; }\n    .X9C1UR7aKWoQ25ioe_o0t h1 span {\n      color: #ffbd03; }\n  .X9C1UR7aKWoQ25ioe_o0t h2 {\n    margin: 7.5px auto 0 auto;\n    font-weight: normal;\n    line-height: 150%;\n    font-size: 20px; }\n  @media (max-width: 600px) {\n    .X9C1UR7aKWoQ25ioe_o0t {\n      margin: 10px auto; }\n      .X9C1UR7aKWoQ25ioe_o0t h1 {\n        font-size: 28px;\n        margin: 7.5px auto 0 auto; }\n      .X9C1UR7aKWoQ25ioe_o0t h2 {\n        font-size: 16px;\n        line-height: 130%; } }\n  .X9C1UR7aKWoQ25ioe_o0t ._2M3sIExapNLIKikB_MGkZg {\n    color: #666667; }\n  .X9C1UR7aKWoQ25ioe_o0t ._3oOdhyxupgp67WaE4ZwJfC {\n    font-weight: bold; }\n", ""]);

// exports
exports.locals = {
	"main": "X9C1UR7aKWoQ25ioe_o0t",
	"grey": "_2M3sIExapNLIKikB_MGkZg",
	"bold": "_3oOdhyxupgp67WaE4ZwJfC"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(736);

var _styles2 = _interopRequireDefault(_styles);

var _AmalaImg = __webpack_require__(19);

var _AmalaImg2 = _interopRequireDefault(_AmalaImg);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Logo = function Logo(props) {
    return _react2.default.createElement(
        "div",
        { className: _styles2.default.main },
        _react2.default.createElement(_AmalaImg2.default, { width: 150, height: 56, src: props.src, alt: "logo" })
    );
};

exports.default = Logo;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(737);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._1D1CznuvWfYtl7PcE_1EW3 {\n  width: 100%;\n  background-color: white;\n  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.05);\n  display: flex;\n  justify-content: center;\n  align-items: center; }\n  ._1D1CznuvWfYtl7PcE_1EW3 img {\n    margin: 8px 0;\n    max-width: 150px;\n    max-height: 40px; }\n    @media (max-width: 600px) {\n      ._1D1CznuvWfYtl7PcE_1EW3 img {\n        margin-top: 10px;\n        width: 100px; } }\n", ""]);

// exports
exports.locals = {
	"main": "_1D1CznuvWfYtl7PcE_1EW3"
};// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(738);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._3MBOot0MD4wDlQHe4Qdj5v {\n  width: 90%;\n  max-width: 600px;\n  margin: 0 auto 35.2px auto; }\n", ""]);

// exports
exports.locals = {
	"main": "_3MBOot0MD4wDlQHe4Qdj5v"
};// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(739);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._2lrAouU4QZapt8LVljzuC4 {\n  width: calc(100% - 17.6px);\n  max-width: 1200px;\n  margin: 0 auto;\n  max-width: 900px;\n  margin: 17.6px auto;\n  border-radius: 5px;\n  overflow: hidden;\n  width: 100%; }\n  ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA {\n    display: flex;\n    position: relative;\n    justify-content: space-around;\n    align-items: center; }\n    ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA ._2olH1917pY7dSdEOh6MRt2 {\n      border-radius: 7px;\n      display: inline-block;\n      width: calc(40% - 17.6px);\n      width: 400px;\n      max-width: 400px;\n      max-height: 400px;\n      overflow: hidden; }\n      ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA ._2olH1917pY7dSdEOh6MRt2 img {\n        width: 100%;\n        height: 100%; }\n      ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA ._2olH1917pY7dSdEOh6MRt2 video {\n        width: 100%;\n        height: initial; }\n    @media (max-width: 900px) {\n      ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA {\n        display: block; }\n        ._2lrAouU4QZapt8LVljzuC4 ._3d7uw7rtuZrNZOj0wJfQlA ._2olH1917pY7dSdEOh6MRt2 {\n          display: block;\n          float: initial;\n          height: initial;\n          margin: 17.6px auto 0 auto;\n          padding-top: 0;\n          width: calc(100% - 35.2px); } }\n", ""]);

// exports
exports.locals = {
	"descriptionBox": "_2lrAouU4QZapt8LVljzuC4",
	"content": "_3d7uw7rtuZrNZOj0wJfQlA",
	"imgBox": "_2olH1917pY7dSdEOh6MRt2"
};

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _react = __webpack_require__(0);

var _react2 = _interopRequireDefault(_react);

var _styles = __webpack_require__(740);

var _styles2 = _interopRequireDefault(_styles);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var UpsellFooter = function UpsellFooter(_ref) {
    var copyright = _ref.copyright,
        email = _ref.email;
    return _react2.default.createElement(
        "div",
        { className: _styles2.default.upsellFooter },
        _react2.default.createElement(
            "span",
            null,
            copyright
        ),
        _react2.default.createElement(
            "span",
            null,
            email
        )
    );
};

exports.default = UpsellFooter;// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(741);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, "._2IpCu_QRq7Fr8QsMOFUxmk {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  flex-wrap: wrap;\n  background-color: whitesmoke;\n  padding: 8.8px 0;\n  font-size: 14px;\n  color: #323232; }\n  @media (max-width: 425px) {\n    ._2IpCu_QRq7Fr8QsMOFUxmk {\n      flex-direction: column; } }\n  ._2IpCu_QRq7Fr8QsMOFUxmk span {\n    margin: 5.86667px;\n    position: relative; }\n    @media (min-width: 600px) {\n      ._2IpCu_QRq7Fr8QsMOFUxmk span:not(:last-child)::after {\n        content: \"|\";\n        position: absolute;\n        margin-left: 2.93333px;\n        color: #666667; } }\n", ""]);

// exports
exports.locals = {
	"upsellFooter": "_2IpCu_QRq7Fr8QsMOFUxmk"
};// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(742);
if(typeof content === 'string') content = [[module.i, content, '']];
// Prepare cssTransformation
var transform;

var options = {"hmr":true}
options.transform = transform
// add the styles to the DOM
var update = __webpack_require__(11)(content, options);
if(content.locals) module.exports = content.locals;
// Hot Module Replacement
if(false) {}exports = module.exports = __webpack_require__(10)(false);
// imports


// module
exports.push([module.i, ".nXFIVse6Goo_SkQdzVsyt {\n  margin: 8.8px 0;\n  padding: 8.8px 0;\n  background-color: white; }\n", ""]);

// exports
exports.locals = {
	"content": "nXFIVse6Goo_SkQdzVsyt"
};__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: ./node_modules/jsonp/index.js
var jsonp = __webpack_require__(73);
var jsonp_default = /*#__PURE__*/__webpack_require__.n(jsonp);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/extends.js
var helpers_extends = __webpack_require__(177);
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);

// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/object/get-prototype-of.js
var get_prototype_of = __webpack_require__(231);
var get_prototype_of_default = /*#__PURE__*/__webpack_require__.n(get_prototype_of);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/classCallCheck.js
var classCallCheck = __webpack_require__(232);
var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/createClass.js
var createClass = __webpack_require__(233);
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js
var possibleConstructorReturn = __webpack_require__(220);
var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/inherits.js
var inherits = __webpack_require__(234);
var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);

// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);

// EXTERNAL MODULE: ./node_modules/prop-types/index.js
var prop_types = __webpack_require__(2);
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);

// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(37);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);

// CONCATENATED MODULE: ./node_modules/react-share/es/utils/shareCountFactory.js










var shareCountFactory_SocialMediaShareCount = function (_Component) {
  inherits_default()(SocialMediaShareCount, _Component);

  function SocialMediaShareCount(props) {
    classCallCheck_default()(this, SocialMediaShareCount);

    var _this = possibleConstructorReturn_default()(this, (SocialMediaShareCount.__proto__ || get_prototype_of_default()(SocialMediaShareCount)).call(this, props));

    _this._isMounted = false;
    _this.state = { count: 0 };
    return _this;
  }

  createClass_default()(SocialMediaShareCount, [{
    key: 'componentDidMount',
    value: function componentDidMount() {
      this._isMounted = true;
      this.updateCount(this.props.url);
    }
  }, {
    key: 'componentWillReceiveProps',
    value: function componentWillReceiveProps(nextProps) {
      if (nextProps.url !== this.props.url) {
        this.updateCount(nextProps.url);
      }
    }
  }, {
    key: 'componentWillUnmount',
    value: function componentWillUnmount() {
      this._isMounted = false;
    }
  }, {
    key: 'updateCount',
    value: function updateCount(url) {
      var _this2 = this;

      if (this.props.getCount) {
        this.setState({
          isLoading: true
        });

        this.props.getCount(url, function (count) {
          if (_this2._isMounted) {
            _this2.setState({
              count: count,
              isLoading: false
            });
          }
        });
      }
    }
  }, {
    key: 'render',
    value: function render() {
      var _state = this.state,
          count = _state.count,
          isLoading = _state.isLoading;
      var _props = this.props,
          children = _props.children,
          className = _props.className;


      return react_default.a.createElement(
        'div',
        { className: classnames_default()('SocialMediaShareCount', className) },
        !isLoading && children(count || 0)
      );
    }
  }]);

  return SocialMediaShareCount;
}(react["Component"]);

shareCountFactory_SocialMediaShareCount.propTypes = {
  children: prop_types_default.a.func,
  className: prop_types_default.a.string,
  getCount: prop_types_default.a.func,
  url: prop_types_default.a.string.isRequired
};

shareCountFactory_SocialMediaShareCount.defaultProps = {
  children: function children(shareCount) {
    return shareCount;
  }
};

function shareCountFactory(getCount) {
  return function (props) {
    return react_default.a.createElement(shareCountFactory_SocialMediaShareCount, extends_default()({ getCount: getCount }, props));
  };
}
// CONCATENATED MODULE: ./node_modules/react-share/es/FacebookShareCount.js




function getFacebookShareCount(shareUrl, callback) {
  var endpoint = 'https://graph.facebook.com/?id=' + shareUrl;

  jsonp_default()(endpoint, function (err, data) {
    callback(!err && data && data.share && data.share.share_count ? data.share.share_count : undefined);
  });
}

/* harmony default export */ var FacebookShareCount = (shareCountFactory(getFacebookShareCount));
// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/json/stringify.js
var stringify = __webpack_require__(556);
var stringify_default = /*#__PURE__*/__webpack_require__.n(stringify);

// CONCATENATED MODULE: ./node_modules/react-share/es/utils/ieDetection.js
/*
 * This detection method identifies Internet Explorers up until version 11.
 *
 * Reference: https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
 */
function isInternetExplorerBefore(version) {
  var iematch = /MSIE ([0-9]+)/g.exec(window.navigator.userAgent);

  return iematch ? +iematch[1] < version : false;
}
// CONCATENATED MODULE: ./node_modules/react-share/es/GooglePlusShareCount.js




function getGooglePlusShareCount(shareUrl, callback) {
  if (isInternetExplorerBefore(11)) {
    /* eslint-disable no-console */
    console.error('Google plus share count is not supported in <=IE10!');
    /* eslint-enable no-console */
    return;
  }

  var xhr = new XMLHttpRequest();

  xhr.open('POST', 'https://clients6.google.com/rpc');
  xhr.setRequestHeader('Accept', 'application/json');
  xhr.setRequestHeader('Content-type', 'application/json;charset=UTF-8');

  xhr.send(stringify_default()({
    method: 'pos.plusones.get',
    id: 'p',
    params: {
      nolog: true,
      id: shareUrl,
      source: 'widget',
      userId: '@viewer',
      groupId: '@self'
    },
    jsonrpc: '2.0',
    key: 'p',
    apiVersion: 'v1'
  }));

  xhr.onload = function onSuccessdata() {
    var data = JSON.parse(this.responseText);
    callback(data ? data.result.metadata.globalCounts.count : undefined);
  };

  xhr.onerror = function onErrordata() {};
}

/* harmony default export */ var GooglePlusShareCount = (shareCountFactory(getGooglePlusShareCount));
// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/object/keys.js
var keys = __webpack_require__(235);
var keys_default = /*#__PURE__*/__webpack_require__.n(keys);

// CONCATENATED MODULE: ./node_modules/react-share/es/utils/objectToGetParams.js

/* eslint-disable prefer-template */
function objectToGetParams(object) {
  return '?' + keys_default()(object).filter(function (key) {
    return !!object[key];
  }).map(function (key) {
    return key + '=' + encodeURIComponent(object[key]);
  }).join('&');
}
/* eslint-enable prefer-template */
// CONCATENATED MODULE: ./node_modules/react-share/es/LinkedinShareCount.js





function getLinkedinShareCount(shareUrl, callback) {
  var url = 'https://www.linkedin.com/countserv/count/share';

  return jsonp_default()(url + objectToGetParams({
    url: shareUrl,
    format: 'jsonp'
  }), function (err, data) {
    callback(data ? data.count : undefined);
  });
}

/* harmony default export */ var LinkedinShareCount = (shareCountFactory(getLinkedinShareCount));
// CONCATENATED MODULE: ./node_modules/react-share/es/PinterestShareCount.js





function getPinterestShareCount(shareUrl, callback) {
  var url = 'https://api.pinterest.com/v1/urls/count.json';

  return jsonp_default()(url + objectToGetParams({
    url: shareUrl
  }), function (err, data) {
    callback(data ? data.count : undefined);
  });
}

/* harmony default export */ var PinterestShareCount = (shareCountFactory(getPinterestShareCount));
// CONCATENATED MODULE: ./node_modules/react-share/es/VKShareCount.js





function getVKShareCount(shareUrl, callback) {
  if (!window.VK) {
    window.VK = {
      Share: {
        count: function count(index, _count) {
          return window.VK.callbacks[index](_count);
        }
      },
      callbacks: []
    };
  }

  var url = 'https://vk.com/share.php';
  var index = window.VK.callbacks.length;

  window.VK.callbacks.push(callback);

  return jsonp_default()(url + objectToGetParams({
    act: 'count',
    index: index,
    url: shareUrl
  }));
}

/* harmony default export */ var VKShareCount = (shareCountFactory(getVKShareCount));
// CONCATENATED MODULE: ./node_modules/react-share/es/OKShareCount.js





function getOKShareCount(shareUrl, callback) {
  if (!window.OK) {
    window.OK = {
      Share: {
        count: function count(index, _count) {
          return window.OK.callbacks[index](_count);
        }
      },
      callbacks: []
    };
  }

  var url = 'https://connect.ok.ru/dk';
  var index = window.OK.callbacks.length;

  window.ODKL = {
    updateCount: function updateCount(a, b) {
      window.OK.callbacks[index](b);
    }
  };
  window.OK.callbacks.push(callback);

  return jsonp_default()(url + (0, objectToGetParams)({
    'st.cmd': 'extLike',
    uid: 'odklcnt0',
    ref: shareUrl
  }));
}

/* harmony default export */ var OKShareCount = (shareCountFactory(getOKShareCount));
// CONCATENATED MODULE: ./node_modules/react-share/es/RedditShareCount.js




function getRedditShareCount(shareUrl, callback) {
  var endpoint = 'https://www.reddit.com/api/info.json?limit=1&url=' + shareUrl;

  jsonp_default()(endpoint, { param: 'jsonp' }, function (err, response) {
    callback(!err && response && response.data && response.data.children.length > 0 && response.data.children[0].data.score ? response.data.children[0].data.score : undefined);
  });
}

/* harmony default export */ var RedditShareCount = (shareCountFactory(getRedditShareCount));
// CONCATENATED MODULE: ./node_modules/react-share/es/TumblrShareCount.js





function getTumblrShareCount(shareUrl, callback) {
  var endpoint = 'https://api.tumblr.com/v2/share/stats';

  return jsonp_default()(endpoint + objectToGetParams({
    url: shareUrl
  }), function (err, data) {
    callback(data ? data.note_count : undefined);
  });
}

/* harmony default export */ var TumblrShareCount = (shareCountFactory(getTumblrShareCount));
// EXTERNAL MODULE: ./node_modules/assert/assert.js
var assert = __webpack_require__(23);
var assert_default = /*#__PURE__*/__webpack_require__.n(assert);

// EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/typeof.js
var helpers_typeof = __webpack_require__(230);
var typeof_default = /*#__PURE__*/__webpack_require__.n(helpers_typeof);

// CONCATENATED MODULE: ./node_modules/react-share/es/utils/createShareButton.js














var createShareButton_isPromise = function isPromise(obj) {
  return !!obj && ((typeof obj === 'undefined' ? 'undefined' : typeof_default()(obj)) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
};

function windowOpen(url, _ref, onShareWindowClose) {
  var name = _ref.name,
      _ref$height = _ref.height,
      height = _ref$height === undefined ? 400 : _ref$height,
      _ref$width = _ref.width,
      width = _ref$width === undefined ? 550 : _ref$width;

  /* eslint-disable no-mixed-operators */
  var left = window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2;
  var top = window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2;
  /* eslint-enable no-mixed-operators */

  var config = {
    height: height,
    width: width,
    left: left,
    top: top,
    location: 'no',
    toolbar: 'no',
    status: 'no',
    directories: 'no',
    menubar: 'no',
    scrollbars: 'yes',
    resizable: 'no',
    centerscreen: 'yes',
    chrome: 'yes'
  };

  var shareDialog = window.open(url, isInternetExplorerBefore(10) ? '' : name, keys_default()(config).map(function (key) {
    return key + '=' + config[key];
  }).join(', '));

  if (onShareWindowClose) {
    var interval = window.setInterval(function () {
      try {
        if (shareDialog === null || shareDialog.closed) {
          window.clearInterval(interval);
          onShareWindowClose(shareDialog);
        }
      } catch (e) {
        /* eslint-disable no-console */
        console.error(e);
        /* eslint-enable no-console */
      }
    }, 1000);
  }

  return shareDialog;
}

var createShareButton_ShareButton = function (_PureComponent) {
  inherits_default()(ShareButton, _PureComponent);

  function ShareButton() {
    var _ref2;

    var _temp, _this, _ret;

    classCallCheck_default()(this, ShareButton);

    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    return _ret = (_temp = (_this = possibleConstructorReturn_default()(this, (_ref2 = ShareButton.__proto__ || get_prototype_of_default()(ShareButton)).call.apply(_ref2, [this].concat(args))), _this), _this.onClick = function (e) {
      var _this$props = _this.props,
          disabled = _this$props.disabled,
          onClick = _this$props.onClick,
          openWindow = _this$props.openWindow,
          beforeOnClick = _this$props.beforeOnClick;


      if (disabled) {
        return;
      }

      e.preventDefault();

      var link = _this.link();

      var clickHandler = openWindow ? function () {
        return _this.openWindow(link);
      } : function () {
        return onClick(link);
      };

      if (beforeOnClick) {
        var returnVal = beforeOnClick();

        if (createShareButton_isPromise(returnVal)) {
          returnVal.then(clickHandler);
        } else {
          clickHandler();
        }
      } else {
        clickHandler();
      }
    }, _this.onKeyPress = function (e) {
      if (e.key === 'Enter' || e.key === 13) {
        _this.onClick(e);
      }
    }, _this.openWindow = function (link) {
      var _this$props2 = _this.props,
          onShareWindowClose = _this$props2.onShareWindowClose,
          windowWidth = _this$props2.windowWidth,
          windowHeight = _this$props2.windowHeight;


      var windowOptions = {
        height: windowHeight,
        width: windowWidth
      };

      windowOpen(link, windowOptions, onShareWindowClose);
    }, _temp), possibleConstructorReturn_default()(_this, _ret);
  }

  createClass_default()(ShareButton, [{
    key: 'link',
    value: function link() {
      var _props = this.props,
          url = _props.url,
          opts = _props.opts,
          networkLink = _props.networkLink;

      return networkLink(url, opts);
    }
  }, {
    key: 'render',
    value: function render() {
      var _props2 = this.props,
          additionalProps = _props2.additionalProps,
          children = _props2.children,
          className = _props2.className,
          disabled = _props2.disabled,
          disabledStyle = _props2.disabledStyle,
          network = _props2.network,
          role = _props2.role,
          style = _props2.style,
          tabIndex = _props2.tabIndex;


      var classes = classnames_default()('SocialMediaShareButton', 'SocialMediaShareButton--' + network, {
        'SocialMediaShareButton--disabled': !!disabled,
        disabled: !!disabled
      }, className);

      return react_default.a.createElement(
        'div',
        extends_default()({}, additionalProps, {
          role: role,
          tabIndex: tabIndex,
          onClick: this.onClick,
          onKeyPress: this.onKeyPress,
          className: classes,
          style: extends_default()({}, style, disabled ? disabledStyle : {}) }),
        children
      );
    }
  }]);

  return ShareButton;
}(react["PureComponent"]);

createShareButton_ShareButton.propTypes = {
  additionalProps: prop_types_default.a.object,
  children: prop_types_default.a.node,
  className: prop_types_default.a.string,
  disabled: prop_types_default.a.bool,
  disabledStyle: prop_types_default.a.object,
  network: prop_types_default.a.string.isRequired,
  networkLink: prop_types_default.a.func.isRequired,
  onClick: prop_types_default.a.func,
  opts: prop_types_default.a.object,
  openWindow: prop_types_default.a.bool,
  url: prop_types_default.a.string.isRequired,
  role: prop_types_default.a.string,
  style: prop_types_default.a.object,
  windowWidth: prop_types_default.a.number,
  windowHeight: prop_types_default.a.number,
  beforeOnClick: prop_types_default.a.func,
  onShareWindowClose: prop_types_default.a.func,
  tabIndex: prop_types_default.a.string
};
createShareButton_ShareButton.defaultProps = {
  disabledStyle: {
    opacity: 0.6
  },
  openWindow: true,
  role: 'button',
  tabIndex: '0'
};


function createShareButton(network, link) {
  var optsMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {
    return {};
  };
  var propTypes = arguments[3];
  var defaultProps = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};

  var CreatedButton = function CreatedButton(props) {
    return react_default.a.createElement(createShareButton_ShareButton, extends_default()({}, props, {
      network: network,
      networkLink: link,
      opts: optsMap(props) }));
  };

  CreatedButton.propTypes = propTypes;
  CreatedButton.defaultProps = defaultProps;

  return CreatedButton;
}

/* harmony default export */ var utils_createShareButton = (createShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/FacebookShareButton.js







function facebookLink(url, _ref) {
  var quote = _ref.quote,
      hashtag = _ref.hashtag;

  assert_default()(url, 'facebook.url');

  return 'https://www.facebook.com/sharer/sharer.php' + objectToGetParams({
    u: url,
    quote: quote,
    hashtag: hashtag
  });
}

var FacebookShareButton = utils_createShareButton('facebook', facebookLink, function (props) {
  /* eslint-disable no-console */
  if (props.picture) {
    console.warn('FacebookShareButton warning: picture is a deprecated prop.');
  }

  if (props.title) {
    console.warn('FacebookShareButton warning: title is a deprecated prop. Use "quote" instead.');
  }

  if (props.description) {
    console.warn('FacebookShareButton warning: description is a deprecated prop.\n      Use "quote" instead.');
  }
  /* eslint-enable no-console */

  return {
    quote: props.quote,
    hashtag: props.hashtag
  };
}, {
  quote: prop_types_default.a.string,
  hashtag: prop_types_default.a.string
}, {
  windowWidth: 550,
  windowHeight: 400
});

/* harmony default export */ var es_FacebookShareButton = (FacebookShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/GooglePlusShareButton.js





function googlePlusLink(url) {
  assert_default()(url, 'googlePlus.url');

  return 'https://plus.google.com/share' + objectToGetParams({ url: url });
}

var GooglePlusShareButton = utils_createShareButton('googlePlus', googlePlusLink, undefined, undefined, {
  windowWidth: 550,
  windowHeight: 400
});

/* harmony default export */ var es_GooglePlusShareButton = (GooglePlusShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/LinkedinShareButton.js







function linkedinLink(url, _ref) {
  var title = _ref.title,
      description = _ref.description;

  assert_default()(url, 'linkedin.url');

  return 'https://linkedin.com/shareArticle' + objectToGetParams({
    url: url,
    title: title,
    summary: description
  });
}

var LinkedinShareButton = utils_createShareButton('linkedin', linkedinLink, function (props) {
  return {
    title: props.title,
    description: props.description
  };
}, {
  title: prop_types_default.a.string,
  description: prop_types_default.a.string
}, {
  windowWidth: 750,
  windowHeight: 600
});

/* harmony default export */ var es_LinkedinShareButton = (LinkedinShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/TwitterShareButton.js







function twitterLink(url, _ref) {
  var title = _ref.title,
      via = _ref.via,
      _ref$hashtags = _ref.hashtags,
      hashtags = _ref$hashtags === undefined ? [] : _ref$hashtags;

  assert_default()(url, 'twitter.url');
  assert_default()(Array.isArray(hashtags), 'twitter.hashtags is not an array');

  return 'https://twitter.com/share' + objectToGetParams({
    url: url,
    text: title,
    via: via,
    hashtags: hashtags.join(',')
  });
}

var TwitterShareButton = utils_createShareButton('twitter', twitterLink, function (props) {
  return {
    hashtags: props.hashtags,
    title: props.title,
    via: props.via
  };
}, {
  hashtags: prop_types_default.a.arrayOf(prop_types_default.a.string),
  title: prop_types_default.a.string,
  via: prop_types_default.a.string
}, {
  windowWidth: 550,
  windowHeight: 400
});

/* harmony default export */ var es_TwitterShareButton = (TwitterShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/PinterestShareButton.js







function pinterestLink(url, _ref) {
  var media = _ref.media,
      description = _ref.description;

  assert_default()(url, 'pinterest.url');
  assert_default()(media, 'pinterest.media');

  return 'https://pinterest.com/pin/create/button/' + objectToGetParams({
    url: url,
    media: media,
    description: description
  });
}

var PinterestShareButton = utils_createShareButton('pinterest', pinterestLink, function (props) {
  return {
    media: props.media,
    description: props.description
  };
}, {
  media: prop_types_default.a.string.isRequired,
  description: prop_types_default.a.string
}, {
  windowWidth: 1000,
  windowHeight: 730
});

/* harmony default export */ var es_PinterestShareButton = (PinterestShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/VKShareButton.js







function vkLink(url, _ref) {
  var title = _ref.title,
      description = _ref.description,
      image = _ref.image;

  assert_default()(url, 'vk.url');

  return 'https://vk.com/share.php' + objectToGetParams({
    url: url,
    title: title,
    description: description,
    image: image
  });
}

var VKShareButton = utils_createShareButton('vk', vkLink, function (props) {
  return {
    title: props.title,
    description: props.description,
    image: props.image
  };
}, {
  title: prop_types_default.a.string,
  description: prop_types_default.a.string,
  image: prop_types_default.a.string
}, {
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_VKShareButton = (VKShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/OKShareButton.js







function okLink(url, _ref) {
  var title = _ref.title,
      description = _ref.description,
      image = _ref.image;

  assert_default()(url, 'ok.url');

  return 'https://connect.ok.ru/offer' + objectToGetParams({
    url: url,
    title: title,
    description: description,
    imageUrl: image
  });
}

var OKShareButton = utils_createShareButton('ok', okLink, function (props) {
  return {
    title: props.title,
    description: props.description,
    image: props.image
  };
}, {
  title: prop_types_default.a.string,
  description: prop_types_default.a.string,
  image: prop_types_default.a.string
}, {
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_OKShareButton = (OKShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/TelegramShareButton.js







function telegramLink(url, _ref) {
  var title = _ref.title;

  assert_default()(url, 'telegram.url');

  return 'https://telegram.me/share/' + objectToGetParams({
    url: url,
    text: title
  });
}

var TelegramShareButton = utils_createShareButton('telegram', telegramLink, function (props) {
  return {
    title: props.title,
    via: props.via
  };
}, {
  title: prop_types_default.a.string,
  via: prop_types_default.a.string
}, {
  windowWidth: 550,
  windowHeight: 400
});

/* harmony default export */ var es_TelegramShareButton = (TelegramShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/WhatsappShareButton.js







function whatsappLink(url, _ref) {
  var title = _ref.title,
      separator = _ref.separator;

  assert_default()(url, 'whatsapp.url');
  return 'https://api.whatsapp.com/send' + objectToGetParams({
    text: title ? title + separator + url : url
  });
}

var WhatsappShareButton = utils_createShareButton('whatsapp', whatsappLink, function (props) {
  return {
    title: props.title,
    separator: props.separator
  };
}, {
  title: prop_types_default.a.string,
  separator: prop_types_default.a.string
}, {
  separator: ' ',
  windowWidth: 550,
  windowHeight: 400
});

/* harmony default export */ var es_WhatsappShareButton = (WhatsappShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/RedditShareButton.js







function redditLink(url, _ref) {
  var title = _ref.title;

  assert_default()(url, 'reddit.url');

  return 'https://www.reddit.com/submit' + objectToGetParams({
    url: url,
    title: title
  });
}

var RedditShareButton = utils_createShareButton('reddit', redditLink, function (props) {
  return {
    title: props.title
  };
}, {
  title: prop_types_default.a.string
}, {
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_RedditShareButton = (RedditShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/EmailShareButton.js





function emailLink(url, _ref) {
  var subject = _ref.subject,
      body = _ref.body;

  return 'mailto:' + objectToGetParams({ subject: subject, body: body || url });
}

var EmailShareButton = utils_createShareButton('email', emailLink, function (props) {
  return {
    subject: props.subject,
    body: props.body
  };
}, {
  subject: prop_types_default.a.string,
  body: prop_types_default.a.string
}, {
  openWindow: false,
  onClick: function onClick(link) {
    window.location.href = link;
  }
});

/* harmony default export */ var es_EmailShareButton = (EmailShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/TumblrShareButton.js







function tumblrLink(url, _ref) {
  var title = _ref.title,
      caption = _ref.caption,
      tags = _ref.tags,
      posttype = _ref.posttype;

  assert_default()(url, 'tumblr.url');

  return 'https://www.tumblr.com/widgets/share/tool' + objectToGetParams({
    canonicalUrl: url,
    title: title,
    caption: caption,
    tags: tags,
    posttype: posttype
  });
}

var TumblrShareButton = utils_createShareButton('tumblr', tumblrLink, function (props) {
  return {
    title: props.title,
    tags: props.tags.join(','),
    caption: props.caption,
    posttype: props.posttype
  };
}, {
  title: prop_types_default.a.string,
  caption: prop_types_default.a.string,
  posttype: prop_types_default.a.string,
  tags: prop_types_default.a.arrayOf(prop_types_default.a.string)
}, {
  tags: [],
  posttype: 'link',
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_TumblrShareButton = (TumblrShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/LivejournalShareButton.js







function livejournalLink(url, _ref) {
  var title = _ref.title,
      description = _ref.description;

  assert_default()(url, 'livejournal.url');

  return 'https://www.livejournal.com/update.bml' + objectToGetParams({
    subject: title,
    event: description
  });
}

var LivejournalShareButton = utils_createShareButton('livejournal', livejournalLink, function (props) {
  return {
    title: props.title,
    description: props.description
  };
}, {
  title: prop_types_default.a.string,
  description: prop_types_default.a.string
}, {
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_LivejournalShareButton = (LivejournalShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/MailruShareButton.js







function mailruLink(url, _ref) {
  var title = _ref.title,
      description = _ref.description,
      image = _ref.image;

  assert_default()(url, 'mailru.url');

  return 'https://connect.mail.ru/share' + objectToGetParams({
    url: url,
    title: title,
    description: description,
    imageurl: image
  });
}

var MailruShareButton = utils_createShareButton('mailru', mailruLink, function (props) {
  return {
    title: props.title,
    description: props.description,
    image: props.image
  };
}, {
  title: prop_types_default.a.string,
  description: prop_types_default.a.string,
  image: prop_types_default.a.string
}, {
  windowWidth: 660,
  windowHeight: 460
});

/* harmony default export */ var es_MailruShareButton = (MailruShareButton);
// CONCATENATED MODULE: ./node_modules/react-share/es/utils/iconFactory.js



function iconFactory(network, iconConfig) {
  var Icon = function Icon(props) {
    var className = props.className,
        iconBgStyle = props.iconBgStyle,
        logoFillColor = props.logoFillColor,
        round = props.round,
        size = props.size;


    var baseStyle = {
      width: size,
      height: size
    };

    var classes = 'social-icon social-icon--' + network + ' ' + className;

    return react_default.a.createElement(
      'div',
      { style: baseStyle },
      react_default.a.createElement(
        'svg',
        {
          viewBox: '0 0 64 64',
          width: size,
          height: size,
          className: classes },
        react_default.a.createElement(
          'g',
          null,
          !round ? react_default.a.createElement('rect', {
            width: '64',
            height: '64',
            fill: iconConfig.color,
            style: iconBgStyle }) : react_default.a.createElement('circle', {
            cx: '32',
            cy: '32',
            r: '31',
            fill: iconConfig.color,
            style: iconBgStyle })
        ),
        react_default.a.createElement(
          'g',
          null,
          react_default.a.createElement('path', { d: iconConfig.icon, fill: logoFillColor })
        )
      )
    );
  };

  Icon.propTypes = {
    className: prop_types_default.a.string,
    iconBgStyle: prop_types_default.a.object,
    logoFillColor: prop_types_default.a.string,
    round: prop_types_default.a.bool,
    size: prop_types_default.a.number
  };

  Icon.defaultProps = {
    className: '',
    iconBgStyle: {},
    logoFillColor: 'white',
    size: 64
  };

  return Icon;
}
// CONCATENATED MODULE: ./node_modules/react-share/es/FacebookIcon.js


var FacebookIcon = iconFactory('facebook', {
  icon: 'M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z',
  mask: 'M0,0v64h64V0H0z M39.6,22l-2.8,0c-2.2,0-2.6,1.1-2.6,2.6V28h5.3l-0.7,5.3h-4.6V47h-5.5V33.3H24V28h4.6V24 c0-4.6,2.8-7,6.9-7c2,0,3.6,0.1,4.1,0.2V22z',
  color: '#3b5998'
});

/* harmony default export */ var es_FacebookIcon = (FacebookIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/TwitterIcon.js


var TwitterIcon = iconFactory('twitter', {
  icon: 'M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z',
  mask: 'M0,0v64h64V0H0z M44.7,25.5c0,0.3,0,0.6,0,0.8C44.7,35,38.1,45,26.1,45c-3.7,0-7.2-1.1-10.1-2.9 c0.5,0.1,1,0.1,1.6,0.1c3.1,0,5.9-1,8.2-2.8c-2.9-0.1-5.3-2-6.1-4.6c0.4,0.1,0.8,0.1,1.2,0.1c0.6,0,1.2-0.1,1.7-0.2 c-3-0.6-5.3-3.3-5.3-6.4c0,0,0-0.1,0-0.1c0.9,0.5,1.9,0.8,3,0.8c-1.8-1.2-2.9-3.2-2.9-5.5c0-1.2,0.3-2.3,0.9-3.3 c3.2,4,8.1,6.6,13.5,6.9c-0.1-0.5-0.2-1-0.2-1.5c0-3.6,2.9-6.6,6.6-6.6c1.9,0,3.6,0.8,4.8,2.1c1.5-0.3,2.9-0.8,4.2-1.6 c-0.5,1.5-1.5,2.8-2.9,3.6c1.3-0.2,2.6-0.5,3.8-1C47.1,23.4,46,24.5,44.7,25.5z',
  color: '#00aced'
});

/* harmony default export */ var es_TwitterIcon = (TwitterIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/GooglePlusIcon.js


var GooglePlusIcon = iconFactory('google', {
  icon: 'M25.3,30.1v3.8h6.3c-0.3,1.6-1.9,4.8-6.3,4.8c-3.8,0-6.9-3.1-6.9-7s3.1-7,6.9-7c2.2,0,3.6,0.9,4.4,1.7l3-2.9c-1.9-1.8-4.4-2.9-7.4-2.9c-6.1,0-11.1,5-11.1,11.1s5,11.1,11.1,11.1c6.4,0,10.7-4.5,10.7-10.9c0-0.7-0.1-1.3-0.2-1.8H25.3L25.3,30.1z M49.8,28.9h-3.2v-3.2h-3.2v3.2h-3.2v3.2h3.2v3.2h3.2v-3.2h3.2',
  mask: 'M0,0v64h64V0H0z M31.3,19.1c0.3,0.3,0.6,0.7,0.9,1.2c0.3,0.4,0.5,0.9,0.7,1.5c0.2,0.6,0.3,1.3,0.3,2.1 c0,1.4-0.3,2.6-0.9,3.4c-0.3,0.4-0.6,0.8-0.9,1.2c-0.4,0.4-0.8,0.7-1.2,1.1c-0.2,0.2-0.5,0.5-0.7,0.8c-0.2,0.3-0.4,0.7-0.4,1.1 c0,0.4,0.1,0.8,0.4,1c0.2,0.3,0.4,0.5,0.6,0.7l1.4,1.1c0.8,0.7,1.6,1.5,2.2,2.3c0.6,0.8,0.9,2,0.9,3.3c0,1.9-0.9,3.7-2.6,5.2 c-1.8,1.6-4.3,2.4-7.7,2.4c-2.8,0-4.9-0.6-6.3-1.8c-1.4-1.1-2.1-2.4-2.1-3.9c0-0.7,0.2-1.6,0.7-2.5c0.4-0.9,1.2-1.7,2.4-2.4 c1.3-0.7,2.7-1.2,4.1-1.5c1.4-0.2,2.6-0.3,3.5-0.4c-0.3-0.4-0.5-0.8-0.8-1.2c-0.3-0.4-0.4-0.9-0.4-1.5c0-0.4,0-0.6,0.2-0.9 c0.1-0.2,0.2-0.5,0.2-0.7c-0.5,0.1-0.9,0.1-1.3,0.1c-2.1,0-3.8-0.7-4.9-2c-1.2-1.2-1.8-2.7-1.8-4.3c0-2,0.8-3.8,2.5-5.4 c1.1-0.9,2.3-1.6,3.5-1.8c1.2-0.2,2.3-0.4,3.4-0.4h8L33,18.4h-2.5C30.7,18.6,31,18.8,31.3,19.1z M48,32h-4.3v4.2h-2.5V32H37v-2.5 h4.2v-4.3h2.5v4.3H48V32z M27.1,19.1c-0.6-0.5-1.4-0.7-2.2-0.7c-1.1,0-2,0.5-2.7,1.3c-0.6,0.9-0.9,1.9-0.9,3c0,1.5,0.4,3,1.3,4.5 c0.4,0.7,0.9,1.4,1.6,1.9c0.6,0.5,1.4,0.8,2.2,0.8c1.1,0,1.9-0.4,2.6-1.1c0.3-0.5,0.6-1,0.7-1.6c0.1-0.5,0.1-1,0.1-1.4 c0-1.6-0.4-3.2-1.2-4.8C28.2,20.2,27.7,19.5,27.1,19.1z M26.9,36.2c-0.2,0-0.7,0-1.6,0.1c-0.8,0.1-1.7,0.3-2.5,0.6 c-0.2,0.1-0.5,0.2-0.9,0.4c-0.4,0.2-0.7,0.4-1.1,0.7c-0.4,0.3-0.7,0.7-0.9,1.2c-0.3,0.5-0.4,1.1-0.4,1.8c0,1.4,0.6,2.6,1.9,3.5 c1.2,0.9,2.9,1.4,5,1.4c1.9,0,3.3-0.4,4.3-1.3c1-0.8,1.5-1.8,1.5-3.1c0-1-0.3-1.9-1-2.7c-0.7-0.7-1.8-1.6-3.3-2.6 C27.5,36.2,27.2,36.2,26.9,36.2z',
  color: '#dd4b39'
});

/* harmony default export */ var es_GooglePlusIcon = (GooglePlusIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/LinkedinIcon.js


var LinkedinIcon = iconFactory('linkedin', {
  icon: 'M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z',
  mask: 'M0,0v64h64V0H0z M25.8,44h-5.4V26.6h5.4V44z M23.1,24.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1 c1.7,0,3.1,1.4,3.1,3.1C26.2,22.9,24.8,24.3,23.1,24.3z M46,44h-5.4v-8.4c0-2,0-4.6-2.8-4.6c-2.8,0-3.2,2.2-3.2,4.5V44h-5.4V26.6 h5.2V29h0.1c0.7-1.4,2.5-2.8,5.1-2.8c5.5,0,6.5,3.6,6.5,8.3V44z',
  color: '#007fb1'
});

/* harmony default export */ var es_LinkedinIcon = (LinkedinIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/PinterestIcon.js


var PinterestIcon = iconFactory('pinterest', {
  icon: 'M32,16c-8.8,0-16,7.2-16,16c0,6.6,3.9,12.2,9.6,14.7c0-1.1,0-2.5,0.3-3.7 c0.3-1.3,2.1-8.7,2.1-8.7s-0.5-1-0.5-2.5c0-2.4,1.4-4.1,3.1-4.1c1.5,0,2.2,1.1,2.2,2.4c0,1.5-0.9,3.7-1.4,5.7 c-0.4,1.7,0.9,3.1,2.5,3.1c3,0,5.1-3.9,5.1-8.5c0-3.5-2.4-6.1-6.7-6.1c-4.9,0-7.9,3.6-7.9,7.7c0,1.4,0.4,2.4,1.1,3.1 c0.3,0.3,0.3,0.5,0.2,0.9c-0.1,0.3-0.3,1-0.3,1.3c-0.1,0.4-0.4,0.6-0.8,0.4c-2.2-0.9-3.3-3.4-3.3-6.1c0-4.5,3.8-10,11.4-10 c6.1,0,10.1,4.4,10.1,9.2c0,6.3-3.5,11-8.6,11c-1.7,0-3.4-0.9-3.9-2c0,0-0.9,3.7-1.1,4.4c-0.3,1.2-1,2.5-1.6,3.4 c1.4,0.4,3,0.7,4.5,0.7c8.8,0,16-7.2,16-16C48,23.2,40.8,16,32,16z',
  mask: 'M0,0v64h64V0H0z M32,48c-1.6,0-3.1-0.2-4.5-0.7c0.6-1,1.3-2.2,1.6-3.4c0.2-0.7,1.1-4.4,1.1-4.4 c0.6,1.1,2.2,2,3.9,2c5.1,0,8.6-4.7,8.6-11c0-4.7-4-9.2-10.1-9.2c-7.6,0-11.4,5.5-11.4,10c0,2.8,1,5.2,3.3,6.1 c0.4,0.1,0.7,0,0.8-0.4c0.1-0.3,0.2-1,0.3-1.3c0.1-0.4,0.1-0.5-0.2-0.9c-0.6-0.8-1.1-1.7-1.1-3.1c0-4,3-7.7,7.9-7.7 c4.3,0,6.7,2.6,6.7,6.1c0,4.6-2,8.5-5.1,8.5c-1.7,0-2.9-1.4-2.5-3.1c0.5-2,1.4-4.2,1.4-5.7c0-1.3-0.7-2.4-2.2-2.4 c-1.7,0-3.1,1.8-3.1,4.1c0,1.5,0.5,2.5,0.5,2.5s-1.8,7.4-2.1,8.7c-0.3,1.2-0.3,2.6-0.3,3.7C19.9,44.2,16,38.6,16,32 c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16C48,40.8,40.8,48,32,48z',
  color: '#cb2128'
});

/* harmony default export */ var es_PinterestIcon = (PinterestIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/VKIcon.js


var VKIcon = iconFactory('vk', {
  icon: 'M44.94,44.84h-0.2c-2.17-.36-3.66-1.92-4.92-3.37C39.1,40.66,38,38.81,36.7,39c-1.85.3-.93,3.52-1.71,4.9-0.62,1.11-3.29.91-5.12,0.71-5.79-.62-8.75-3.77-11.35-7.14A64.13,64.13,0,0,1,11.6,26a10.59,10.59,0,0,1-1.51-4.49C11,20.7,12.56,21,14.11,21c1.31,0,3.36-.29,4.32.2C19,21.46,19.57,23,20,24a37.18,37.18,0,0,0,3.31,5.82c0.56,0.81,1.41,2.35,2.41,2.14s1.06-2.63,1.1-4.18c0-1.77,0-4-.5-4.9S25,22,24.15,21.47c0.73-1.49,2.72-1.63,5.12-1.63,2,0,4.84-.23,5.62,1.12s0.25,3.85.2,5.71c-0.06,2.09-.41,4.25,1,5.21,1.09-.12,1.68-1.2,2.31-2A28,28,0,0,0,41.72,24c0.44-1,.91-2.65,1.71-3,1.21-.47,3.15-0.1,4.92-0.1,1.46,0,4.05-.41,4.52.61,0.39,0.85-.75,3-1.1,3.57a61.88,61.88,0,0,1-4.12,5.61c-0.58.78-1.78,2-1.71,3.27,0.05,0.94,1,1.67,1.71,2.35a33.12,33.12,0,0,1,3.92,4.18c0.47,0.62,1.5,2,1.4,2.76C52.66,45.81,46.88,44.24,44.94,44.84Z',
  mask: 'M0,0v64h64V0H0z M44.94,44.84h-0.2c-2.17-.36-3.66-1.92-4.92-3.37C39.1,40.66,38,38.81,36.7,39c-1.85.3-.93,3.52-1.71,4.9-0.62,1.11-3.29.91-5.12,0.71-5.79-.62-8.75-3.77-11.35-7.14A64.13,64.13,0,0,1,11.6,26a10.59,10.59,0,0,1-1.51-4.49C11,20.7,12.56,21,14.11,21c1.31,0,3.36-.29,4.32.2C19,21.46,19.57,23,20,24a37.18,37.18,0,0,0,3.31,5.82c0.56,0.81,1.41,2.35,2.41,2.14s1.06-2.63,1.1-4.18c0-1.77,0-4-.5-4.9S25,22,24.15,21.47c0.73-1.49,2.72-1.63,5.12-1.63,2,0,4.84-.23,5.62,1.12s0.25,3.85.2,5.71c-0.06,2.09-.41,4.25,1,5.21,1.09-.12,1.68-1.2,2.31-2A28,28,0,0,0,41.72,24c0.44-1,.91-2.65,1.71-3,1.21-.47,3.15-0.1,4.92-0.1,1.46,0,4.05-.41,4.52.61,0.39,0.85-.75,3-1.1,3.57a61.88,61.88,0,0,1-4.12,5.61c-0.58.78-1.78,2-1.71,3.27,0.05,0.94,1,1.67,1.71,2.35a33.12,33.12,0,0,1,3.92,4.18c0.47,0.62,1.5,2,1.4,2.76C52.66,45.81,46.88,44.24,44.94,44.84Z',
  color: '#45668e'
});

/* harmony default export */ var es_VKIcon = (VKIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/OKIcon.js


var OKIcon = iconFactory('ok', {
  icon: 'M39,30c-1,0-3,2-7,2s-6-2-7-2c-1.1,0-2,0.9-2,2c0,1,0.6,1.5,1,1.7c1.2,0.7,5,2.3,5,2.3l-4.3,5.4   c0,0-0.8,0.9-0.8,1.6c0,1.1,0.9,2,2,2c1,0,1.5-0.7,1.5-0.7S32,39,32,39c0,0,4.5,5.3,4.5,5.3S37,45,38,45c1.1,0,2-0.9,2-2   c0-0.6-0.8-1.6-0.8-1.6L35,36c0,0,3.8-1.6,5-2.3c0.4-0.3,1-0.7,1-1.7C41,30.9,40.1,30,39,30z M32,15c-3.9,0-7,3.1-7,7s3.1,7,7,7c3.9,0,7-3.1,7-7S35.9,15,32,15z M32,25.5   c-1.9,0-3.5-1.6-3.5-3.5c0-1.9,1.6-3.5,3.5-3.5c1.9,0,3.5,1.6,3.5,3.5C35.5,23.9,33.9,22.5,35,22.5z ',
  mask: 'M45,1H5C2.8,1,1,2.8,1,5v40c0,2.2,1.8,4,4,4h40c2.2,0,4-1.8,4-4V5C49,2.8,47.2,1,45,1z',
  color: '#f2720c'
});

/* harmony default export */ var es_OKIcon = (OKIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/TelegramIcon.js


var TelegramIcon = iconFactory('telegram', {
  icon: 'm45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957',
  mask: 'M0,0v64h64V0H0z M32,48c-1.6,0-3.1-0.2-4.5-0.7c0.6-1,1.3-2.2,1.6-3.4c0.2-0.7,1.1-4.4,1.1-4.4 c0.6,1.1,2.2,2,3.9,2c5.1,0,8.6-4.7,8.6-11c0-4.7-4-9.2-10.1-9.2c-7.6,0-11.4,5.5-11.4,10c0,2.8,1,5.2,3.3,6.1 c0.4,0.1,0.7,0,0.8-0.4c0.1-0.3,0.2-1,0.3-1.3c0.1-0.4,0.1-0.5-0.2-0.9c-0.6-0.8-1.1-1.7-1.1-3.1c0-4,3-7.7,7.9-7.7 c4.3,0,6.7,2.6,6.7,6.1c0,4.6-2,8.5-5.1,8.5c-1.7,0-2.9-1.4-2.5-3.1c0.5-2,1.4-4.2,1.4-5.7c0-1.3-0.7-2.4-2.2-2.4 c-1.7,0-3.1,1.8-3.1,4.1c0,1.5,0.5,2.5,0.5,2.5s-1.8,7.4-2.1,8.7c-0.3,1.2-0.3,2.6-0.3,3.7C19.9,44.2,16,38.6,16,32 c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16C48,40.8,40.8,48,32,48z',
  color: '#37aee2'
});

/* harmony default export */ var es_TelegramIcon = (TelegramIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/WhatsappIcon.js


var WhatsappIcon = iconFactory('whatsapp', {
  icon: 'm42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915',
  mask: 'M0,0v64h64V0H0z M32,48c-1.6,0-3.1-0.2-4.5-0.7c0.6-1,1.3-2.2,1.6-3.4c0.2-0.7,1.1-4.4,1.1-4.4 c0.6,1.1,2.2,2,3.9,2c5.1,0,8.6-4.7,8.6-11c0-4.7-4-9.2-10.1-9.2c-7.6,0-11.4,5.5-11.4,10c0,2.8,1,5.2,3.3,6.1 c0.4,0.1,0.7,0,0.8-0.4c0.1-0.3,0.2-1,0.3-1.3c0.1-0.4,0.1-0.5-0.2-0.9c-0.6-0.8-1.1-1.7-1.1-3.1c0-4,3-7.7,7.9-7.7 c4.3,0,6.7,2.6,6.7,6.1c0,4.6-2,8.5-5.1,8.5c-1.7,0-2.9-1.4-2.5-3.1c0.5-2,1.4-4.2,1.4-5.7c0-1.3-0.7-2.4-2.2-2.4 c-1.7,0-3.1,1.8-3.1,4.1c0,1.5,0.5,2.5,0.5,2.5s-1.8,7.4-2.1,8.7c-0.3,1.2-0.3,2.6-0.3,3.7C19.9,44.2,16,38.6,16,32 c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16C48,40.8,40.8,48,32,48z',
  color: '#2cb742'
});

/* harmony default export */ var es_WhatsappIcon = (WhatsappIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/RedditIcon.js


var RedditIcon = iconFactory('reddit', {
  icon: 'm 52.8165,31.942362 c 0,-2.4803 -2.0264,-4.4965 -4.5169,-4.4965 -1.2155,0 -2.3171,0.4862 -3.128,1.2682 -3.077,-2.0247 -7.2403,-3.3133 -11.8507,-3.4782 l 2.5211,-7.9373 6.8272,1.5997 -0.0102,0.0986 c 0,2.0281 1.6575,3.6771 3.6958,3.6771 2.0366,0 3.6924,-1.649 3.6924,-3.6771 0,-2.0281 -1.6575,-3.6788 -3.6924,-3.6788 -1.564,0 -2.8968,0.9758 -3.4357,2.3443 l -7.3593,-1.7255 c -0.3213,-0.0782 -0.6477,0.1071 -0.748,0.4233 L 32,25.212062 c -4.8246,0.0578 -9.1953,1.3566 -12.41,3.4425 -0.8058,-0.7446 -1.8751,-1.2104 -3.0583,-1.2104 -2.4905,0 -4.5152,2.0179 -4.5152,4.4982 0,1.649 0.9061,3.0787 2.2389,3.8607 -0.0884,0.4794 -0.1462,0.9639 -0.1462,1.4569 0,6.6487 8.1736,12.0581 18.2223,12.0581 10.0487,0 18.224,-5.4094 18.224,-12.0581 0,-0.4658 -0.0493,-0.9248 -0.1275,-1.377 1.4144,-0.7599 2.3885,-2.2304 2.3885,-3.9406 z m -29.2808,3.0872 c 0,-1.4756 1.207,-2.6775 2.6894,-2.6775 1.4824,0 2.6877,1.2019 2.6877,2.6775 0,1.4756 -1.2053,2.6758 -2.6877,2.6758 -1.4824,0 -2.6894,-1.2002 -2.6894,-2.6758 z m 15.4037,7.9373 c -1.3549,1.3481 -3.4816,2.0043 -6.5008,2.0043 l -0.0221,-0.0051 -0.0221,0.0051 c -3.0209,0 -5.1476,-0.6562 -6.5008,-2.0043 -0.2465,-0.2448 -0.2465,-0.6443 0,-0.8891 0.2465,-0.2465 0.6477,-0.2465 0.8942,0 1.105,1.0999 2.9393,1.6337 5.6066,1.6337 l 0.0221,0.0051 0.0221,-0.0051 c 2.6673,0 4.5016,-0.5355 5.6066,-1.6354 0.2465,-0.2465 0.6477,-0.2448 0.8942,0 0.2465,0.2465 0.2465,0.6443 0,0.8908 z m -0.3213,-5.2615 c -1.4824,0 -2.6877,-1.2002 -2.6877,-2.6758 0,-1.4756 1.2053,-2.6775 2.6877,-2.6775 1.4824,0 2.6877,1.2019 2.6877,2.6775 0,1.4756 -1.2053,2.6758 -2.6877,2.6758 z',
  color: '#5f99cf'
});

/* harmony default export */ var es_RedditIcon = (RedditIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/TumblrIcon.js


var TumblrIcon = iconFactory('tumblr', {
  icon: 'M39.2,41c-0.6,0.3-1.6,0.5-2.4,0.5c-2.4,0.1-2.9-1.7-2.9-3v-9.3h6v-4.5h-6V17c0,0-4.3,0-4.4,0 c-0.1,0-0.2,0.1-0.2,0.2c-0.3,2.3-1.4,6.4-5.9,8.1v3.9h3V39c0,3.4,2.5,8.1,9,8c2.2,0,4.7-1,5.2-1.8L39.2,41z',
  mask: 'M0,0v64h64V0H0z M35.4,47c-6.5,0.1-9-4.7-9-8v-9.8h-3v-3.9c4.6-1.6,5.6-5.7,5.9-8.1c0-0.2,0.1-0.2,0.2-0.2 c0.1,0,4.4,0,4.4,0v7.6h6v4.5h-6v9.3c0,1.3,0.5,3,2.9,3c0.8,0,1.9-0.3,2.4-0.5l1.4,4.3C40.1,46,37.6,47,35.4,47z',
  color: '#2c4762'
});

/* harmony default export */ var es_TumblrIcon = (TumblrIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/MailruIcon.js


var MailruIcon = iconFactory('mailru', {
  icon: 'M39.7107745,17 C41.6619755,17 43.3204965,18.732852 43.3204965,21.0072202 C43.3204965,23.2815885 41.7595357,25.0144404 39.7107745,25.0144404 C37.7595732,25.0144404 36.1010522,23.2815885 36.1010522,21.0072202 C36.1010522,18.732852 37.7595732,17 39.7107745,17 Z M24.3938451,17 C26.3450463,17 28.0035672,18.732852 28.0035672,21.0072202 C28.0035672,23.2815885 26.4426063,25.0144404 24.3938451,25.0144404 C22.4426439,25.0144404 20.7841229,23.2815885 20.7841229,21.0072202 C20.7841229,18.732852 22.4426439,17 24.3938451,17 Z M51.9057817,43.4259928 C51.7106617,44.0758123 51.4179815,44.6173285 50.9301812,44.9422383 C50.637501,45.1588448 50.2472607,45.267148 49.8570205,45.267148 C49.07654,45.267148 48.3936197,44.833935 48.0033795,44.0758123 L46.2472985,40.7184115 L45.759498,41.2599278 C42.5400162,44.9422383 37.466893,47 32.0035297,47 C26.5401664,47 21.5646034,44.9422383 18.2475614,41.2599278 L17.7597611,40.7184115 L16.00368,44.0758123 C15.6134398,44.833935 14.9305194,45.267148 14.1500389,45.267148 C13.7597986,45.267148 13.3695584,45.1588448 13.0768782,44.9422383 C12.0037176,44.2924187 11.7110374,42.7761733 12.2963978,41.5848375 L16.7841605,33.0288807 C17.1744007,32.270758 17.8573211,31.8375453 18.6378016,31.8375453 C19.0280418,31.8375453 19.4182821,31.9458485 19.7109623,32.1624548 C20.7841229,32.8122743 21.0768031,34.3285197 20.4914427,35.5198555 L20.1012025,36.2779783 L20.2963226,36.602888 C22.4426439,39.9602888 27.0279667,42.234657 31.9059697,42.234657 C36.7839727,42.234657 41.3692955,40.068592 43.5156167,36.602888 L43.7107367,36.2779783 L43.3204965,35.6281587 C43.0278165,35.0866425 42.9302562,34.436823 43.1253765,33.7870035 C43.3204965,33.137184 43.6131767,32.5956678 44.100977,32.270758 C44.3936572,32.0541515 44.7838975,31.9458485 45.1741377,31.9458485 C45.9546182,31.9458485 46.6375385,32.3790613 47.0277787,33.137184 L51.5155415,41.6931408 C52.003342,42.234657 52.100902,42.8844765 51.9057817,43.4259928 Z',
  mask: 'M0,0v64h64V0H0z M35.4,47c-6.5,0.1-9-4.7-9-8v-9.8h-3v-3.9c4.6-1.6,5.6-5.7,5.9-8.1c0-0.2,0.1-0.2,0.2-0.2 c0.1,0,4.4,0,4.4,0v7.6h6v4.5h-6v9.3c0,1.3,0.5,3,2.9,3c0.8,0,1.9-0.3,2.4-0.5l1.4,4.3C40.1,46,37.6,47,35.4,47z',
  color: '#168DE2'
});

/* harmony default export */ var es_MailruIcon = (MailruIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/EmailIcon.js


var EmailIcon = iconFactory('email', {
  icon: 'M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z',
  mask: 'M41.1,25H22.9l9.1,7.1L41.1,25z M44,26.6l-12,9.3l-12-9.3V39h24V26.6z M0,0v64h64V0H0z M47,42H17V22h30V42z',
  color: '#7f7f7f'
});

/* harmony default export */ var es_EmailIcon = (EmailIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/LivejournalIcon.js


var LivejournalIcon = iconFactory('livejournal', {
  icon: 'M18.3407821,28.1764706 L21.9441341,31.789916 L33.0055865,42.882353 C33.0055865,42.882353 33.0893855,42.9663866 33.0893855,42.9663866 L46.6648046,47 C46.6648046,47 46.6648046,47 46.7486034,47 C46.8324022,47 46.8324022,47 46.9162012,46.9159664 C47,46.8319327 47,46.8319327 47,46.7478991 L42.9776536,33.1344537 C42.9776536,33.1344537 42.9776536,33.1344537 42.8938548,33.0504202 L31.1620111,21.3697479 L31.1620111,21.3697479 L28.1452514,18.2605042 C27.3072626,17.4201681 26.5530726,17 25.7150838,17 C24.2905028,17 23.0335195,18.3445378 21.5251397,19.8571429 C21.273743,20.1092437 20.9385475,20.4453781 20.6871508,20.697479 C20.3519553,21.0336134 20.1005586,21.2857143 19.849162,21.5378151 C18.3407821,22.9663866 17.0837989,24.2268908 17,25.7394958 C17.0837989,26.4957983 17.5027933,27.3361345 18.3407821,28.1764706 Z M39.9012319,39.6134454 C39.7336341,39.4453781 39.4822374,37.6806724 40.2364275,36.8403362 C40.9906174,36.0840337 41.6610084,36 42.1638017,36 C42.3313995,36 42.4989973,36 42.5827961,36 L44.8453659,43.5630253 L43.5883828,44.8235295 L36.0464833,42.5546218 C35.9626843,42.2184874 35.8788855,41.2100841 36.8844722,40.2016807 C37.2196676,39.8655463 37.8900587,39.6134454 38.5604498,39.6134454 C39.147042,39.6134454 39.5660364,39.7815126 39.5660364,39.7815126 C39.6498353,39.8655463 39.8174331,39.8655463 39.8174331,39.7815126 C39.9850307,39.7815126 39.9850307,39.697479 39.9012319,39.6134454 Z',
  mask: 'M0,0v64h64V0H0z M35.4,47c-6.5,0.1-9-4.7-9-8v-9.8h-3v-3.9c4.6-1.6,5.6-5.7,5.9-8.1c0-0.2,0.1-0.2,0.2-0.2 c0.1,0,4.4,0,4.4,0v7.6h6v4.5h-6v9.3c0,1.3,0.5,3,2.9,3c0.8,0,1.9-0.3,2.4-0.5l1.4,4.3C40.1,46,37.6,47,35.4,47z',
  color: '#21A5D8'
});

/* harmony default export */ var es_LivejournalIcon = (LivejournalIcon);
// CONCATENATED MODULE: ./node_modules/react-share/es/index.js
/* concated harmony reexport FacebookShareCount */__webpack_require__.d(__webpack_exports__, "FacebookShareCount", function() { return FacebookShareCount; });
/* concated harmony reexport GooglePlusShareCount */__webpack_require__.d(__webpack_exports__, "GooglePlusShareCount", function() { return GooglePlusShareCount; });
/* concated harmony reexport LinkedinShareCount */__webpack_require__.d(__webpack_exports__, "LinkedinShareCount", function() { return LinkedinShareCount; });
/* concated harmony reexport PinterestShareCount */__webpack_require__.d(__webpack_exports__, "PinterestShareCount", function() { return PinterestShareCount; });
/* concated harmony reexport VKShareCount */__webpack_require__.d(__webpack_exports__, "VKShareCount", function() { return VKShareCount; });
/* concated harmony reexport OKShareCount */__webpack_require__.d(__webpack_exports__, "OKShareCount", function() { return OKShareCount; });
/* concated harmony reexport RedditShareCount */__webpack_require__.d(__webpack_exports__, "RedditShareCount", function() { return RedditShareCount; });
/* concated harmony reexport TumblrShareCount */__webpack_require__.d(__webpack_exports__, "TumblrShareCount", function() { return TumblrShareCount; });
/* concated harmony reexport FacebookShareButton */__webpack_require__.d(__webpack_exports__, "FacebookShareButton", function() { return es_FacebookShareButton; });
/* concated harmony reexport GooglePlusShareButton */__webpack_require__.d(__webpack_exports__, "GooglePlusShareButton", function() { return es_GooglePlusShareButton; });
/* concated harmony reexport LinkedinShareButton */__webpack_require__.d(__webpack_exports__, "LinkedinShareButton", function() { return es_LinkedinShareButton; });
/* concated harmony reexport TwitterShareButton */__webpack_require__.d(__webpack_exports__, "TwitterShareButton", function() { return es_TwitterShareButton; });
/* concated harmony reexport PinterestShareButton */__webpack_require__.d(__webpack_exports__, "PinterestShareButton", function() { return es_PinterestShareButton; });
/* concated harmony reexport VKShareButton */__webpack_require__.d(__webpack_exports__, "VKShareButton", function() { return es_VKShareButton; });
/* concated harmony reexport OKShareButton */__webpack_require__.d(__webpack_exports__, "OKShareButton", function() { return es_OKShareButton; });
/* concated harmony reexport TelegramShareButton */__webpack_require__.d(__webpack_exports__, "TelegramShareButton", function() { return es_TelegramShareButton; });
/* concated harmony reexport WhatsappShareButton */__webpack_require__.d(__webpack_exports__, "WhatsappShareButton", function() { return es_WhatsappShareButton; });
/* concated harmony reexport RedditShareButton */__webpack_require__.d(__webpack_exports__, "RedditShareButton", function() { return es_RedditShareButton; });
/* concated harmony reexport EmailShareButton */__webpack_require__.d(__webpack_exports__, "EmailShareButton", function() { return es_EmailShareButton; });
/* concated harmony reexport TumblrShareButton */__webpack_require__.d(__webpack_exports__, "TumblrShareButton", function() { return es_TumblrShareButton; });
/* concated harmony reexport LivejournalShareButton */__webpack_require__.d(__webpack_exports__, "LivejournalShareButton", function() { return es_LivejournalShareButton; });
/* concated harmony reexport MailruShareButton */__webpack_require__.d(__webpack_exports__, "MailruShareButton", function() { return es_MailruShareButton; });
/* concated harmony reexport FacebookIcon */__webpack_require__.d(__webpack_exports__, "FacebookIcon", function() { return es_FacebookIcon; });
/* concated harmony reexport TwitterIcon */__webpack_require__.d(__webpack_exports__, "TwitterIcon", function() { return es_TwitterIcon; });
/* concated harmony reexport GooglePlusIcon */__webpack_require__.d(__webpack_exports__, "GooglePlusIcon", function() { return es_GooglePlusIcon; });
/* concated harmony reexport LinkedinIcon */__webpack_require__.d(__webpack_exports__, "LinkedinIcon", function() { return es_LinkedinIcon; });
/* concated harmony reexport PinterestIcon */__webpack_require__.d(__webpack_exports__, "PinterestIcon", function() { return es_PinterestIcon; });
/* concated harmony reexport VKIcon */__webpack_require__.d(__webpack_exports__, "VKIcon", function() { return es_VKIcon; });
/* concated harmony reexport OKIcon */__webpack_require__.d(__webpack_exports__, "OKIcon", function() { return es_OKIcon; });
/* concated harmony reexport TelegramIcon */__webpack_require__.d(__webpack_exports__, "TelegramIcon", function() { return es_TelegramIcon; });
/* concated harmony reexport WhatsappIcon */__webpack_require__.d(__webpack_exports__, "WhatsappIcon", function() { return es_WhatsappIcon; });
/* concated harmony reexport RedditIcon */__webpack_require__.d(__webpack_exports__, "RedditIcon", function() { return es_RedditIcon; });
/* concated harmony reexport TumblrIcon */__webpack_require__.d(__webpack_exports__, "TumblrIcon", function() { return es_TumblrIcon; });
/* concated harmony reexport MailruIcon */__webpack_require__.d(__webpack_exports__, "MailruIcon", function() { return es_MailruIcon; });
/* concated harmony reexport EmailIcon */__webpack_require__.d(__webpack_exports__, "EmailIcon", function() { return es_EmailIcon; });
/* concated harmony reexport LivejournalIcon */__webpack_require__.d(__webpack_exports__, "LivejournalIcon", function() { return es_LivejournalIcon; });





































__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: ./src/actions/confirmPaypal.js
var confirmPaypal = __webpack_require__(127);

// EXTERNAL MODULE: ./src/components/AmalaImg/index.tsx
var AmalaImg = __webpack_require__(19);

// EXTERNAL MODULE: ./src/components/Boleto/index.js
var Boleto = __webpack_require__(553);
var Boleto_default = /*#__PURE__*/__webpack_require__.n(Boleto);

// EXTERNAL MODULE: ./src/components/Footer/index.js
var Footer = __webpack_require__(131);
var Footer_default = /*#__PURE__*/__webpack_require__.n(Footer);

// EXTERNAL MODULE: ./src/components/Header/index.tsx
var Header = __webpack_require__(135);

// EXTERNAL MODULE: ./src/components/LoadingIndicator/index.js
var LoadingIndicator = __webpack_require__(112);
var LoadingIndicator_default = /*#__PURE__*/__webpack_require__.n(LoadingIndicator);

// EXTERNAL MODULE: ./src/resources/keys.js
var keys = __webpack_require__(8);
var keys_default = /*#__PURE__*/__webpack_require__.n(keys);

// EXTERNAL MODULE: ./src/services/AmalaFormat.ts
var AmalaFormat = __webpack_require__(88);

// EXTERNAL MODULE: ./src/services/contentFactory.ts
var contentFactory = __webpack_require__(21);

// EXTERNAL MODULE: ./src/paymentTypes.js
var paymentTypes = __webpack_require__(16);

// CONCATENATED MODULE: ./src/services/getSubmitProducts.tsx
var __assign = (undefined && undefined.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};

var getSubmitProducts = function (_a) {
    var addWarranty = _a.addWarranty, itemsContainer = _a.itemsContainer, paymentType = _a.paymentType, products = _a.products, selected = _a.selected, shoppingCart = _a.shoppingCart, upsellResponses = _a.upsellResponses, warrantyProduct = _a.warrantyProduct;
    var isKonnektivePayment = paymentTypes["PAYMENT_TYPES"].KONNEKTIVE.includes(paymentType);
    var mainProduct = products.filter(function (product) { return product.campaignProductId == selected; })[0];
    var submitProducts;
    if (isKonnektivePayment) {
        if (upsellResponses.length > 0) {
            submitProducts = upsellResponses.slice().pop()
                .message.items.map(function (upsell) {
                return {
                    productName: upsell.name,
                    cycle1_price: upsell.price,
                    cycle1_shipPrice: upsell.shipping,
                    productId: upsell.productId
                };
            });
        }
        else {
            submitProducts = [mainProduct];
            if (addWarranty) {
                submitProducts.push(warrantyProduct);
            }
        }
    }
    else {
        var upsellItems = itemsContainer.map(function (item) { return (__assign({}, item, { cycle1_price: Number(item.qty) * item.cycle1_price, productName: item.qty + " X " + item.productName })); });
        submitProducts = [mainProduct].concat(upsellItems);
        if (addWarranty) {
            submitProducts.push(warrantyProduct);
        }
        if (paymentType === paymentTypes["PAYMENT_TYPES"].BOLETO) {
            submitProducts.push.apply(submitProducts, shoppingCart);
        }
    }
    return { submitProducts: submitProducts };
};

// CONCATENATED MODULE: ./src/services/getTaxAmount.tsx

var getOrderTax = function (importOrderResponse) {
    return Number(importOrderResponse.salestax || 0);
};
var getUpsellsTax = function (upsellResponses, paymentType) {
    var isKonnektivePayment = paymentTypes["PAYMENT_TYPES"].KONNEKTIVE.includes(paymentType);
    return upsellResponses.reduce(function (prev, res) {
        var tax = isKonnektivePayment
            ? res.message.salesTax
            : res.ebanxResponse.payment.user_value_1;
        return tax != undefined ? prev + Number(tax) : prev;
    }, 0);
};
var getTaxAmount = function (_a) {
    var importOrderResponse = _a.importOrderResponse, upsellResponses = _a.upsellResponses, paymentType = _a.paymentType;
    var orderTax = getOrderTax(importOrderResponse);
    var upsellsTax = getUpsellsTax(upsellResponses, paymentType);
    var taxAmount = upsellsTax + orderTax;
    return {
        taxAmount: taxAmount,
        upsellsTax: upsellsTax,
        orderTax: orderTax
    };
};

// EXTERNAL MODULE: ./src/services/setFbChatVisibility.ts
var setFbChatVisibility = __webpack_require__(92);

// EXTERNAL MODULE: ./src/services/track.js
var track = __webpack_require__(122);
var track_default = /*#__PURE__*/__webpack_require__.n(track);

// EXTERNAL MODULE: ./node_modules/query-string/index.js
var query_string = __webpack_require__(56);
var query_string_default = /*#__PURE__*/__webpack_require__.n(query_string);

// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);

// EXTERNAL MODULE: ./src/services/ejam-facebook-pixel.js
var ejam_facebook_pixel = __webpack_require__(38);
var ejam_facebook_pixel_default = /*#__PURE__*/__webpack_require__.n(ejam_facebook_pixel);

// EXTERNAL MODULE: ./node_modules/react-ga/dist/react-ga.js
var react_ga = __webpack_require__(50);
var react_ga_default = /*#__PURE__*/__webpack_require__.n(react_ga);

// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 14 modules
var es = __webpack_require__(30);

// EXTERNAL MODULE: ./node_modules/react-router-dom/es/index.js + 13 modules
var react_router_dom_es = __webpack_require__(60);

// EXTERNAL MODULE: ./src/scenes/Checkout/actions.ts
var actions = __webpack_require__(89);

// EXTERNAL MODULE: ./src/scenes/Checkout/components/Submit/index.js
var Submit = __webpack_require__(273);
var Submit_default = /*#__PURE__*/__webpack_require__.n(Submit);

// EXTERNAL MODULE: ./src/scenes/Thankyou/actions.js
var Thankyou_actions = __webpack_require__(530);

// EXTERNAL MODULE: ./src/scenes/Thankyou/components/Helpdesk/index.js
var Helpdesk = __webpack_require__(554);
var Helpdesk_default = /*#__PURE__*/__webpack_require__.n(Helpdesk);

// EXTERNAL MODULE: ./src/scenes/Thankyou/components/SocialShare/index.js
var SocialShare = __webpack_require__(555);
var SocialShare_default = /*#__PURE__*/__webpack_require__.n(SocialShare);

// EXTERNAL MODULE: ./src/scenes/Thankyou/purchase_pest.gif
var purchase_pest = __webpack_require__(726);

// EXTERNAL MODULE: ./src/scenes/Thankyou/styles.scss
var styles = __webpack_require__(223);
var styles_default = /*#__PURE__*/__webpack_require__.n(styles);

// EXTERNAL MODULE: ./src/scenes/Thankyou/trucklanes2.gif
var trucklanes2 = __webpack_require__(728);

// CONCATENATED MODULE: ./src/scenes/Thankyou/index.tsx
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Thankyou", function() { return Thankyou_Thankyou; });
var __extends = (undefined && undefined.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var Thankyou_assign = (undefined && undefined.__assign) || function () {
    Thankyou_assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return Thankyou_assign.apply(this, arguments);
};




























var Thankyou_Thankyou = /** @class */ (function (_super) {
    __extends(Thankyou, _super);
    function Thankyou() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Thankyou.prototype.componentDidMount = function () {
        window.scrollTo(0, 0);
        react_ga_default.a.initialize(keys_default.a.googleAnalytics);
        react_ga_default.a.pageview(location.pathname + location.search);
        var params = query_string_default.a.parse(this.props.location.search);
        this.props.confirmPaypal({
            paypalAccept: params.paypalAccept,
            payerId: params.PayerID,
            token: params.token,
        });
        ejam_facebook_pixel_default.a.init(keys_default.a.facebook);
        ejam_facebook_pixel_default.a.trackCustom("ThankYou", null);
        this.track();
        this.buyBoleto();
        var content = this.props.contentReducer.content;
        var el = Object(contentFactory["default"])(content);
        var showMessanger = el("showMessanger");
        Object(setFbChatVisibility["a" /* default */])(showMessanger.thankyou);
    };
    Thankyou.prototype.componentDidUpdate = function () {
        this.track();
    };
    Thankyou.prototype.buyBoleto = function () {
        var _a = this.props.orderReducer, paymentType = _a.paymentType, boletoHashes = _a.boletoHashes;
        if (paymentType === paymentTypes["PAYMENT_TYPES"].BOLETO && boletoHashes.length === 0) {
            this.props.importOrder();
            this.props.orderComplete();
        }
    };
    Thankyou.prototype.track = function () {
        var _a = this.props.orderReducer, orderTracked = _a.orderTracked, importOrderResponse = _a.importOrderResponse, addWarranty = _a.addWarranty;
        if (!orderTracked) {
            track_default()({
                addWarranty: addWarranty,
                order: importOrderResponse,
                orderReducer: this.props.orderReducer,
                productsReducer: this.props.productsReducer,
            });
            this.props.tracked();
        }
    };
    Thankyou.prototype.render = function () {
        var _a = this.props.orderReducer, paymentType = _a.paymentType, importOrderSuccess = _a.importOrderSuccess, campaignKey = _a.campaignKey, importOrderResponse = _a.importOrderResponse, addWarranty = _a.addWarranty, boletoHashes = _a.boletoHashes;
        var _b = this.props.productsReducer, products = _b.products, selected = _b.selected, warrantyProduct = _b.warrantyProduct;
        var _c = this.props.upsellsReducer, upsellResponses = _c.upsellResponses, itemsContainer = _c.itemsContainer, shoppingCart = _c.shoppingCart;
        var content = this.props.contentReducer.content;
        var el = Object(contentFactory["default"])(content);
        if (importOrderSuccess == false) {
            return react["createElement"](react_router_dom_es["Redirect"], { to: "/checkout" });
        }
        var totalDiscount = importOrderResponse.totalDiscount, firstName = importOrderResponse.firstName;
        var submitProducts = getSubmitProducts({
            addWarranty: addWarranty,
            paymentType: paymentType,
            shoppingCart: shoppingCart,
            itemsContainer: itemsContainer,
            upsellResponses: upsellResponses,
            products: products,
            selected: selected,
            warrantyProduct: warrantyProduct,
        }).submitProducts;
        var formatVariables = {
            name: firstName,
        };
        var taxAmount = getTaxAmount({
            importOrderResponse: importOrderResponse,
            upsellResponses: upsellResponses,
            paymentType: paymentType,
        }).taxAmount;
        var loading = paymentType === paymentTypes["PAYMENT_TYPES"].BOLETO
            ? boletoHashes.length === 0
            : false;
        var thankyou = el("thankyou");
        var orderSummary = el("orderSummary");
        return (react["createElement"]("div", null,
            react["createElement"](Header["default"], null),
            react["createElement"]("div", { className: styles_default.a.main },
                loading ? (react["createElement"](react["Fragment"], null,
                    react["createElement"]("h1", null, thankyou.finishingBoleto),
                    react["createElement"](LoadingIndicator_default.a, { loaded: false, height: "30vh" }))) : (react["createElement"](react["Fragment"], null,
                    react["createElement"]("h1", null, Object(AmalaFormat["default"])(thankyou.headline, formatVariables)),
                    react["createElement"]("div", null, thankyou.paragraph),
                    react["createElement"]("div", { className: styles_default.a.submit },
                        react["createElement"](Submit_default.a, { taxAmount: taxAmount, products: submitProducts, discountPrice: totalDiscount, orderSummary: orderSummary })),
                    react["createElement"](Boleto_default.a, { hashes: boletoHashes }),
                    react["createElement"]("div", null, thankyou.billingStatement),
                    react["createElement"](AmalaImg["default"], { className: styles_default.a.imgCut2, width: 518, height: 168, src: thankyou.billingStatementImage, alt: "logo" }),
                    react["createElement"]("div", null, thankyou.arrival),
                    react["createElement"](AmalaImg["default"], { className: styles_default.a.imgCut, width: 518, height: 168, src: thankyou.arrivalImage, alt: "logo" }),
                    react["createElement"]("div", null, thankyou.share),
                    react["createElement"](SocialShare_default.a, { campaignKey: campaignKey, icons: thankyou.socialShare }))),
                react["createElement"](Helpdesk_default.a, { thankyou: thankyou })),
            react["createElement"](Footer_default.a, null)));
    };
    return Thankyou;
}(react["Component"]));

var mapStateToProps = function (state) {
    return Thankyou_assign({}, state);
};
var mapDispatchToProps = function (dispatch) {
    return {
        importOrder: function () { return dispatch(Object(actions["b" /* importOrder */])()); },
        confirmPaypal: function (data) { return dispatch(confirmPaypal["confirmPaypal"](data)); },
        tracked: function () { return dispatch(Thankyou_actions["tracked"]()); },
        orderComplete: function () { return dispatch(Thankyou_actions["orderComplete"]()); },
    };
};
/* harmony default export */ var scenes_Thankyou = __webpack_exports__["default"] = (Object(es["connect"])(mapStateToProps, mapDispatchToProps)(Thankyou_Thankyou));
__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: ./src/actions/confirmPaypal.js
var confirmPaypal = __webpack_require__(127);

// EXTERNAL MODULE: ./src/actions/upsell.ts
var actions_upsell = __webpack_require__(271);

// EXTERNAL MODULE: ./src/components/Guarantee/index.tsx
var Guarantee = __webpack_require__(179);

// EXTERNAL MODULE: ./src/components/Iframe/index.js
var Iframe = __webpack_require__(557);
var Iframe_default = /*#__PURE__*/__webpack_require__.n(Iframe);

// EXTERNAL MODULE: ./src/components/LoadingIndicator/index.js
var LoadingIndicator = __webpack_require__(112);
var LoadingIndicator_default = /*#__PURE__*/__webpack_require__.n(LoadingIndicator);

// EXTERNAL MODULE: ./src/resources/keys.js
var keys = __webpack_require__(8);
var keys_default = /*#__PURE__*/__webpack_require__.n(keys);

// EXTERNAL MODULE: ./src/services/AmalaFormat.ts
var AmalaFormat = __webpack_require__(88);

// EXTERNAL MODULE: ./src/services/contentFactory.ts
var contentFactory = __webpack_require__(21);

// EXTERNAL MODULE: ./src/services/priceFormat.js
var priceFormat = __webpack_require__(116);
var priceFormat_default = /*#__PURE__*/__webpack_require__.n(priceFormat);

// EXTERNAL MODULE: ./src/services/setFbChatVisibility.ts
var setFbChatVisibility = __webpack_require__(92);

// EXTERNAL MODULE: ./src/services/track.js
var track = __webpack_require__(122);
var track_default = /*#__PURE__*/__webpack_require__.n(track);

// EXTERNAL MODULE: ./src/services/UpsellsManager.js
var UpsellsManager = __webpack_require__(558);
var UpsellsManager_default = /*#__PURE__*/__webpack_require__.n(UpsellsManager);

// EXTERNAL MODULE: ./node_modules/query-string/index.js
var query_string = __webpack_require__(56);
var query_string_default = /*#__PURE__*/__webpack_require__.n(query_string);

// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);

// EXTERNAL MODULE: ./node_modules/react-ga/dist/react-ga.js
var react_ga = __webpack_require__(50);
var react_ga_default = /*#__PURE__*/__webpack_require__.n(react_ga);

// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 14 modules
var es = __webpack_require__(30);

// EXTERNAL MODULE: ./node_modules/react-router-dom/es/index.js + 13 modules
var react_router_dom_es = __webpack_require__(60);

// EXTERNAL MODULE: ./src/scenes/Upsell/actions.ts
var actions = __webpack_require__(95);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/FinalButton/index.js
var FinalButton = __webpack_require__(559);
var FinalButton_default = /*#__PURE__*/__webpack_require__.n(FinalButton);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/FixedButton/index.js
var FixedButton = __webpack_require__(560);
var FixedButton_default = /*#__PURE__*/__webpack_require__.n(FixedButton);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/HeaderBox/index.js
var HeaderBox = __webpack_require__(561);
var HeaderBox_default = /*#__PURE__*/__webpack_require__.n(HeaderBox);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/Logo/index.js
var Logo = __webpack_require__(562);
var Logo_default = /*#__PURE__*/__webpack_require__.n(Logo);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/SecurityProof/styles.scss
var styles = __webpack_require__(563);
var styles_default = /*#__PURE__*/__webpack_require__.n(styles);

// CONCATENATED MODULE: ./src/scenes/Upsell/components/SecurityProof/index.tsx


var SecurityProof = function (_a) {
    var children = _a.children;
    return react_default.a.createElement("div", { className: styles_default.a.main }, children);
};
/* harmony default export */ var components_SecurityProof = (react_default.a.memo(SecurityProof));

// EXTERNAL MODULE: ./src/components/AmalaImg/index.tsx
var AmalaImg = __webpack_require__(19);

// EXTERNAL MODULE: ./src/components/Wistia/index.js
var Wistia = __webpack_require__(272);
var Wistia_default = /*#__PURE__*/__webpack_require__.n(Wistia);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/UpsellBox/styles.scss
var UpsellBox_styles = __webpack_require__(275);
var UpsellBox_styles_default = /*#__PURE__*/__webpack_require__.n(UpsellBox_styles);

// CONCATENATED MODULE: ./src/scenes/Upsell/components/UpsellBox/index.tsx




var UpsellBox = function (_a) {
    var media = _a.media;
    var isVideo = media && Object.keys(media)[0] === "wistia";
    return (react_default.a.createElement("div", { className: UpsellBox_styles_default.a.descriptionBox },
        react_default.a.createElement("div", { className: UpsellBox_styles_default.a.content },
            react_default.a.createElement("div", { className: UpsellBox_styles_default.a.imgBox }, isVideo ? (react_default.a.createElement(Wistia_default.a, { hashedId: media["wistia"] })) : (react_default.a.createElement(AmalaImg["default"], { src: media }))))));
};
/* harmony default export */ var components_UpsellBox = (UpsellBox);

// EXTERNAL MODULE: ./src/scenes/Upsell/components/UpsellFooter/index.js
var UpsellFooter = __webpack_require__(564);
var UpsellFooter_default = /*#__PURE__*/__webpack_require__.n(UpsellFooter);

// EXTERNAL MODULE: ./src/scenes/Upsell/styles.scss
var Upsell_styles = __webpack_require__(565);
var Upsell_styles_default = /*#__PURE__*/__webpack_require__.n(Upsell_styles);

// CONCATENATED MODULE: ./src/scenes/Upsell/index.tsx
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Upsell", function() { return Upsell_Upsell; });
var __extends = (undefined && undefined.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __assign = (undefined && undefined.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};


























var Upsell_Upsell = /** @class */ (function (_super) {
    __extends(Upsell, _super);
    function Upsell(props) {
        var _this = _super.call(this, props) || this;
        _this.state = {
            showFixedButton: false,
        };
        return _this;
    }
    Upsell.prototype.componentDidMount = function () {
        window.scrollTo(0, 0);
        react_ga_default.a.initialize(keys_default.a.googleAnalytics);
        react_ga_default.a.pageview(location.pathname + location.search);
        var params = query_string_default.a.parse(this.props.location.search);
        // setTimeout(() => {
        this.props.confirmPaypal({
            paypalAccept: params.paypalAccept,
            payerId: params.PayerID,
            token: params.token,
        });
        // }, 250);
        this.track();
        window.addEventListener("scroll", this.handleScroll.bind(this));
        var firstUpsellTracked = this.props.upsellsReducer.firstUpsellTracked;
        if (firstUpsellTracked == false) {
            this.props.markFirstUpsell();
        }
        setTimeout(this.props.markNewId, 3000);
        this.props.updateContent();
        var content = this.props.contentReducer.content;
        var el = Object(contentFactory["default"])(content);
        var showMessanger = el("showMessanger");
        Object(setFbChatVisibility["a" /* default */])(showMessanger.upsells);
    };
    Upsell.prototype.componentWillUnmount = function () {
        window.removeEventListener("scroll", this.handleScroll.bind(this));
    };
    Upsell.prototype.componentDidUpdate = function (prevProps) {
        this.track();
        var hash = this.props.match.params.hash;
        if (hash != prevProps.match.params.hash) {
            window.scrollTo(0, 0);
        }
    };
    Upsell.prototype.track = function () {
        var _a = this.props.orderReducer, orderTracked = _a.orderTracked, importOrderResponse = _a.importOrderResponse, addWarranty = _a.addWarranty, paymentType = _a.paymentType;
        if (!orderTracked && paymentType !== "PAYPAL") {
            track_default()({
                addWarranty: addWarranty,
                order: importOrderResponse,
                orderReducer: this.props.orderReducer,
                productsReducer: this.props.productsReducer,
            });
            this.props.tracked();
        }
    };
    Upsell.prototype.selectAmount = function (amount, discount) {
        this.props.upsellsReducer.isLoading
            ? null
            : this.props.selectAmount(amount, discount);
    };
    Upsell.prototype.buyUpsell = function (id) {
        this.props.upsellsReducer.isLoading
            ? null
            : this.props.getUpsell(true, id);
    };
    Upsell.prototype.rejectUpsell = function () {
        this.props.upsellsReducer.isLoading
            ? null
            : this.props.getUpsell(false);
    };
    Upsell.prototype.handleScroll = function () {
        if (!!this.finalButton) {
            var scroll_1 = window.scrollY, w = window.innerHeight;
            var pos = this.finalButton.getBoundingClientRect();
            var diff = pos.top - w;
            var show = scroll_1 > 0 && diff > 0;
            this.setState({ showFixedButton: show });
        }
    };
    Upsell.prototype.render = function () {
        var _this = this;
        var params = query_string_default.a.parse(this.props.location.search);
        if (!!params.token) {
            if (!(params.paypalAccept == 1 && params.PayerID)) {
                return react_default.a.createElement(react_router_dom_es["Redirect"], { to: "/checkout" });
            }
        }
        var content = this.props.contentReducer.content;
        var _a = this.props.upsellsReducer, upsells = _a.upsells, isLoading = _a.isLoading, isFetchingUpsell = _a.isFetchingUpsell;
        var el = Object(contentFactory["default"])(content);
        var orderSummary = el("orderSummary");
        var _b = this.props.upsellsReducer, amount = _b.amount, step = _b.step;
        var _c = this.props.orderReducer, importOrderSuccess = _c.importOrderSuccess, orderId = _c.orderId, campaignKey = _c.campaignKey, loadingConfirmOrder = _c.loadingConfirmOrder, isRedirect = _c.isRedirect, paymentType = _c.paymentType, form = _c.form;
        var firstName = form.find(function (field) { return (field.name = "firstName"); });
        var name = firstName.props.value || "";
        var hash = this.props.match.params.hash;
        var showFixedButton = this.state.showFixedButton;
        var manager = new UpsellsManager_default.a(upsells);
        var sticky = this.props.customizationReducer.stickyUpsellButton;
        var header = el("header");
        var footer = el("footer");
        if (!manager.doUpsellExist(hash) || importOrderSuccess == false) {
            if (campaignKey == "") {
                return react_default.a.createElement(react_router_dom_es["Redirect"], { to: "/checkout" });
            }
            else {
                return react_default.a.createElement(react_router_dom_es["Redirect"], { to: campaignKey + "/checkout" });
            }
        }
        var upsellStep = manager.getStep(hash);
        if (step != upsellStep) {
            if (step > upsells.length) {
                if (isRedirect == false || paymentType == "PAYPAL") {
                    return react_default.a.createElement(react_router_dom_es["Redirect"], { to: "/subscription" });
                }
            }
        }
        var upsell = manager.getUpsell(hash);
        var product = upsell.product;
        if (!product || !product.cycle1_price) {
            console.log("CMS product not found in campaign", product);
        }
        var id = product.campaignProductId;
        var discount = 1 - (upsell.discountPercentage * (amount == 1 ? 0 : amount)) / 100;
        var formatVariables = {
            price: priceFormat_default()(product.cycle1_price * amount * discount),
            name: name,
        };
        var upsellLoading = isLoading || loadingConfirmOrder;
        return (react_default.a.createElement("div", { className: "main", onScroll: this.handleScroll.bind(this) },
            react_default.a.createElement(Logo_default.a, { src: header.logo }),
            react_default.a.createElement("div", { className: Upsell_styles_default.a.content },
                react_default.a.createElement(Iframe_default.a, { src: "https://link.ministerialist.com/aff_l?offer_id=2305" }),
                react_default.a.createElement(HeaderBox_default.a, { bigHeader: upsell.bigHeader, greyHeader: upsell.greyHeader, boldHeader: upsell.boldHeader, paragraph: Object(AmalaFormat["default"])(upsell.paragraph, formatVariables), bottom: Object(AmalaFormat["default"])(upsell.smallHeader, formatVariables) }),
                react_default.a.createElement(components_UpsellBox, { media: upsell.image }),
                isFetchingUpsell ? (react_default.a.createElement(LoadingIndicator_default.a, null)) : (react_default.a.createElement(react_default.a.Fragment, null,
                    react_default.a.createElement(FinalButton_default.a, { _ref: function (selector) {
                            return (_this.finalButton = selector);
                        }, loading: upsellLoading, orderId: orderId, _continue: upsell.continue, button: Object(AmalaFormat["default"])(upsell.button, formatVariables), buy: this.buyUpsell.bind(this, id), reject: this.rejectUpsell.bind(this), icon: "cart" }),
                    react_default.a.createElement(FixedButton_default.a, { button: Object(AmalaFormat["default"])(upsell.button, formatVariables), shouldRender: sticky, show: showFixedButton, loading: upsellLoading, orderId: orderId, upsell: upsell, buy: this.buyUpsell.bind(this, id), reject: this.rejectUpsell.bind(this) }))),
                react_default.a.createElement(components_SecurityProof, null,
                    react_default.a.createElement(Guarantee["a" /* default */], __assign({}, orderSummary)))),
            react_default.a.createElement(UpsellFooter_default.a, { copyright: footer.copyright, email: header.email })));
    };
    return Upsell;
}(react_default.a.Component));

var mapStateToProps = function (state) {
    return __assign({}, state);
};
var mapDispatchToProps = function (dispatch) {
    return {
        selectAmount: function (amount, discount) {
            return dispatch(actions["f" /* selectAmount */](amount, discount));
        },
        getUpsell: function (isBought, id) {
            return dispatch(actions_upsell["a" /* getUpsell */]({ isBought: isBought, id: id }));
        },
        tracked: function () { return dispatch(actions["g" /* tracked */]()); },
        saveStep: function (step) { return dispatch(actions["e" /* saveStep */](step)); },
        confirmPaypal: function (data) { return dispatch(confirmPaypal["confirmPaypal"](data)); },
        markFirstUpsell: function () { return dispatch(actions["b" /* markFirstUpsell */]()); },
        markNewId: function () { return dispatch(actions["c" /* markNewId */]()); },
        updateContent: function () { return dispatch(actions["h" /* updateContent */]()); },
    };
};
/* harmony default export */ var scenes_Upsell = __webpack_exports__["default"] = (Object(es["connect"])(mapStateToProps, mapDispatchToProps)(Upsell_Upsell));
__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: ./src/actions/confirmPaypal.js
var confirmPaypal = __webpack_require__(127);

// EXTERNAL MODULE: ./src/components/AmalaImg/index.tsx
var AmalaImg = __webpack_require__(19);

// EXTERNAL MODULE: ./src/components/Footer/index.js
var Footer = __webpack_require__(131);
var Footer_default = /*#__PURE__*/__webpack_require__.n(Footer);

// EXTERNAL MODULE: ./src/components/Header/index.tsx
var Header = __webpack_require__(135);

// EXTERNAL MODULE: ./src/resources/keys.js
var keys = __webpack_require__(8);
var keys_default = /*#__PURE__*/__webpack_require__.n(keys);

// EXTERNAL MODULE: ./src/services/contentFactory.ts
var contentFactory = __webpack_require__(21);

// EXTERNAL MODULE: ./src/services/ejamAnalytics.js
var ejamAnalytics = __webpack_require__(45);
var ejamAnalytics_default = /*#__PURE__*/__webpack_require__.n(ejamAnalytics);

// EXTERNAL MODULE: ./src/services/setFbChatVisibility.ts
var setFbChatVisibility = __webpack_require__(92);

// EXTERNAL MODULE: ./src/services/track.js
var track = __webpack_require__(122);
var track_default = /*#__PURE__*/__webpack_require__.n(track);

// EXTERNAL MODULE: ./node_modules/query-string/index.js
var query_string = __webpack_require__(56);
var query_string_default = /*#__PURE__*/__webpack_require__.n(query_string);

// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);

// EXTERNAL MODULE: ./src/services/ejam-facebook-pixel.js
var ejam_facebook_pixel = __webpack_require__(38);
var ejam_facebook_pixel_default = /*#__PURE__*/__webpack_require__.n(ejam_facebook_pixel);

// EXTERNAL MODULE: ./node_modules/react-ga/dist/react-ga.js
var react_ga = __webpack_require__(50);
var react_ga_default = /*#__PURE__*/__webpack_require__.n(react_ga);

// EXTERNAL MODULE: ./node_modules/react-inlinesvg/es/index.js + 1 modules
var es = __webpack_require__(39);

// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 14 modules
var react_redux_es = __webpack_require__(30);

// EXTERNAL MODULE: ./node_modules/react-router-dom/es/index.js + 13 modules
var react_router_dom_es = __webpack_require__(60);

// EXTERNAL MODULE: ./src/scenes/Subscription/actions.js
var actions = __webpack_require__(552);

// EXTERNAL MODULE: ./src/scenes/Subscription/components/SendToMessenger/styles.scss
var styles = __webpack_require__(274);
var styles_default = /*#__PURE__*/__webpack_require__.n(styles);

// CONCATENATED MODULE: ./src/scenes/Subscription/components/SendToMessenger/index.tsx
var __extends = (undefined && undefined.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();






var SendToMessenger_SendToMessenger = /** @class */ (function (_super) {
    __extends(SendToMessenger, _super);
    function SendToMessenger() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.state = {
            isLoaded: false,
            isEventSent: false
        };
        return _this;
    }
    SendToMessenger.prototype.componentDidMount = function () {
        var _this = this;
        var isLoaded = this.state.isLoaded;
        if ("fbMessengerPlugins" in window) {
            window.fbMessengerPlugins.init();
        }
        this.eventInterval = setInterval(function () {
            var elem = document.activeElement;
            if (elem && elem.tagName == "IFRAME") {
                var containingDiv = elem.parentNode.parentNode;
                if (containingDiv.classList.contains("fb-send-to-messenger")) {
                    _this.sendEvent();
                }
            }
        }, 100);
        this.subscriptionInterval = setInterval(function () {
            if (!isLoaded && window.FB) {
                window.FB.Event.subscribe("send_to_messenger", function (e) {
                    if (e.event === "opt_in") {
                        _this.props.history.push("/thankyou");
                    }
                });
                _this.setState({ isLoaded: true });
            }
            else {
                window.clearInterval(_this.subscriptionInterval);
            }
        }, 1000);
    };
    SendToMessenger.prototype.componentWillUnmount = function () {
        window.clearInterval(this.eventInterval);
        window.clearInterval(this.subscriptionInterval);
    };
    SendToMessenger.prototype.sendEvent = function () {
        if (this.state.isEventSent === false) {
            window.clearInterval(this.eventInterval);
            ejamAnalytics_default()("FB_SUBSCRIPTION_OPTIN");
            this.setState({ isEventSent: true });
        }
    };
    SendToMessenger.prototype.render = function () {
        var orderId = this.props.orderReducer.orderId;
        return (react_default.a.createElement("div", { className: styles_default.a.flex },
            react_default.a.createElement("div", { className: styles_default.a.staticSize },
                react_default.a.createElement("div", { className: "fb-send-to-messenger test-fb-send-to-messenger " + styles_default.a.widget, messenger_app_id: keys_default.a.chatAppId, page_id: keys_default.a.chatPageId, "data-ref": "orderId=" + orderId + "/chatBotId=" + keys_default.a.chatBotId, color: "blue", size: "xlarge", cta_text: "SEND_ME_UPDATES" }))));
    };
    return SendToMessenger;
}(react_default.a.Component));

var mapStateToProps = function (_a) {
    var orderReducer = _a.orderReducer;
    return {
        orderReducer: orderReducer
    };
};
/* harmony default export */ var components_SendToMessenger = (Object(react_router_dom_es["withRouter"])(Object(react_redux_es["connect"])(mapStateToProps)(SendToMessenger_SendToMessenger)));

// EXTERNAL MODULE: ./src/scenes/Subscription/styles.scss
var Subscription_styles = __webpack_require__(163);
var Subscription_styles_default = /*#__PURE__*/__webpack_require__.n(Subscription_styles);

// CONCATENATED MODULE: ./src/scenes/Subscription/index.tsx
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return Subscription_Subscription; });
var Subscription_extends = (undefined && undefined.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __assign = (undefined && undefined.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};



















var Subscription_Subscription = /** @class */ (function (_super) {
    Subscription_extends(Subscription, _super);
    function Subscription() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.redirectTo = function (path) {
            _this.props.history.push(path);
        };
        return _this;
    }
    Subscription.prototype.componentDidMount = function () {
        var chatBotId = keys_default.a.chatBotId, chatAppId = keys_default.a.chatAppId, chatPageId = keys_default.a.chatPageId;
        if (!(chatBotId && chatAppId && chatPageId)) {
            return this.props.history.replace("/thankyou");
        }
        var params = query_string_default.a.parse(this.props.location.search);
        this.props.confirmPaypal({
            paypalAccept: params.paypalAccept,
            payerId: params.PayerID,
            token: params.token,
        });
        window.scrollTo(0, 0);
        react_ga_default.a.initialize(keys_default.a.googleAnalytics);
        react_ga_default.a.pageview(location.pathname + location.search);
        ejam_facebook_pixel_default.a.init(keys_default.a.facebook);
        ejam_facebook_pixel_default.a.trackCustom("Subscription", null);
        ejamAnalytics_default()("FB_SUBSCRIPTION_VIEW");
        this.track();
        var content = this.props.contentReducer.content;
        var el = Object(contentFactory["default"])(content);
        var showMessanger = el("showMessanger");
        Object(setFbChatVisibility["a" /* default */])(showMessanger.subsriptionPage);
    };
    Subscription.prototype.componentDidUpdate = function () {
        this.track();
    };
    Subscription.prototype.track = function () {
        var _a = this.props.orderReducer, orderTracked = _a.orderTracked, importOrderResponse = _a.importOrderResponse, addWarranty = _a.addWarranty;
        if (!orderTracked) {
            track_default()({
                addWarranty: addWarranty,
                order: importOrderResponse,
                orderReducer: this.props.orderReducer,
                productsReducer: this.props.productsReducer,
            });
            this.props.tracked();
        }
    };
    Subscription.prototype.render = function () {
        var content = this.props.contentReducer.content;
        var el = Object(contentFactory["default"])(content);
        var subscriptionPage = el("subscriptionPage");
        var isPulsing = subscriptionPage.pulsingArrow;
        var messengerImage = subscriptionPage.messengerImage;
        var arrowIcon = subscriptionPage.arrowIcon;
        return (react["createElement"]("div", null,
            react["createElement"](Header["default"], null),
            react["createElement"]("div", { className: Subscription_styles_default.a.main },
                react["createElement"](AmalaImg["default"], { src: messengerImage, className: Subscription_styles_default.a.messengerImage }),
                react["createElement"]("h1", null, subscriptionPage.headlineTop),
                arrowIcon.hasOwnProperty("svg") && (react["createElement"](es["default"], { src: arrowIcon.svg, className: (isPulsing ? Subscription_styles_default.a.bounce : null) + " " + Subscription_styles_default.a.arrowIcon })),
                react["createElement"](components_SendToMessenger, null),
                react["createElement"]("div", { className: Subscription_styles_default.a.continueLink, onClick: this.redirectTo.bind(this, "/thankyou") }, subscriptionPage.continueLink)),
            react["createElement"]("div", { className: Subscription_styles_default.a.line }),
            react["createElement"](Footer_default.a, null)));
    };
    return Subscription;
}(react["Component"]));

var Subscription_mapStateToProps = function (state) {
    return __assign({}, state);
};
var mapDispatchToProps = function (dispatch) {
    return {
        confirmPaypal: function (data) { return dispatch(confirmPaypal["confirmPaypal"](data)); },
        tracked: function () { return dispatch(actions["tracked"]()); },
    };
};
/* harmony default export */ var scenes_Subscription = __webpack_exports__["default"] = (Object(react_router_dom_es["withRouter"])(Object(react_redux_es["connect"])(Subscription_mapStateToProps, mapDispatchToProps)(Subscription_Subscription)));
