{"version":3,"file":"security-bundle.js","mappings":"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","sources":["webpack://flippingbooksite/webpack/runtime/chunk loaded","webpack://flippingbooksite/webpack/runtime/create fake namespace object","webpack://flippingbooksite/webpack/runtime/load script","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/apis/service-locator/ServiceLocatorApi.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/apis/service-locator/index.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/errors/ServiceLocatorError.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/errors/WebServiceError.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/service.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/token/JWTTokenService.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/token/TokenService.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/token/index.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/formatDateForServer.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/index.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/load.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/parseWsDate.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/parsers/paymentInfo.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/throttle.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/try-parse-date.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/util/wait.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/webservice/HttpClient.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/webservice/ServiceClient.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/webservice/ServiceLocator.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/webservice/fetchers.ts","webpack://flippingbooksite/./node_modules/@flippingbook/web.utils/src/webservice/index.ts","webpack://flippingbooksite/./sources/src/services/intersector.ts","webpack://flippingbooksite/./sources/src/util/run-once-on-intersect.ts","webpack://flippingbooksite/./sources/src/components/calendly-button/base/index.ts","webpack://flippingbooksite/./sources/src/components/calendly-button/fbo/index.ts","webpack://flippingbooksite/./sources/src/pages/security/book-demo.ts","webpack://flippingbooksite/./sources/src/pages/security/index.ts","webpack://flippingbooksite/./sources/src/services/instance/api/httpClient.ts","webpack://flippingbooksite/./sources/src/services/instance/api/serviceClient.ts","webpack://flippingbooksite/./sources/src/services/instance/api/serviceLocatorApi.ts","webpack://flippingbooksite/./sources/src/services/instance/api/licenseApi.ts","webpack://flippingbooksite/./sources/src/services/instance/api/paymentsApi.ts","webpack://flippingbooksite/./sources/src/services/instance/api/siteApi.ts","webpack://flippingbooksite/./sources/src/services/instance/licenseService.ts","webpack://flippingbooksite/./sources/src/services/instance/serviceLocator.ts","webpack://flippingbooksite/./sources/src/services/instance/tokenService.ts","webpack://flippingbooksite/./sources/src/util/image.ts","webpack://flippingbooksite/./sources/src/util/is-logged-in.ts","webpack://flippingbooksite/external var \"{\\\"locatorUrl\\\":\\\"https://registry-tc.dev.flippingbook.com/api\\\",\\\"featureFlags\\\":{},\\\"sentryDsn\\\":\\\"https://8fa71d45f6aa4a06be961166e0ee495b@sentry.io/1359544\\\",\\\"sentryEnable\\\":false}\"","webpack://flippingbooksite/webpack/bootstrap","webpack://flippingbooksite/webpack/runtime/amd options","webpack://flippingbooksite/webpack/runtime/compat get default export","webpack://flippingbooksite/webpack/runtime/define property getters","webpack://flippingbooksite/webpack/runtime/ensure chunk","webpack://flippingbooksite/webpack/runtime/get javascript chunk filename","webpack://flippingbooksite/webpack/runtime/get mini-css chunk filename","webpack://flippingbooksite/webpack/runtime/global","webpack://flippingbooksite/webpack/runtime/hasOwnProperty shorthand","webpack://flippingbooksite/webpack/runtime/make namespace object","webpack://flippingbooksite/webpack/runtime/node module decorator","webpack://flippingbooksite/webpack/runtime/runtimeId","webpack://flippingbooksite/webpack/runtime/publicPath","webpack://flippingbooksite/webpack/runtime/css loading","webpack://flippingbooksite/webpack/runtime/jsonp chunk loading","webpack://flippingbooksite/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"flippingbooksite:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import type { IHttpClient } from '../../webservice/IHttpClient';\n\nimport type { GetServicesResponseJson, ServiceDescriptor } from './IServiceLocatorApi';\nimport type IServiceLocatorApi from './IServiceLocatorApi';\n\nexport const SERVICE_TYPE = 'FB.Interface.Discovery.ExactServiceRequest, FB.Interface.Discovery';\n\nexport type ServiceLocatorApiParams = {\n    httpClient: IHttpClient;\n    locatorUrl: string;\n};\n\nexport default class ServiceLocatorApi implements IServiceLocatorApi {\n    private locatorUrl: string;\n    private client: IHttpClient;\n\n    constructor({ httpClient, locatorUrl }: ServiceLocatorApiParams) {\n        this.client = httpClient;\n        this.locatorUrl = locatorUrl;\n    }\n\n    getServices(...descriptors: ServiceDescriptor[]) {\n        return this.client.fetchUrl<GetServicesResponseJson>(`${this.locatorUrl}/service/search`, {\n            method: 'POST',\n            mode: 'cors',\n            body: {\n                Services: descriptors.map((descriptor) => ({\n                    $type: SERVICE_TYPE,\n                    Service: descriptor.service,\n                    Subsystem: descriptor.subsystem,\n                    ParentAuditEvent: null,\n                })),\n            },\n        });\n    }\n}\n","import IServiceLocatorApi, { ServiceRegistryResponseJson } from './IServiceLocatorApi';\nimport ServiceLocatorApi from './ServiceLocatorApi';\n\nexport { IServiceLocatorApi, ServiceRegistryResponseJson, ServiceLocatorApi };\n","import WebServiceError from './WebServiceError';\n\nexport default class ServiceLocatorError extends WebServiceError {}\n","export default class WebServiceError<T = unknown> extends Error {\n    // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n    // @ts-ignore: 'data' is declared but its value is never read.\n    private data: T;\n\n    constructor(message: string, data: T) {\n        super(`${message}\\n${JSON.stringify(data, null, 2)}`);\n        this.data = data;\n    }\n\n    getData() {\n        return this.data;\n    }\n}\n","import { readonly } from './types';\n\nexport interface IService {\n    listen(cb: () => void): void;\n    unlisten(cb: () => void): void;\n}\n\nexport abstract class Listenable {\n    private readonly listeners = new Set<() => void>();\n\n    listen(cb: () => void) {\n        this.listeners.add(cb);\n    }\n\n    unlisten(cb: () => void) {\n        this.listeners.delete(cb);\n    }\n\n    protected notify() {\n        this.listeners.forEach((l) => l());\n    }\n}\n\nexport abstract class Parametrized<P> {\n    protected params: P;\n\n    constructor(params: P) {\n        this.params = params;\n    }\n}\n\nexport abstract class ListenableParametrized<P> extends Listenable {\n    protected params: P;\n\n    constructor(params: P) {\n        super();\n        this.params = params;\n    }\n}\n\nexport abstract class AbstractService<T extends object, P = Record<string, unknown>>\n    extends ListenableParametrized<P>\n    implements IService\n{\n    protected data: Readonly<T> | null = null;\n\n    protected updateData(update: T): Readonly<T> {\n        this.data = {\n            ...(this.data || {}),\n            ...update,\n        };\n        this.notify();\n        return readonly(this.data);\n    }\n\n    protected overwriteData(newData: T | null): Readonly<T> | null {\n        this.data = newData;\n        this.notify();\n        return this.data === null ? null : readonly(this.data);\n    }\n}\n","import { ListenableParametrized } from '../service';\nimport type { IStorageProvider } from '../storage';\n\nimport type { ITokenService } from './ITokenService';\n\nexport class JWTTokenService extends ListenableParametrized<JWTTokenService.Params> implements ITokenService {\n    public static readonly STORAGE_KEY = 'PA.JWTTokenService.Token';\n\n    set({ token }: { token: string }) {\n        this.params.storage.set(JWTTokenService.STORAGE_KEY, token || '');\n        this.notify();\n    }\n\n    get() {\n        return this.params.storage.get(JWTTokenService.STORAGE_KEY) || '';\n    }\n\n    clear() {\n        this.params.storage.remove(JWTTokenService.STORAGE_KEY);\n        this.notify();\n    }\n}\n\nexport namespace JWTTokenService {\n    export interface Params {\n        storage: IStorageProvider;\n    }\n}\n","import { ListenableParametrized } from '../service';\nimport type { IStorageProvider } from '../storage';\n\nimport type { ITokenService } from './ITokenService';\n\nexport class TokenService extends ListenableParametrized<TokenService.Params> implements ITokenService {\n    public static readonly STORAGE_KEY = 'PA.TokenService.Token';\n\n    set({ token }: { token: string }) {\n        this.params.storage.set(TokenService.STORAGE_KEY, token || '');\n        this.notify();\n    }\n\n    get() {\n        return this.params.storage.get(TokenService.STORAGE_KEY) || '';\n    }\n\n    clear() {\n        this.params.storage.remove(TokenService.STORAGE_KEY);\n        this.notify();\n    }\n}\n\nexport namespace TokenService {\n    export interface Params {\n        storage: IStorageProvider;\n    }\n}\n","export { ITokenService } from './ITokenService';\nexport { TokenService } from './TokenService';\nexport { JWTTokenService } from './JWTTokenService';\n","export function formatDateForServer(date: Date): string {\n    return date.toISOString();\n}\n","import parseWsDate from './parseWsDate';\n\nexport { loadCss, loadJs } from './load';\nexport { parsePaymentInfo } from './parsers/paymentInfo';\nexport { formatDateForServer } from './formatDateForServer';\nexport { wait } from './wait';\nexport { throttle } from './throttle';\n\nexport { parseWsDate };\n","const EXTERNAL_URL_REGEX = /^https?:/;\n\nconst contentUrl = (contentRoot: string, src: string) =>\n    EXTERNAL_URL_REGEX.test(src) ? src : contentRoot + (src.charAt(0) === '/' ? src : `/${src}`);\n\nexport const loadJs = (contentRoot: string) => (src: string) =>\n    new Promise<void>((resolve, reject) => {\n        const scriptTag = document.createElement('script');\n        scriptTag.addEventListener('load', () => resolve());\n        // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n        scriptTag.addEventListener('error', () => reject());\n        scriptTag.setAttribute('src', contentUrl(contentRoot, src));\n        document.head.appendChild(scriptTag);\n    });\n\nexport const loadCss = (contentRoot: string) => (src: string) =>\n    new Promise<void>((resolve, reject) => {\n        const linkTag = document.createElement('link');\n        linkTag.setAttribute('rel', 'stylesheet');\n        linkTag.addEventListener('load', () => resolve());\n        // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n        linkTag.addEventListener('error', () => reject());\n        linkTag.setAttribute('href', contentUrl(contentRoot, src));\n        document.head.appendChild(linkTag);\n    });\n","const parseWsDate = (wsDate: string | Date | null): Date | null => {\n    if (!wsDate) {\n        return null;\n    }\n    if (wsDate instanceof Date) {\n        return wsDate;\n    }\n    try {\n        return new Date(parseInt(wsDate.substring(6), 10));\n    } catch {\n        return null;\n    }\n};\n\nexport default parseWsDate;\n","import type { PaymentInfo as PaymentInfoJson } from '../../apis/payments';\nimport type { PaymentInfo } from '../../subscriptions';\nimport { tryParseDate } from '../try-parse-date';\n\nexport const parsePaymentInfo = (payment: PaymentInfoJson): PaymentInfo => {\n    return {\n        ...payment,\n        LastUpdate: tryParseDate(payment.LastUpdate ? payment.LastUpdate : ''),\n        Items: payment.Items.map(parsePaymentInfo),\n    };\n};\n","export const throttle = <T extends unknown[]>(callback: (...args: T) => unknown, delay?: number) => {\n    let shouldWait = false;\n\n    return (...args: T) => {\n        if (!shouldWait) {\n            callback(...args);\n\n            shouldWait = true;\n\n            setTimeout(() => {\n                shouldWait = false;\n            }, delay);\n        }\n    };\n};\n","export function tryParseDate(dateString: string): Date | null {\n    if (!Number.isNaN(Date.parse(dateString))) {\n        return new Date(dateString);\n    }\n    return null;\n}\n","export const wait = (timeout: number) => new Promise<void>((resolve) => setTimeout(resolve, timeout));\n","import type { Fetcher, FetcherParams, FetcherResponse } from './fetchers';\nimport type { IHttpClient } from './IHttpClient';\nimport { InternalServerError, FetchError } from './ServiceClient';\n\nexport type HttpClientParams = {\n    fetcher: Fetcher;\n};\n\nexport type DHolder<R> = {\n    d: R;\n};\n\nconst maybeParseJson = (text: string) => {\n    try {\n        return JSON.parse(text) as object;\n    } catch {\n        return text;\n    }\n};\n\nexport class HttpClient implements IHttpClient {\n    private fetcher: Fetcher;\n\n    constructor({ fetcher }: HttpClientParams) {\n        this.fetcher = fetcher;\n    }\n\n    private isDHolder<R>(arg: unknown): arg is DHolder<R> {\n        return !!arg && typeof arg === 'object' && 'd' in arg && arg.d !== undefined;\n    }\n\n    async fetchUrl<R>(url: string, params: FetcherParams = {}): Promise<R> {\n        const now = new Date();\n\n        return this.fetcher(url, params)\n            .then((response) => {\n                if (response.ok) {\n                    return this.parse<R>(response);\n                }\n                // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n                return Promise.reject(response);\n            })\n            .catch(async (error: unknown) => {\n                if (error instanceof Response) {\n                    const text = await error.text();\n                    const responseHeaders = Object.fromEntries(error.headers.entries());\n                    return Promise.reject(\n                        new InternalServerError({\n                            url,\n                            params,\n                            timestamp: now,\n                            responseStatus: error.status,\n                            responseData: maybeParseJson(text),\n                            responseHeaders,\n                        }),\n                    );\n                }\n                const fetchError = new FetchError({ url, params, timestamp: now });\n                if (error instanceof Error) {\n                    fetchError.stack = error?.stack;\n                }\n                return Promise.reject(fetchError);\n            });\n    }\n\n    protected async parse<R>(res: FetcherResponse): Promise<R> {\n        const json = await (<Promise<R | DHolder<R>>>res.json());\n        return this.isDHolder(json) ? json.d : json;\n    }\n}\n","import WebServiceError from '../errors/WebServiceError';\n\nimport type { FetcherParams } from './fetchers';\nimport type { IHttpClient } from './IHttpClient';\nimport type { IServiceClient } from './IServiceClient';\nimport type { IServiceLocator } from './IServiceLocator';\n\nexport interface InternalServerErrorData {\n    timestamp: string;\n    params: FetcherParams;\n    response: {\n        responseData: string | object;\n        responseStatus: number;\n        responseHeaders: Record<string, string>;\n    };\n}\n\nexport class InternalServerError extends WebServiceError<InternalServerErrorData> {\n    constructor({\n        url,\n        timestamp,\n        params,\n        responseData,\n        responseStatus,\n        responseHeaders,\n    }: {\n        url: string;\n        timestamp: Date;\n        params: FetcherParams;\n        responseData: string | object;\n        responseStatus: number;\n        responseHeaders: Record<string, string>;\n    }) {\n        super(`Failed calling ${url}. Internal server error`, {\n            params,\n            timestamp: timestamp.toISOString(),\n            response: {\n                responseStatus,\n                responseHeaders,\n                responseData,\n            },\n        });\n    }\n}\n\nexport class FetchError extends WebServiceError {\n    constructor({ url, timestamp, params }: { url: string; timestamp: Date; params: FetcherParams }) {\n        super(`Failed to fetch \"${url}\"`, {\n            params,\n            timestamp: timestamp.toISOString(),\n        });\n    }\n}\n\nexport type ServiceClientParams = {\n    httpClient: IHttpClient;\n    serviceLocator: IServiceLocator;\n};\n\nexport class ServiceClient implements IServiceClient {\n    private httpClient: IHttpClient;\n    private locator: IServiceLocator;\n\n    constructor({ httpClient, serviceLocator }: ServiceClientParams) {\n        this.httpClient = httpClient;\n        this.locator = serviceLocator;\n    }\n\n    callService<R>(\n        subsystem: string,\n        service: string,\n        webServiceMethod: string,\n        params: FetcherParams = {},\n    ): Promise<R> {\n        params.method = params.method || 'POST';\n        return this.resolveMethod(subsystem, service, webServiceMethod).then((url) =>\n            this.httpClient.fetchUrl<R>(url, params),\n        );\n    }\n\n    private resolveMethod(subsystem: string, service: string, webServiceMethod: string) {\n        return this.locator.resolve({ subsystem, service }).then(([url]) => `${url}/${webServiceMethod}`);\n    }\n}\n","import type {\n    GetServicesResponseJson,\n    ServiceEndpointJson,\n    ServiceRegistryResponseJson,\n} from '../apis/service-locator/IServiceLocatorApi';\nimport type IServiceLocatorApi from '../apis/service-locator/IServiceLocatorApi';\nimport ServiceLocatorError from '../errors/ServiceLocatorError';\n\nimport type { IServiceLocator, ServiceDescriptor } from './IServiceLocator';\n\nexport type LocatorCache = {\n    [subsystem: string]: { [service: string]: string };\n};\n\nexport type ServiceLocatorProps = {\n    serviceLocatorApi: IServiceLocatorApi;\n    cache?: LocatorCache;\n};\n\ntype PromisesCache = {\n    [subsystem: string]: { [service: string]: Promise<string> };\n};\n\nexport class ServiceLocator implements IServiceLocator {\n    private api: IServiceLocatorApi;\n    private promises: PromisesCache;\n\n    constructor({ serviceLocatorApi, cache = {} }: ServiceLocatorProps) {\n        this.api = serviceLocatorApi;\n        this.promises = ServiceLocator.stringCacheToPromiseCache(cache);\n    }\n\n    resolve(...descriptors: ServiceDescriptor[]): Promise<string[]> {\n        const nonCached = descriptors.filter((descriptor) => !this.readCachedUrlPromise(descriptor));\n        return this.retrieveServiceUrl(nonCached).then(() =>\n            Promise.all(descriptors.map((descriptor) => this.readCachedUrlPromise(descriptor)!)),\n        );\n    }\n\n    private retrieveServiceUrl(descriptors: ServiceDescriptor[]) {\n        if (descriptors.length === 0) {\n            return Promise.resolve([]);\n        }\n        const responsePromise = this.api.getServices(...descriptors);\n        return Promise.all(\n            descriptors.map((descriptor) =>\n                this.cacheUrlPromise(descriptor, ServiceLocator.createUrlPromise(responsePromise, descriptor)),\n            ),\n        );\n    }\n\n    private readCachedUrlPromise(descriptor: ServiceDescriptor): Promise<string> | undefined {\n        return this.promises[descriptor.subsystem]?.[descriptor.service];\n    }\n\n    private cacheUrlPromise(descriptor: ServiceDescriptor, promise: Promise<string>) {\n        this.promises[descriptor.subsystem] = {\n            ...this.promises[descriptor.subsystem],\n            [descriptor.service]: promise,\n        };\n        return promise;\n    }\n\n    private static stringCacheToPromiseCache(cache: LocatorCache): PromisesCache {\n        return Object.keys(cache).reduce(\n            (subsystemResult, subsystem) => ({\n                ...subsystemResult,\n                [subsystem]: Object.keys(cache[subsystem]).reduce(\n                    (serviceResult, service) => ({\n                        ...serviceResult,\n                        [service]: Promise.resolve(cache[subsystem][service]),\n                    }),\n                    {},\n                ),\n            }),\n            {},\n        );\n    }\n\n    private static createUrlPromise(responsePromise: Promise<GetServicesResponseJson>, descriptor: ServiceDescriptor) {\n        return responsePromise.then((json) => {\n            const endpoint = ServiceLocator.readEndpoint(json, descriptor);\n            return ServiceLocator.endpointUrl(endpoint);\n        });\n    }\n\n    private static readEndpoint(json: GetServicesResponseJson, descriptor: ServiceDescriptor): ServiceEndpointJson {\n        const responses: ServiceRegistryResponseJson[] = json.Responses || [];\n\n        let endpoint: ServiceEndpointJson | undefined;\n\n        for (let i = 0; i < responses.length; i += 1) {\n            const services = responses[i].Services;\n\n            if (!services) {\n                continue;\n            }\n\n            const service = services.find(\n                (service) =>\n                    service.Subsystem === descriptor.subsystem &&\n                    service.Service === descriptor.service &&\n                    (service.Endpoints ? service.Endpoints.length > 0 : false),\n            );\n\n            if (!service) {\n                continue;\n            }\n\n            endpoint = service?.Endpoints?.reduce((previousEndpoint, currentEndpoint) => {\n                if (!previousEndpoint.Version || !currentEndpoint.Version) {\n                    return previousEndpoint;\n                }\n\n                return currentEndpoint.Version > previousEndpoint.Version ? currentEndpoint : previousEndpoint;\n            }, service?.Endpoints?.[0]);\n            break;\n        }\n\n        if (!endpoint) {\n            throw new ServiceLocatorError(\n                `Failed to locate endpoint of ${descriptor.service} service of subsystem ${descriptor.subsystem}`,\n                json,\n            );\n        }\n\n        return endpoint;\n    }\n\n    static endpointUrl({ Host, ThinClientHost, Path, ThinClientPath }: ServiceEndpointJson): string {\n        return `https://${ThinClientHost || Host || ''}/${ThinClientPath || Path || ''}`;\n    }\n}\n","export type FetcherResponse = Response;\n\nexport type FetcherBody = Record<string, unknown> | FormData | string;\n\nexport interface FetcherParams {\n    mode?: string;\n    body?: FetcherBody;\n    method?: string;\n    headers?: { [key: string]: string };\n    credentials?: RequestCredentials;\n}\n\nexport interface Fetcher {\n    (url: string, params: FetcherParams): Promise<FetcherResponse>;\n}\n\nconst fetchBody = (body: FetcherBody): Blob | BufferSource | FormData | string | null => {\n    if (body instanceof Blob || body instanceof FormData || typeof body === 'string') {\n        return body;\n    }\n\n    return JSON.stringify(body);\n};\n\nexport const jsonFetcher =\n    (fetcher: typeof window.fetch) =>\n    (url: string, params: FetcherParams = {}) => {\n        const init: FetcherParams = {\n            mode: 'cors',\n            ...params,\n        };\n\n        if (init.method && init.method.toUpperCase() !== 'GET' && !init.headers?.['Content-Type']) {\n            init.headers = {\n                'Content-Type': 'application/json',\n                ...init.headers,\n            };\n        }\n\n        if (init.headers?.['Content-Type'] === 'unset') {\n            // delete init.headers['Content-Type'];\n            const { 'Content-Type': contentType, ...other } = init.headers;\n            init.headers = other;\n        }\n\n        const fetcherParams = Object.assign({}, init, init.body ? { body: fetchBody(init.body) } : {});\n\n        return fetcher(url, fetcherParams as RequestInit);\n    };\n","export { ServiceClient } from './ServiceClient';\nexport { IServiceClient } from './IServiceClient';\nexport { IHttpClient } from './IHttpClient';\nexport { HttpClient } from './HttpClient';\nexport { IServiceLocator } from './IServiceLocator';\nexport { ServiceLocator, LocatorCache } from './ServiceLocator';\nexport { jsonFetcher } from './fetchers';\n","import { Parametrized } from '@flippingbook/web.utils/dist/service';\r\n\r\nexport class SingleElementIntersector extends Parametrized<SingleElementIntersector.Params> {\r\n    private intersector: IntersectionObserver;\r\n\r\n    private observerCallback = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) =>\r\n        entries.forEach((entry) => this.params.onIntersectionChange(entry, observer));\r\n\r\n    constructor(params: SingleElementIntersector.Params) {\r\n        super(params);\r\n        this.intersector = new IntersectionObserver(this.observerCallback, params);\r\n    }\r\n\r\n    observe() {\r\n        this.intersector.observe(this.params.el);\r\n    }\r\n\r\n    unobserve() {\r\n        this.intersector.unobserve(this.params.el);\r\n    }\r\n}\r\n\r\nexport namespace SingleElementIntersector {\r\n    export interface Params extends IntersectionObserverInit {\r\n        el: HTMLElement;\r\n        onIntersectionChange: (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void;\r\n    }\r\n}\r\n","import { SingleElementIntersector } from '../services/intersector';\r\n\r\nimport { runWithNewTask } from './run-with-new-task';\r\n\r\nconst blockThreshold = [0, 1];\r\n\r\ninterface Params {\r\n    el: HTMLElement;\r\n    fn: () => void | Promise<void>;\r\n    threshold?: number | number[];\r\n    rootMargin?: string;\r\n}\r\n\r\nexport function runOnceOnIntersect(params: Params) {\r\n    const { el, fn, threshold, rootMargin = '0px' } = params;\r\n\r\n    const intersector = new SingleElementIntersector({\r\n        onIntersectionChange: (entry: IntersectionObserverEntry) => {\r\n            if (entry.isIntersecting) {\r\n                intersector.unobserve();\r\n\r\n                void runWithNewTask(fn);\r\n            }\r\n        },\r\n        threshold: threshold || blockThreshold,\r\n        el,\r\n        rootMargin,\r\n    });\r\n    intersector.observe();\r\n}\r\n","import { BemElement } from '../../../pages/bem';\r\n\r\nimport './style.css';\r\n\r\nexport abstract class CalendlyButton extends BemElement {\r\n    onDescribe() {}\r\n}\r\n","import { CalendlyButton } from '../base';\r\n\r\nimport './style.css';\r\n\r\nexport class CalendlyButtonFBO extends CalendlyButton {}\r\n","import { CalendlyButtonFBO } from '../../components/calendly-button/fbo';\r\nimport { BemBlock } from '../bem';\r\n\r\nexport class BookDemo extends BemBlock {\r\n    protected blockName(): string {\r\n        return 'S-Security-Book-Demo';\r\n    }\r\n\r\n    onDescribe() {\r\n        const calendlyName = 'calendly';\r\n\r\n        if (this.element(calendlyName)) {\r\n            this.describeElement(calendlyName, CalendlyButtonFBO, {});\r\n        }\r\n    }\r\n}\r\n","import { Product } from '@flippingbook/web.utils/dist/ProductsList';\r\n\r\nimport { BasePage } from '../../components/base-page';\r\nimport { licenseService } from '../../services/instance/licenseService';\r\nimport { isLoggedIn } from '../../util/is-logged-in';\r\nimport { runOnceOnIntersect } from '../../util/run-once-on-intersect';\r\nimport { runWithNewTask } from '../../util/run-with-new-task';\r\nimport { BemElement } from '../bem';\r\n\r\nimport './styles/index.css';\r\nimport { BookDemo } from './book-demo';\r\n\r\nclass ContactsLink extends BemElement<never, HTMLAnchorElement> {\r\n    private supportQuery = '?contact-form=support';\r\n    private salesQuery = '?contact-form=sales&subject=Security%20Page';\r\n\r\n    public async onDescribe() {\r\n        let link = this.el.href;\r\n        try {\r\n            if (isLoggedIn()) {\r\n                const { [Product.FBOnline]: fboLicense, [Product.Publisher2]: publisherLicense } =\r\n                    await licenseService.getMyLicenses(Product.FBOnline, Product.Publisher2);\r\n\r\n                const isNotTrial =\r\n                    (fboLicense && fboLicense.ProductEdition?.InternalName !== 'Trial') ||\r\n                    (publisherLicense && publisherLicense.ProductEdition?.InternalName !== 'Trial');\r\n\r\n                link = isNotTrial ? `${this.el.href}${this.supportQuery}` : `${this.el.href}${this.salesQuery}`;\r\n            }\r\n        } catch {\r\n        } finally {\r\n            this.el.href = link;\r\n        }\r\n    }\r\n}\r\n\r\nexport class SecurityPage extends BasePage {\r\n    protected blockName(): string {\r\n        return 'S-Security';\r\n    }\r\n\r\n    onDescribe() {\r\n        super.onDescribe();\r\n\r\n        const tasks = [\r\n            () => this.describeElement('support-link', ContactsLink, {} as never),\r\n            () => {\r\n                const bookDemoName = 'book-demo';\r\n\r\n                if (this.element(bookDemoName)) {\r\n                    this.describeBlock(bookDemoName, BookDemo, {});\r\n                }\r\n            },\r\n            () => {\r\n                const faqElementName = 'faq';\r\n\r\n                runOnceOnIntersect({\r\n                    el: this.ensureElement(faqElementName),\r\n                    fn: async () => {\r\n                        const { FAQWrapper } = await import('../../components/faq');\r\n                        this.describeBlock(faqElementName, FAQWrapper(`${this.blockName()}-FAQ`), {});\r\n                    },\r\n                });\r\n            },\r\n        ];\r\n\r\n        for (const task of tasks) {\r\n            void runWithNewTask<void>(task);\r\n        }\r\n    }\r\n}\r\n\r\nexport { SecurityPage as page };\r\n","import { HttpClient, jsonFetcher } from '@flippingbook/web.utils/dist/webservice';\r\nimport type { IHttpClient } from '@flippingbook/web.utils/dist/webservice';\r\n\r\nexport const httpClient: IHttpClient = new HttpClient({\r\n    fetcher: jsonFetcher(window.fetch),\r\n});\r\n","import { ServiceClient } from '@flippingbook/web.utils/dist/webservice';\r\nimport type { IServiceClient } from '@flippingbook/web.utils/dist/webservice';\r\n\r\nimport { serviceLocator } from '../serviceLocator';\r\n\r\nimport { httpClient } from './httpClient';\r\n\r\nexport const serviceClient: IServiceClient = new ServiceClient({\r\n    httpClient,\r\n    serviceLocator,\r\n});\r\n","import { ServiceLocatorApi } from '@flippingbook/web.utils/dist/apis/service-locator';\r\nimport type { IServiceLocatorApi } from '@flippingbook/web.utils/dist/apis/service-locator';\r\nimport config from 'config';\r\n\r\nimport { httpClient } from './httpClient';\r\n\r\nconst locatorUrl = config.locatorUrl;\r\n\r\nexport const serviceLocatorApi: IServiceLocatorApi = new ServiceLocatorApi({\r\n    httpClient,\r\n    locatorUrl,\r\n});\r\n","import { LicenseApi } from '@flippingbook/web.utils/dist/apis/license';\r\nimport type { ILicenseApi } from '@flippingbook/web.utils/dist/apis/license';\r\n\r\nimport { tokenService } from '../tokenService';\r\n\r\nimport { serviceClient as client } from './serviceClient';\r\n\r\nexport const licenseApi: ILicenseApi = new LicenseApi({\r\n    client,\r\n    tokenService,\r\n});\r\n","import { PaymentsApi } from '@flippingbook/web.utils/dist/apis/payments';\r\nimport type { IPaymentsApi } from '@flippingbook/web.utils/dist/apis/payments';\r\n\r\nimport { tokenService } from '../tokenService';\r\n\r\nimport { serviceClient as client } from './serviceClient';\r\n\r\nexport const paymentsApi: IPaymentsApi = new PaymentsApi({\r\n    client,\r\n    tokenService,\r\n});\r\n","import { SiteApi } from '@flippingbook/web.utils/dist/apis/site';\r\nimport type { ISiteApi } from '@flippingbook/web.utils/dist/apis/site';\r\n\r\nimport { tokenService } from '../tokenService';\r\n\r\nimport { httpClient } from './httpClient';\r\n\r\nexport const siteApi: ISiteApi = new SiteApi({\r\n    httpClient,\r\n    tokenService,\r\n});\r\n","import { LicenseService } from '@flippingbook/web.utils/dist/license';\r\nimport type { ILicenseService } from '@flippingbook/web.utils/dist/license';\r\n\r\nimport { licenseApi } from './api/licenseApi';\r\nimport { paymentsApi } from './api/paymentsApi';\r\nimport { siteApi } from './api/siteApi';\r\n\r\nexport const licenseService: ILicenseService = new LicenseService({\r\n    siteApi,\r\n    licenseApi,\r\n    paymentsApi,\r\n});\r\n","import type { ServiceEndpointJson } from '@flippingbook/web.utils/dist/apis/service-locator/IServiceLocatorApi';\r\nimport { ServiceLocator } from '@flippingbook/web.utils/dist/webservice';\r\nimport type { IServiceLocator, LocatorCache } from '@flippingbook/web.utils/dist/webservice';\r\n\r\nimport { serviceLocatorApi } from './api/serviceLocatorApi';\r\n\r\ntype Preseed = {\r\n    [key: string]: {\r\n        [subsystem: string]: { [service: string]: ServiceEndpointJson[] };\r\n    };\r\n};\r\n\r\nconst prepareLocatorCache = () => {\r\n    const preseed: Preseed = Mediaparts?.Bootstrap?.Params?.registry.preseed ?? {};\r\n    return Object.keys(preseed)\r\n        .filter((key) => key?.[0] !== '/')\r\n        .reduce((cache: LocatorCache, key) => {\r\n            const [subsystem, service] = key.split('/');\r\n            const endpoints = preseed?.[key]?.[subsystem]?.[service];\r\n            const endpoint = endpoints?.reduce((previousEndpoint, currentEndpoint) => {\r\n                if (!previousEndpoint.Version || !currentEndpoint.Version) {\r\n                    return previousEndpoint;\r\n                }\r\n\r\n                return currentEndpoint.Version > previousEndpoint.Version ? currentEndpoint : previousEndpoint;\r\n            });\r\n\r\n            return endpoint\r\n                ? {\r\n                      ...cache,\r\n                      [subsystem]: {\r\n                          ...cache[subsystem],\r\n                          [service]: ServiceLocator.endpointUrl(endpoint),\r\n                      },\r\n                  }\r\n                : cache;\r\n        }, {});\r\n};\r\n\r\nexport const serviceLocator: IServiceLocator = new ServiceLocator({\r\n    serviceLocatorApi,\r\n    cache: prepareLocatorCache(),\r\n});\r\n","import { sessionStorage as storage } from '@flippingbook/web.utils/dist/storage/StorageProvider';\r\nimport { TokenService } from '@flippingbook/web.utils/dist/token';\r\n\r\nexport const tokenService = new TokenService({\r\n    storage,\r\n});\r\n","function waitForImageLoad(image: HTMLImageElement) {\r\n    return new Promise<void>((resolve) => {\r\n        if (image.complete) {\r\n            resolve();\r\n            return;\r\n        }\r\n\r\n        const handleImageLoad = () => {\r\n            image.removeEventListener('load', handleImageLoad);\r\n            resolve();\r\n        };\r\n\r\n        image.addEventListener('load', handleImageLoad);\r\n    });\r\n}\r\n\r\nfunction getImageLoadList(params: { container?: HTMLElement; classNames: string[] }) {\r\n    const selector = params.classNames.map((c) => `.${c}`).join(', ');\r\n    const container = params.container || document;\r\n    const imgElements = Array.from(container.querySelectorAll<HTMLImageElement>(selector));\r\n\r\n    return imgElements.map((imgElement) => waitForImageLoad(imgElement));\r\n}\r\n\r\nexport function waitForAllImagesLoad(params: { container?: HTMLElement; classNames: string[] }) {\r\n    const loadList = getImageLoadList(params);\r\n    return Promise.all(loadList);\r\n}\r\n\r\nexport function waitForAnyImagesLoad(params: { container?: HTMLElement; classNames: string[] }) {\r\n    const loadList = getImageLoadList(params);\r\n    return Promise.race(loadList);\r\n}\r\n\r\nexport function setLoadedClassForImage() {\r\n    const imgElements = Array.from(document.querySelectorAll<HTMLImageElement>('img'));\r\n    const loadedClassName = 'loaded';\r\n\r\n    imgElements.forEach((imgElement) => {\r\n        if (imgElement.complete) {\r\n            imgElement.classList.add(loadedClassName);\r\n            return;\r\n        }\r\n\r\n        const handleImageLoad = () => {\r\n            imgElement.removeEventListener('load', handleImageLoad);\r\n            imgElement.classList.add(loadedClassName);\r\n        };\r\n\r\n        imgElement.addEventListener('load', handleImageLoad);\r\n    });\r\n}\r\n","import { localStorage, sessionStorage } from '@flippingbook/web.utils/dist/storage';\r\n\r\nexport function isLoggedIn() {\r\n    return Boolean(\r\n        (flippingbook.user && flippingbook.user.loggedIn) ||\r\n            sessionStorage.get('PA.TokenService.Token') ||\r\n            localStorage.get('FlippingBook.PA.DefaultProduct'),\r\n    );\r\n}\r\n","module.exports = {\"locatorUrl\":\"https://registry-tc.dev.flippingbook.com/api\",\"featureFlags\":{},\"sentryDsn\":\"https://8fa71d45f6aa4a06be961166e0ee495b@sentry.io/1359544\",\"sentryEnable\":false};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-bundle.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-bundle.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4977;","__webpack_require__.p = \"/content/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t14: 0,\n\t45: 0,\n\t4977: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"957\":1,\"1597\":1,\"2989\":1,\"5515\":1,\"7273\":1,\"9974\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t14: 0,\n\t45: 0,\n\t4977: 0,\n\t4514: 0,\n\t5949: 0,\n\t5908: 0,\n\t2688: 0,\n\t5545: 0,\n\t6368: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(59(08|49)|1597|4514|6368|9974)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkflippingbooksite\"] = globalThis[\"webpackChunkflippingbooksite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4514,5949,5908,6368,947,6173,9874], () => (__webpack_require__(63074)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","SERVICE_TYPE","constructor","httpClient","locatorUrl","this","client","getServices","descriptors","fetchUrl","method","mode","body","Services","map","descriptor","$type","Service","service","Subsystem","subsystem","ParentAuditEvent","ServiceLocatorError","WebServiceError","Error","message","data","super","JSON","stringify","getData","Listenable","listeners","Set","listen","cb","add","unlisten","delete","notify","forEach","l","params","ListenableParametrized","updateData","update","readonly","overwriteData","newData","JWTTokenService","set","token","storage","STORAGE_KEY","get","clear","remove","TokenService","date","toISOString","parseWsDate","loadCss","loadJs","parsePaymentInfo","formatDateForServer","wait","throttle","EXTERNAL_URL_REGEX","contentUrl","contentRoot","src","test","charAt","Promise","resolve","reject","scriptTag","document","createElement","addEventListener","setAttribute","head","appendChild","linkTag","wsDate","Date","parseInt","substring","payment","LastUpdate","tryParseDate","Items","callback","delay","shouldWait","args","setTimeout","dateString","Number","isNaN","parse","timeout","maybeParseJson","text","fetcher","isDHolder","arg","undefined","d","url","now","then","response","ok","catch","async","error","Response","responseHeaders","Object","fromEntries","headers","entries","InternalServerError","timestamp","responseStatus","status","responseData","fetchError","FetchError","stack","res","json","serviceLocator","locator","callService","webServiceMethod","resolveMethod","ServiceLocator","serviceLocatorApi","cache","api","promises","stringCacheToPromiseCache","nonCached","filter","readCachedUrlPromise","retrieveServiceUrl","all","length","responsePromise","cacheUrlPromise","createUrlPromise","promise","keys","reduce","subsystemResult","serviceResult","endpoint","readEndpoint","endpointUrl","responses","Responses","i","services","find","Endpoints","previousEndpoint","currentEndpoint","Version","Host","ThinClientHost","Path","ThinClientPath","jsonFetcher","init","toUpperCase","contentType","other","fetcherParams","assign","Blob","FormData","ServiceClient","HttpClient","SingleElementIntersector","Parametrized","observerCallback","observer","entry","onIntersectionChange","intersector","IntersectionObserver","observe","el","unobserve","blockThreshold","CalendlyButton","B","onDescribe","CalendlyButtonFBO","BookDemo","blockName","calendlyName","element","describeElement","ContactsLink","supportQuery","salesQuery","link","href","Product","FBOnline","fboLicense","Publisher2","publisherLicense","licenseService","getMyLicenses","ProductEdition","InternalName","SecurityPage","tasks","bookDemoName","describeBlock","fn","threshold","rootMargin","isIntersecting","runOnceOnIntersect","ensureElement","FAQWrapper","task","window","fetch","serviceClient","licenseApi","tokenService","paymentsApi","siteApi","preseed","Mediaparts","Bootstrap","Params","registry","key","split","endpoints","prepareLocatorCache","setLoadedClassForImage","imgElements","Array","from","querySelectorAll","loadedClassName","imgElement","complete","classList","handleImageLoad","removeEventListener","isLoggedIn","Boolean","flippingbook","user","loggedIn","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","amdO","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","a","getPrototypeOf","obj","t","value","ns","create","def","current","indexOf","getOwnPropertyNames","definition","o","defineProperty","enumerable","f","e","chunkId","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","type","target","Symbol","toStringTag","nmd","paths","children","p","loadStylesheet","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","nonce","errorType","realHref","err","name","code","request","insertBefore","nextSibling","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}