{"version":3,"sources":["../node_modules/react/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/prop-types/index.js","../../src/storeUtils.ts","../../src/directives.ts","../../src/fragments.ts","../../src/util/assign.ts","../../src/getFromAST.ts","../../src/util/filterInPlace.ts","../../src/transform.ts","../../src/util/canUse.ts","../../src/util/cloneDeep.ts","../../src/util/environment.ts","../../src/util/errorHandling.ts","../../src/util/maybeDeepFreeze.ts","../../src/util/mergeDeep.ts","../../src/util/warnOnce.ts","../../src/invariant.ts","../node_modules/react-reveal/index.js","../node_modules/graphql/language/visitor.mjs","../node_modules/react-easy-emoji/index.js","../node_modules/exenv/index.js","../node_modules/react-reveal/globals.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js","../node_modules/scriptjs/dist/script.js","../node_modules/react-reveal/wrap.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../isRequiredIf.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js","../../src/zenObservable.ts","../../src/linkUtils.ts","../../src/link.ts","../../src/core/networkStatus.ts","../../src/util/Observable.ts","../../src/util/arrays.ts","../../src/errors/ApolloError.ts","../../src/core/types.ts","../../src/core/ObservableQuery.ts","../../src/data/mutations.ts","../../src/data/queries.ts","../../src/core/LocalState.ts","../../src/util/capitalizeFirstLetter.ts","../../src/util/observables.ts","../../src/core/QueryManager.ts","../../src/data/store.ts","../../src/ApolloClient.ts","../../src/version.ts","../../src/utils.ts","../../src/types/Cache.ts","../../src/cache.ts","../../src/slot.ts","../../src/context.ts","../../src/entry.ts","../../src/key-trie.ts","../../src/index.ts","../../src/fragmentMatcher.ts","../../src/depTrackingCache.ts","../../src/readFromStore.ts","../../src/objectCache.ts","../../src/writeToStore.ts","../../src/inMemoryCache.ts","../node_modules/graphql/language/printer.mjs","../../src/httpLink.ts","../node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js","../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/graphql/jsutils/inspect.mjs","../node_modules/graphql/language/blockString.mjs","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/webpack/buildin/global.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/process/browser.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js","../node_modules/object-assign/index.js","../node_modules/react-reveal/Fade.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js","../node_modules/graphql-tag/src/index.js","../../src/equality.ts","../node_modules/react-dom/index.js","../node_modules/react-headroom/dist/index.js","../node_modules/react-lottie/dist/index.js","../node_modules/colorthief/dist/color-thief.mjs","../node_modules/fast-json-stable-stringify/index.js","../node_modules/zen-observable/index.js","../node_modules/symbol-observable/es/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../src/components/twitter-widget-url.js","../../src/components/TwitterTimelineEmbed.js","../../src/components/TwitterShareButton.js","../../src/components/TwitterFollowButton.js","../../src/components/TwitterHashtagButton.js","../../src/components/TwitterMentionButton.js","../../src/components/TwitterTweetEmbed.js","../../src/components/TwitterMomentShare.js","../../src/components/TwitterDMButton.js","../../src/components/TwitterVideoEmbed.js","../../src/components/TwitterOnAirButton.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/shallowequal/index.js","../node_modules/raf/index.js","../../src/performance-now.coffee","../node_modules/react-headroom/dist/shouldUpdate.js","../node_modules/react-easy-emoji/lib/replaceEmoji.js","../node_modules/string-replace-to-array/string-replace-to-array.js","../node_modules/invariant/browser.js","../node_modules/lodash.isstring/index.js","../node_modules/lodash.flatten/index.js","../node_modules/react-easy-emoji/lib/makeTwemojiRenderer.js","../node_modules/lodash.assign/index.js","../node_modules/react-reveal/Reveal.js","../node_modules/react-reveal/RevealBase.js","../node_modules/react-reveal/Bounce.js","../node_modules/react-reveal/Roll.js","../node_modules/react-reveal/Slide.js","../node_modules/react-reveal/Flip.js","../node_modules/react-reveal/Rotate.js","../node_modules/react-reveal/LightSpeed.js","../node_modules/react-reveal/Zoom.js","../node_modules/babel-runtime/helpers/extends.js","../node_modules/babel-runtime/core-js/object/assign.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/babel-runtime/helpers/inherits.js","../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/_set-proto.js","../node_modules/babel-runtime/core-js/object/create.js","../node_modules/babel-runtime/node_modules/core-js/library/fn/object/create.js","../node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.create.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/zen-observable/lib/Observable.js","../../../Users/david/AppData/Roaming/npm/node_modules/react-scripts/node_modules/webpack/buildin/harmony-module.js","../node_modules/graphql/jsutils/devAssert.mjs","../node_modules/graphql/jsutils/defineToJSON.mjs","../node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/graphql/language/location.mjs","../node_modules/graphql/language/printLocation.mjs","../node_modules/graphql/error/GraphQLError.mjs","../node_modules/graphql/error/syntaxError.mjs","../node_modules/graphql/language/kinds.mjs","../node_modules/graphql/language/source.mjs","../node_modules/graphql/jsutils/defineToStringTag.mjs","../node_modules/graphql/language/tokenKind.mjs","../node_modules/graphql/language/lexer.mjs","../node_modules/graphql/language/directiveLocation.mjs","../node_modules/graphql/language/parser.mjs"],"names":["module","exports","require","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArrays","il","r","k","a","j","jl","valueToObjectRepresentation","argObj","name","variables","kind","isIntValue","isFloatValue","Number","isBooleanValue","isStringValue","isObjectValue","fields","map","obj","isVariable","variableValue","isListValue","values","listValue","nestedArgArrayObj","isEnumValue","isNullValue","storeKeyNameFromField","field","directivesObj","directives","forEach","directive","getStoreKeyName","KNOWN_DIRECTIVES","fieldName","args","filterKeys","sort","key","JSON","stringify","completeFieldName","stringifiedArgs","keys","argumentsObjectFromField","resultKeyNameFromField","alias","isField","selection","isInlineFragment","isIdValue","idObject","type","generated","toIdValue","idConfig","id","typename","undefined","isJsonValue","jsonObject","getDirectiveInfoFromField","shouldInclude","filter","isInclusionDirective","directiveArguments","ifArgument","ifValue","every","evaledValue","hasDirectives","names","doc","Directive","node","getDirectiveNames","some","hasClientExports","document","getFragmentQueryDocument","fragmentName","actualFragmentName","fragments","definitions","definition","operation","selectionSet","selections","target","sources","source","checkDocument","operations","getOperationDefinition","getOperationName","x","getFragmentDefinitions","getQueryDefinition","queryDef","getMainDefinition","queryDoc","fragmentDefinition","createFragmentMap","symTable","fragment","getDefaultValues","variableDefinitions","defaultValues","defaultValue","variable","defaultValueObj","filterInPlace","array","test","context","elem","TYPENAME_FIELD","nullIfDocIsEmpty","isEmpty","fragmentDef","getFragmentDefinition","getDirectiveMatcher","dir","removeDirectivesFromDocument","variablesInUse","variablesToRemove","fragmentSpreadsInUse","fragmentSpreadsToRemove","modifiedDoc","Variable","enter","_key","parent","Field","remove","arg","getAllFragmentSpreadsFromSelectionSet","allFragments","frag","FragmentSpread","config","argMatcher","argument","aConfig","getArgumentMatcher","OperationDefinition","varDef","argConfig","Argument","removeArgumentsFromDocument","fs","def","FragmentDefinition","removeFragmentSpreadFromDocument","addTypenameToDocument","SelectionSet","lastIndexOf","connectionRemoveConfig","willRemove","removeConnectionDirectiveFromDocument","buildQueryFromSelectionSet","removeClientSetsFromDocument","canUseWeakMap","WeakMap","navigator","product","toString","cloneDeep","cloneDeepHelper","val","seen","has","get","slice","set","child","getPrototypeOf","Map","isEnv","env","process","isProduction","isTest","tryFunctionOrLogError","console","error","graphQLResultHasError","errors","maybeDeepFreeze","deepFreeze","o","freeze","getOwnPropertyNames","prop","isFrozen","mergeDeep","mergeDeepArray","count","pastCopies","shallowCopyForMerge","mergeHelper","isObject","isExtensible","sourceKey","sourceValue","targetValue","isArray","message","genericMessage","framesToPop","InvariantError","Error","invariant","condition","wrapConsoleMethod","method","warn","processStub","Function","atLeastWeTried","_interopRequireDefault","__esModule","default","defineProperty","_Reveal","enumerable","_Fade","_Bounce","_Roll","_Slide","_Flip","_Rotate","_LightSpeed","_Zoom","QueryDocumentKeys","Name","Document","VariableDefinition","InlineFragment","IntValue","FloatValue","StringValue","BooleanValue","NullValue","EnumValue","ListValue","ObjectValue","ObjectField","NamedType","ListType","NonNullType","SchemaDefinition","OperationTypeDefinition","ScalarTypeDefinition","ObjectTypeDefinition","FieldDefinition","InputValueDefinition","InterfaceTypeDefinition","UnionTypeDefinition","EnumTypeDefinition","EnumValueDefinition","InputObjectTypeDefinition","DirectiveDefinition","SchemaExtension","ScalarTypeExtension","ObjectTypeExtension","InterfaceTypeExtension","UnionTypeExtension","EnumTypeExtension","InputObjectTypeExtension","BREAK","visit","root","visitor","visitorKeys","stack","inArray","index","edits","path","ancestors","newRoot","isLeaving","isEdited","clone","_i2","_Object$keys2","editOffset","ii","editKey","editValue","splice","prev","isNode","inspect","visitFn","getVisitFn","maybeNode","Boolean","kindVisitor","kindSpecificVisitor","leave","specificVisitor","specificKindVisitor","replaceEmoji","makeTwemojiRenderer","element","optionsOrFn","render","canUseDOM","window","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","define","insertRule","sheet","cssRules","hideAll","globalHide","removeEventListener","namespace","cascade","Math","log","exp","animation","counter","effectMap","ssrFadeout","fadeOutEnabled","ssr","defaults","duration","delay","observerMode","raf","setTimeout","disableSsr","collapseend","ie10","floor","random","IntersectionObserverEntry","IntersectionObserver","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","querySelectorAll","appVersion","performance","timing","domLoading","Date","now","createEvent","initEvent","head","appendChild","core","version","__e","scriptpath","urlArgs","getElementsByTagName","list","ids","scripts","ar","fn","each","el","$script","paths","idOrDone","optDone","idOrDoneIsDone","join","queue","loopFn","item","callback","dset","split","loading","force","loaded","onload","onerror","async","src","insertBefore","lastChild","order","shift","str","ready","deps","req","missing","dep","_extends","when","in","_react2","Children","_RevealBase2","inEffect","outEffect","children","Fragment","global","self","__g","_arrayLikeToArray","arr","len","arr2","_slicedToArray","_arr","_n","_d","_e","_s","_i","err","minLen","from","propIsRequired","c","propExists","missingPropError","guardAgainstInvalidArgTypes","ctx","hide","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","virtual","R","U","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","it","link","isTerminating","request","fromError","errorValue","observer","createOperation","starting","query","operationName","getKey","passthrough","forward","of","toLink","handler","empty","links","reduce","concat","left","right","leftLink","rightLink","ApolloLink","first","second","firstLink","nextLink","execute","transformedOperation","extensions","transformOperation","OPERATION_FIELDS","validateOperation","NetworkStatus","isNetworkRequestInFlight","networkStatus","LinkObservable","isNonEmptyArray","FetchType","graphQLErrors","networkError","errorMessage","extraInfo","graphQLError","replace","generateErrorMessage","ApolloError","queryManager","options","shouldSubscribe","onSubscribe","observers","Set","subscriptions","isTornDown","queryId","generateQueryId","opDef","queryName","delete","size","removeQuery","subscription","unsubscribe","subscribe","currentResult","getCurrentResult","data","lastResult","lastError","storeValue","policy","partial","queryStoreValue","queryStore","fetchPolicy","isNetworkFetchPolicy","errorPolicy","updateLastResult","stale","isDifferentFromLastResult","newResult","lastResultSnapshot","snapshot","getLastResult","getLastError","resetLastResults","resetQueryStoreErrors","refetch","fetchQuery","fetchMore","fetchMoreOptions","combinedOptions","qid","normal","fetchMoreResult","updateQuery","previousResult","stopQuery","subscribeToMore","startGraphQLSubscription","subscriptionData","previous","onError","add","setOptions","opts","pollInterval","startPolling","stopPolling","setVariables","oldFetchPolicy","fetchResults","tryFetch","mapFn","dataStore","markUpdateQueryResult","broadcastQueries","stopPollingQuery","assertNotCacheFirstOrOnly","startPollingQuery","assumeImmutableResults","subObserver","_subscription","_observer","defaultSubscriptionObserverErrorCallback","setUpQuery","tearDownQuery","addObservableQuery","iterateObserversSafely","observeQuery","transform","getLocalState","addExportedVariables","previousVariables","serverQuery","catch","sub","clear","removeObservableQuery","observersWithMethod","obs","obsQuery","store","getStore","mutationId","initMutation","mutation","markMutationError","markMutationResult","reset","initQuery","previousQuery","cache","client","resolvers","fragmentMatcher","addResolvers","setFragmentMatcher","resolverGroup","setResolvers","getResolvers","runResolvers","remoteResult","onlyRunForcedResolvers","resolveDocument","localResult","getFragmentMatcher","clientQuery","prepareContext","getCacheKey","dataIdFromObject","buildRootValueFromCache","exportedVariables","shouldForceResolvers","forceResolvers","diff","returnPartialData","optimistic","rootValue","mainDefinition","fragmentMap","definitionOperation","defaultOperationType","charAt","toUpperCase","execContext","resolveSelectionSet","resultsToMerge","resolveField","fieldResult","typeCondition","fragmentResult","all","aliasedFieldName","aliasUsed","defaultResult","resultPromise","resolverType","__typename","resolverMap","resolveSubSelectedArray","multiplex","inner","complete","queryDeduplication","onBroadcast","ssrMode","clientAwareness","localState","mutationStore","MutationStore","idCounter","queries","fetchQueryRejectFns","transformCache","inFlightLinkObservables","pollingInfoByQueryId","getCache","stop","_info","stopQueryNoBroadcast","mutate","optimisticResponse","updateQueries","refetchQueries","awaitRefetchQueries","update","setQuery","getVariables","generateUpdateQueriesInfo","ret","updateQueriesByName","observableQuery","updater","markMutationInit","updateWithProxyFn","storeResult","getObservableFromLink","markMutationComplete","refetchQueryPromises","refetchQuery","queryOptions","fetchType","fetchMoreForQueryId","metadata","needToFetch","isNetworkOnly","shouldFetch","requestId","cancel","updateQueryWatch","lastRequestId","invalidated","invalidate","storePreviousVariables","isPoll","poll","isRefetch","networkResult","fetchRequest","getQuery","markQueryError","markQueryResultClient","hasForcedResolvers","markQueryResult","newData","queryListenerForObserver","invoke","networkStatusChanged","shouldNotifyIfLoading","notifyOnNetworkStatusChange","hasGraphQLErrors","isMissing","errorStatusChanged","diffResult","resultFromStore","transformed","transformDocument","forLink","transformForLink","defaultVars","watchQuery","transformedOptions","watchedQuery","String","stopQueryInStore","stopQueryInStoreNoBroadcast","addQueryListener","listener","listeners","watch","clearStore","resetIds","resetStore","reFetchObservableQueries","includeStandby","observableQueryPromises","startQuery","makeObservable","markSubscriptionResult","observable","getCurrentQueryResult","getQueryWithPreviousResult","queryIdOrObservable","foundObserveableQuery","info","deduplication","forceFetch","cleanup","activeNextCount","completed","asyncMap","errorsFromStore","fqrfId","newInfo","newContext","checkInFlight","interval","clearTimeout","timeout","initialCache","ignoreErrors","writeWithErrors","write","dataId","recordOptimisticTransaction","orig","nextQueryResult","currentQueryResult","mutationResult","queryVariables","performTransaction","removeOptimistic","defaultOptions","resetStoreCallbacks","clearStoreCallbacks","ssrForceFetchDelay","connectToDevTools","typeDefs","disableNetworkFetches","bind","__APOLLO_CLIENT__","clientAwarenessName","clientAwarenessVersion","devToolsHookCb","action","state","mutations","dataWithOptimisticResults","extract","readQuery","readFragment","writeQuery","writeFragment","writeData","__actionHookForDevTools","cb","__requestRaw","payload","initQueryManager","onResetStore","onClearStore","restore","serializedState","setLocalStateFragmentMatcher","queryFromPojo","selectionSetFromObj","Cache","justTypenameQuery","currentContext","MISSING_VALUE","host","Slot","hasValue","slots","getValue","withValue","saved","noContext","writable","configurable","defaultDispose","max","dispose","newest","oldest","entry","getEntry","older","newer","clean","parentEntrySlot","reusableEmptyArray","emptySetPool","assert","optionalMessage","valueGet","parents","childValues","dirtyChildren","dirty","recomputing","Entry","recompute","mightBeDirty","reportDirtyChild","reportCleanChild","rememberParent","maybeReportOrphan","originalChildren","forgetChildren","recomputeNewValue","maybeUnsubscribe","setDirty","maybeSubscribe","reportClean","setClean","reallyRecompute","reportDirty","forgetChild","childValue","valueIs","removeDirtyChild","dc","reportOrphan","_value","weakness","lookup","lookupArray","getChildTrie","isObjRef","weak","strong","KeyTrie","haveWarned","shouldWarn","answer","ensureReady","canBypassInit","match","idValue","isRootQuery","hasOwn","introspectionQueryResultData","possibleTypesMap","parseIntrospectionResult","isReady","implementingTypes","introspectionResultData","typeMap","__schema","types","possibleTypes","implementingType","depend","wrap","disposable","makeCacheKey","toObject","defaultNormalizedCacheFactory","seed","cacheKeyRoot","freezeResults","executeStoreQuery","executeSelectionSet","executeSubSelectedArray","contextValue","variableValues","readQueryFromStore","diffQueryAgainstStore","rootId","fragmentMatcherFunction","queryDefinition","cacheRedirects","execResult","hasMissingFields","tolerable","finalResult","objectsToMerge","object","handleMissing","executeField","fragmentExecResult","readStoreResult","resultKey","storeKeyName","fieldValue","resolver","storeObj","json","readStoreResolver","combineExecResults","assertSelectionSetForIdValue","execResults","childResult","defaultFragmentMatcher","writeQueryToStore","writeResultToStore","operationDefinition","writeSelectionSetToStore","processedData","enhancedError","enhanceErrorWithDocument","resultFieldKey","writeFieldToStore","isDefered","isClient","matches","fakeContext","ObjectCache","storeObject","storeFieldName","generatedId","processArrayValue","valueDataId","isGeneratedId","semanticId","isDataProcessed","escapedId","hadTypename","hasTypename","typenameChanged","mergeWithGenerated","generatedKey","realKey","real","madeChanges","realValue","newRealValue","itemDataId","defaultConfig","HeuristicFragmentMatcher","_id","addTypename","resultCaching","optimisticId","transaction","watches","typenameDocumentCache","silenceBroadcast","customResolvers","cacheResolvers","optimisticData","storeWriter","storeReader","maybeBroadcastWatch","read","broadcastWatches","evict","idToRemove","toReapply","removedCount","layer","print","ast","printDocASTReducer","varDefs","_ref","_ref2","block","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","printBlockString","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","_ref20","operationTypes","_ref21","addDescription","_ref22","_ref23","interfaces","_ref24","hasMultilineItems","indent","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","repeatable","locations","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","description","maybeArray","separator","start","maybeString","end","isMultiline","string","linkOptions","uri","fetch","includeExtensions","useGETForQueries","fetcher","linkConfig","http","requestOptions","fetchOptions","credentials","headers","chosenURI","selectURI","getContext","clientAwarenessHeaders","controller","contextHeaders","contextConfig","signal","_controller","queryParams","addQueryParam","encodeURIComponent","serializedVariables","parseError","serializedExtensions","preFragment","fragmentStart","substr","queryParamsPrefix","newURI","response","setContext","abort","PRESET_CONFIG_KEYS","clientState","errorLink","errorCallback","requestHandler","handle","oper","httpLink","activeResolvers","activeTypeDefs","activeFragmentMatcher","ApolloClient","createDesc","exec","IObject","defined","uid","USE_SYMBOL","nodejsCustomInspectSymbol","for","bitmap","$keys","enumBugKeys","px","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_taggedTemplateLiteral","strings","raw","defineProperties","_typeof","formatValue","seenValues","previouslySeenValues","customInspectFn","getCustomFn","customValue","min","remaining","items","formatArray","tag","getObjectTag","formatObject","formatObjectValue","dedentBlockStringValue","rawString","lines","commonIndent","line","leadingWhitespace","getBlockStringIndentation","isBlank","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","printAsMultipleLines","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_possibleConstructorReturn","ReferenceError","_createSuper","Derived","Super","NewTarget","_setPrototypeOf","_inherits","subClass","superClass","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","valueOf","ceil","isNaN","shared","mode","copyright","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","contentWindow","open","lt","close","Properties","TAG","stat","LIBRARY","wksExt","$Symbol","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","to","_objectWithoutProperties","make","distance","up","l","down","top","u","bottom","big","mirror","opposite","_globals","Fade","forever","animationFillMode","reverse","_wrap2","_propTypes","_wrap","propTypes","bool","number","aFunction","that","is","toIObject","arrayIndexOf","cof","ObjectProto","_iterator2","_symbol2","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","Base","NAME","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","hiddenKeys","pIE","gOPD","getOwnPropertyDescriptor","parse","normalize","trim","docCache","fragmentSourceMap","printFragmentWarnings","experimentalFragmentVariables","parseDocument","cacheKey","parsed","stripLoc","removeLocAtThisLevel","docType","loc","startToken","endToken","valueType","astFragmentMap","substring","processFragments","gql","literals","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","previousComparisons","equal","check","aTag","bTag","previouslyCompared","aKeys","bKeys","keyCount","aIterator","isMap","aKey","aValue","bSet","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","_react","_propTypes2","_shallowequal2","_raf2","_shouldUpdate3","Headroom","_Component","_this","setRef","ref","setHeightOffset","setState","height","offsetHeight","resizeTicking","getScrollY","pageYOffset","scrollTop","documentElement","parentNode","getViewportHeight","innerHeight","clientHeight","getDocumentHeight","scrollHeight","getElementPhysicalHeight","elm","getElementHeight","getScrollerPhysicalHeight","getScrollerHeight","isOutOfBound","currentScrollY","pastTop","scrollerPhysicalHeight","scrollerHeight","handleScroll","scrollTicking","handleResize","unpin","onUnpin","translateY","className","unpinSnap","pin","onPin","unfix","onUnfix","lastKnownScrollY","disable","calcHeightOnResize","nextProps","nextState","prevProps","prevState","_props","userClassName","divProps","disableInlineStyles","upTolerance","downTolerance","pinStart","wrapperStyle","rest","innerStyle","position","zIndex","WebkitTransform","MsTransform","WebkitTransition","MozTransition","OTransition","transition","wrapperStyles","wrapperClassName","Component","func","any","isRequired","defaultProps","_extends3","_getPrototypeOf2","_classCallCheck3","_createClass3","_possibleConstructorReturn3","_inherits3","_lottieWeb2","Lottie","_React$Component","_temp","_ret","_len","handleClickToPause","anim","isPaused","play","pause","eventListeners","loop","autoplay","animationData","rendererSettings","segments","container","renderer","loadAnimation","registerEvents","deRegisterEvents","destroy","isStopped","playSegments","setSpeed","setDirection","speed","direction","_this2","eventListener","eventName","_this3","_this4","_props2","width","ariaRole","ariaLabel","isClickToPauseDisabled","getSize","initial","lottieStyles","overflow","margin","outline","onClickHandler","onClick","role","tabIndex","arrayOf","oneOfType","naturalOrder","sum","peek","debug","r1","r2","g1","g2","b1","b2","histo","vboxes","vbox","volume","copy","h","_volume","_count_set","_count","avg","_avg","contains","gval","bval","color","palette","nearest","sqrt","pow","forcebw","quantize","canvas","naturalWidth","naturalHeight","drawImage","getImageData","getColor","getPalette","colorCount","quality","isInteger","getColorFromUrl","XMLHttpRequest","responseType","status","Uint8Array","btoa","send","getColorAsync","cmp","cycles","aobj","bobj","toJSON","isFinite","seenIndex","Observable","ponyfill","symbolObservablePonyfill","_defineProperty","twitterWidgetJs","TwitterTimelineEmbed","isLoading","refs","embedContainer","theme","linkColor","borderColor","lang","onLoad","sourceType","screenName","userId","ownerScreenName","slug","url","script","placeholder","PropTypes","isRequiredIf","widgetId","autoHeight","noHeader","noFooter","noBorders","noScrollbar","transparent","TwitterShareButton","TwitterFollowButton","TwitterHashtagButton","TwitterMentionButton","TwitterTweetEmbed","tweetId","TwitterMomentShare","momentId","TwitterDMButton","TwitterVideoEmbed","TwitterOnAirButton","username","q","w","z","A","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","H","isReactComponent","forceUpdate","I","isPureReactComponent","J","current","K","L","__self","__source","M","m","$$typeof","_owner","Q","keyPrefix","V","T","escape","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","toArray","only","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","da","ea","fa","ha","ia","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","toLowerCase","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","removeAttribute","setAttribute","setAttributeNS","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","displayName","qb","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","firstChild","removeChild","Rb","nodeType","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","md","setProperty","nd","menuitem","area","base","br","col","embed","hr","img","input","keygen","meta","param","track","wbr","od","pd","qd","rd","sd","td","ud","vd","offset","nextSibling","xd","HTMLIFrameElement","location","href","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","documentMode","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","re","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","date","datetime","email","month","password","range","search","tel","text","time","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","repeat","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","pending","effects","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","contextType","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","pi","qi","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","last","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onclick","createElementNS","createTextNode","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","vb","Uj","Vj","Wj","hidden","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","jk","kk","unmount","form","Lj","lk","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","symbol","instanceOf","objectOf","oneOf","shape","exact","checkPropTypes","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","vendors","suffix","caf","_now","cp","cancelled","round","polyfill","scrollDirection","distanceScrolled","abs","replaceStringToArray","UFE0Fg","U200D","rawText","icon","unicodeSurrogates","sep","charCodeAt","toCodePoint","isString","flatten","regexpOrSubstr","newValueOrFn","RegExp","replaceUsingString","replaceUsingRegexp","patternString","endIndex","regexp","output","replacerIsFn","storedLastIndex","lastIndex","newSubStrOrFn","format","argIndex","objectToString","isObjectLike","freeGlobal","freeSelf","arrayPush","objectProto","spreadableSymbol","isConcatSpreadable","isFlattenable","isLength","isFunction","isArrayLike","isArrayLikeObject","isArguments","baseFlatten","depth","predicate","isStrict","React","pageProtocol","protocol","emojiStyle","verticalAlign","baseUrl","ext","alt","draggable","reIsUint","nativeKeys","nativeMax","nonEnumShadows","arrayLikeKeys","inherited","iteratee","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","isPrototype","Ctor","other","assigner","customizer","newValue","copyObject","baseKeys","otherArgs","baseRest","guard","isIterateeCall","Reveal","durationOut","delayOut","countOut","foreverOut","effect","effectOut","_Fade2","inOut","collapse","collapseEl","wait","appear","exit","fraction","refProp","innerRef","onReveal","unmountOnExit","mountOnEnter","ssrReveal","collapseOnly","transitionGroup","RevealBase","isOn","getInitialCollapseStyle","savedChild","isShown","handleObserve","revealHandler","makeHandler","reveal","resizeHandler","resize","saveRef","childRef","observe","hasExited","visibility","dispatchEvent","animationEndTimeout","parseInt","getComputedStyle","getPropertyValue","getDimensionValue","animationDuration","animationDelay","unlisten","hasAppeared","getChild","animationEnd","invisible","onRevealTimeout","intersectionRatio","disconnect","threshold","spy","inViewport","animate","listen","isMounting","getTop","whiteSpace","onExited","ticking","isListener","passive","offsetTop","offsetParent","Bounce","Roll","Slide","Flip","backfaceVisibility","Rotate","LightSpeed","Zoom","_assign","_assign2","DESCRIPTORS","getKeys","gOPS","$assign","aLen","getSymbols","isEnum","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","toInteger","$getPrototypeOf","fails","KEY","_defineProperty2","$Object","desc","_typeof2","_typeof3","$at","iterated","_t","point","TO_STRING","pos","TO_STRING_TAG","DOMIterables","Collection","addToUnscopables","_k","Arguments","META","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","setDesc","FREEZE","preventExtensions","setMeta","NEED","fastKey","getWeak","onFreeze","windowNames","getWindowNames","_setPrototypeOf2","_create2","buggy","factory","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","userAgent","cachedColors","bm_rounder","bm_rnd","bm_pow","bm_sqrt","bm_abs","bm_floor","bm_max","bm_min","blitter","BMMath","ProjectInterface","propertyNames","absArr","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","flag","styleDiv","transformOrigin","webkitTransformOrigin","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","HSVtoRGB","RGBtoHSV","addSaturationToRGB","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","BaseEvent","triggerEvent","_cbs","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","_isAnimated","iterateDynamicProperties","_mdf","initDynamicPropertyContainer","getBlendMode","blendModeEnums","0","1","2","3","4","5","6","7","10","11","14","15","Matrix","_cos","cos","_sin","sin","_tan","tan","_rnd","rotate","angle","mCos","mSin","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","translate","tx","ty","tz","a2","c2","d2","e2","f2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_p","_identityCalculated","a1","c1","d1","e1","f1","h1","i1","j1","k1","l1","m1","n1","o1","p1","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","pool","math","startdenom","significance","ARC4","keylen","mixkey","smear","stringseed","tostring","shortseed","typ","entropy","crypto","msCrypto","getRandomValues","plugins","autoseed","arc4","prng","int32","quick","double","pass","is_math_call","BezierFactory","nm","beziers","bezEasing","BezierEasing","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","extendPrototype","destination","sourcePrototype","attr","getDescriptor","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","lastPoint","lengthData","bezier_length_pool","newElement","percents","lengths","BezierData","segmentLength","PointData","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","bezier_segment_points","getSegmentsLength","shapeData","segmentsLength","segments_length_pool","closed","pathV","pathO","pathI","_length","totalLength","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","lastTime","currTime","getTime","timeToCall","bez","dataFunctionManager","completeLayers","layers","comps","fontManager","layerData","jLen","kLen","tt","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","singleShape","__used","ks","checkVersion","minimum","animVersionString","animVersion","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","assets","checkChars","chars","pathData","__converted","checkColors","iterateShapes","checkShapes","cl","moduleOb","__complete","dataManager","FontManager","emptyChar","combinedCharacters","setUpNode","font","family","fontFamily","innerText","fontSize","fontVariant","fontStyle","letterSpacing","offsetWidth","familyArray","enabledFamilies","trimFontOptions","createHelper","fontData","tHelper","fFamily","fStyle","fWeight","fClass","Font","fonts","typekitLoaded","isLoaded","initTime","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","getCombinedCharacterCodes","addChars","found","addFonts","defs","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","monoCase","sansCase","fPath","fOrigin","origin","rel","helper","getCharData","getFontByName","fName","measureText","fontName","doubleSize","getComputedTextLength","singleSize","loadedCount","PropertyFactory","initFrame","math_abs","interpolateValue","frameNum","caching","offsetTime","propType","pv","keyData","nextKeyData","fnc","iterationIndex","keyframes","endValue","nextKeyTime","keyTime","ind","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","quaternionToEuler","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","slerp","createQuaternion","c3","s1","s2","s3","getValueAtCurrentTime","comp","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","py","pz","rx","ry","rz","or","sk","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v1","v2","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","point_pool","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","newPath","vertices","outPoints","inPoints","init","cnt","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shape1","shape2","shapesEqual","shape_pool","releaseShapes","addShape","ShapeProperty","shapeCollection_pool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","convertEllToPath","s0","_cw","_v","StarShapeProperty","ir","convertToPath","convertStarToPath","convertPolygonToPath","os","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","convertRectToPath","v0","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","totalShapeLength","edges","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","processPath","cloned_path","currentV","currentI","currentO","closerV","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","copies","group","reloadShapes","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","comparePoints","buildShapeString","pathNodes","_o","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_isMuted","addAudio","audio","resume","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","ImagePreloader","proxyImage","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","imagesLoadedCb","getAssetsPath","assetData","assetsPath","original_path","imagePath","_imageLoaded","images","loadAssets","_createImageData","setAssetsPath","setPath","getImage","createImgData","crossOrigin","createImageData","setCacheType","featureSupport","maskType","filtersFactory","filId","fil","feColorMatrix","assetLoader","formatResponse","xhr","responseText","load","onreadystatechange","readyState","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimator_animatables","sw","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","mask","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","extra","an","animatorOffset","rot","atan","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charactersArray","newLineFlag","charData","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","styles","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","_currentTextLength","finalS","finalE","textProperty","easer","tot","newCharsFlag","divisor","pool_factory","initialLength","_release","_clone","pooling","cloned","shapeCollection","BaseRenderer","SVGRenderer","animationItem","svgElement","titleElement","titleId","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","focusable","filterSize","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","layerId","maskRef","filterID","expan","lastPath","lastOperator","filterId","lastRadius","createLayerSolidPath","getShapeProp","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","pElem","msElem","SVGShapeData","transformers","caches","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","num","ip","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","AudioElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","show","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cProps","cTr","trProps","canvasContext","ctxOpacity","globalAlpha","cO","save","actionFlag","cArrPos","duplicate","savedOp","blendMode","popped","mozTransformOrigin","transformCanvas","isDashed","elementWidth","elementHeight","elementRel","animationRel","par","fillType","beginPath","closePath","clip","clearRect","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","svg","setup","cWidth","cHeight","perspective","webkitPerspective","floatingContainer","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","isVisible","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","isTransparent","renderableComponents","component","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","cst","opacityId","opFill","ms","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","transformsManager","styledShapes","styledShape","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","tm","_placeholder","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","content","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","layerElementParent","masker","createFilter","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","buildColor","colorData","emptyProp","timeRemapped","setElements","elems","getElements","destroyElements","pr","volumeValue","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","textBox","getBBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","ml","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","sigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","childNodes","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","_svgMatteSymbols","SVGMatte3Effect","filterElem","filters","CVBaseElement","CVMaskElement","hasMasks","stroke","fill","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","_prevMat","HEffects","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","newLength","currentSavedOp","createElements","globalCompositeOperation","hideElement","showElement","forceRealStack","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","parentMatrix","moveTo","lineTo","bezierCurveTo","transformHelper","dashResetter","preTransforms","co","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","strokeStyle","grd","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","lastFill","lastStroke","lastStrokeW","checkBlendMode","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","bounds","shapeBoundingBox","xMax","yMax","tempBoundingBox","p3","b2ac","t2","calculateF","calculateBoundingBox","currentBoxContains","box","changed","compW","compH","innerElemStyle","tParent","tCont","textPath","Image","imageElem","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","m_rotationX","m_rotationY","hasMatrixChanged","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","addPlayingCount","activate","nowTime","advanceTime","params","setParams","togglePause","searchAnimations","standalone","animElements","getElementsByClassName","div","goToAndStop","isFrame","unfreeze","getRegisteredAnimations","animations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","animType","autoloadSegments","initialSegment","trigger","wrapperAttributes","attributes","getNamedItem","prerender","completeData","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","frameModifier","goToAndPlay","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","ExpressionManager","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","property","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","__expression_functions","scoped_bm_rt","xf","eval","expression_function","numKeys","active","wiggle","freq","amp","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","nearestKey","framesToTime","frames","fps","timeToFrames","seedRandom","seedrandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","durationFlag","cycleDuration","firstKeyFrame","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","skewAxis","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","propertyIndex","ix","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","propertyGetShapeProp","trims","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","ShapePathInterface","interfaceFunction","_propertyGroup","propertyGroupFactory","PropertyInterface","mn","parentPropertyGroup","_name","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","numProperties","transformInterface","transformInterfaceFactory","cix","contentsInterfaceFactory","np","ExpressionPropertyInterface","_dashPropertyGroup","dashOb","addPropertyToDashOb","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","_sourceText","_thisLayerFunction","sourceText","stringValue","_prevValue","toWorldMat","sampleImage","anchorPointDescriptor","TransformExpressionInterface","anchor_point","MaskManagerInterface","pixelAspect","numLayers","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_transformFactory","_pz","_px","_py","compositions","_thisProjectFunction","createGroupInterface","groupInterface","createValueInterface","enabled","en","expressionProperty","effectsData","MaskInterface","_mask","_data","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","effectItem","GroupEffect","TextExpressionSelectorProp","getValueProxy","total","propertyGetTextProp","eff","lottie","setLocationHref","setSubframeRendering","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","clearInterval","readyStateCheckInterval","getQueryVariable","vars","queryString","pair","decodeURIComponent","__getFactory","myScript","setInterval","hasSymbols","hasSymbol","getSymbol","SymbolIterator","SymbolObservable","SymbolSpecies","getSpecies","ctor","isObservable","hostReportError","enqueue","cleanupSubscription","_cleanup","closeSubscription","_queue","_state","notifySubscription","onNotify","flushSubscription","Subscription","subscriber","subscriptionObserver","SubscriptionObserver","_subscriber","hasSeed","acc","_this5","startNext","_this6","outer","completeIfDone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_item","_len2","_key2","originalModule","webpackPolyfill","devAssert","defineToJSON","classObject","getLocation","lineRegexp","column","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","locationOffset","whitespace","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","locationLine","sublineIndex","sublineColumnNum","sublines","printPrefixedLines","subline","existingLines","padLen","prefix","GraphQLError","positions","originalError","_nodes","_source","_locations","_positions","_extensions","originalExtensions","captureStackTrace","syntaxError","_error$nodes2","_i4","_error$locations2","printError","Kind","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","Source","toStringTag","TokenKind","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","COMMENT","advanceLexer","lastToken","token","lookahead","readToken","Tok","printCharCode","code","lexer","bodyLength","startPosition","lineStart","positionAfterWhitespace","readComment","readName","firstCode","isFloat","readDigits","readNumber","chunkStart","rawValue","readBlockString","char2hex","invalidSequence","readString","unexpectedCharacterMessage","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","Parser","parseValue","parser","expectToken","parseValueLiteral","parseType","parseTypeReference","sourceObj","_lexer","startOfFileToken","advance","createLexer","_options","_proto","parseName","many","parseDefinition","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","expectOptionalToken","parseSelection","parseFragment","parseField","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","parseNamedType","expectKeyword","parseList","parseObject","parseStringLiteral","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","parseOperationTypeDefinition","parseImplementsInterfaces","parseFieldsDefinition","allowLegacySDLImplementsInterfaces","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","parseDirectiveLocations","parseDirectiveLocation","noLocation","Loc","getTokenDesc","atToken","openKind","parseFn","closeKind"],"mappings":"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","file":"static/js/2.33ae5ed4.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import {\n DirectiveNode,\n FieldNode,\n IntValueNode,\n FloatValueNode,\n StringValueNode,\n BooleanValueNode,\n ObjectValueNode,\n ListValueNode,\n EnumValueNode,\n NullValueNode,\n VariableNode,\n InlineFragmentNode,\n ValueNode,\n SelectionNode,\n NameNode,\n} from 'graphql';\n\nimport stringify from 'fast-json-stable-stringify';\nimport { InvariantError } from 'ts-invariant';\n\nexport interface IdValue {\n type: 'id';\n id: string;\n generated: boolean;\n typename: string | undefined;\n}\n\nexport interface JsonValue {\n type: 'json';\n json: any;\n}\n\nexport type ListValue = Array;\n\nexport type StoreValue =\n | number\n | string\n | string[]\n | IdValue\n | ListValue\n | JsonValue\n | null\n | undefined\n | void\n | Object;\n\nexport type ScalarValue = StringValueNode | BooleanValueNode | EnumValueNode;\n\nexport function isScalarValue(value: ValueNode): value is ScalarValue {\n return ['StringValue', 'BooleanValue', 'EnumValue'].indexOf(value.kind) > -1;\n}\n\nexport type NumberValue = IntValueNode | FloatValueNode;\n\nexport function isNumberValue(value: ValueNode): value is NumberValue {\n return ['IntValue', 'FloatValue'].indexOf(value.kind) > -1;\n}\n\nfunction isStringValue(value: ValueNode): value is StringValueNode {\n return value.kind === 'StringValue';\n}\n\nfunction isBooleanValue(value: ValueNode): value is BooleanValueNode {\n return value.kind === 'BooleanValue';\n}\n\nfunction isIntValue(value: ValueNode): value is IntValueNode {\n return value.kind === 'IntValue';\n}\n\nfunction isFloatValue(value: ValueNode): value is FloatValueNode {\n return value.kind === 'FloatValue';\n}\n\nfunction isVariable(value: ValueNode): value is VariableNode {\n return value.kind === 'Variable';\n}\n\nfunction isObjectValue(value: ValueNode): value is ObjectValueNode {\n return value.kind === 'ObjectValue';\n}\n\nfunction isListValue(value: ValueNode): value is ListValueNode {\n return value.kind === 'ListValue';\n}\n\nfunction isEnumValue(value: ValueNode): value is EnumValueNode {\n return value.kind === 'EnumValue';\n}\n\nfunction isNullValue(value: ValueNode): value is NullValueNode {\n return value.kind === 'NullValue';\n}\n\nexport function valueToObjectRepresentation(\n argObj: any,\n name: NameNode,\n value: ValueNode,\n variables?: Object,\n) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n } else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n } else if (isObjectValue(value)) {\n const nestedArgObj = {};\n value.fields.map(obj =>\n valueToObjectRepresentation(nestedArgObj, obj.name, obj.value, variables),\n );\n argObj[name.value] = nestedArgObj;\n } else if (isVariable(value)) {\n const variableValue = (variables || ({} as any))[value.name.value];\n argObj[name.value] = variableValue;\n } else if (isListValue(value)) {\n argObj[name.value] = value.values.map(listValue => {\n const nestedArgArrayObj = {};\n valueToObjectRepresentation(\n nestedArgArrayObj,\n name,\n listValue,\n variables,\n );\n return (nestedArgArrayObj as any)[name.value];\n });\n } else if (isEnumValue(value)) {\n argObj[name.value] = (value as EnumValueNode).value;\n } else if (isNullValue(value)) {\n argObj[name.value] = null;\n } else {\n throw new InvariantError(\n `The inline argument \"${name.value}\" of kind \"${(value as any).kind}\"` +\n 'is not supported. Use variables instead of inline arguments to ' +\n 'overcome this limitation.',\n );\n }\n}\n\nexport function storeKeyNameFromField(\n field: FieldNode,\n variables?: Object,\n): string {\n let directivesObj: any = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(directive => {\n directivesObj[directive.name.value] = {};\n\n if (directive.arguments) {\n directive.arguments.forEach(({ name, value }) =>\n valueToObjectRepresentation(\n directivesObj[directive.name.value],\n name,\n value,\n variables,\n ),\n );\n }\n });\n }\n\n let argObj: any = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(({ name, value }) =>\n valueToObjectRepresentation(argObj, name, value, variables),\n );\n }\n\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\n\nexport type Directives = {\n [directiveName: string]: {\n [argName: string]: any;\n };\n};\n\nconst KNOWN_DIRECTIVES: string[] = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\n\nexport function getStoreKeyName(\n fieldName: string,\n args?: Object,\n directives?: Directives,\n): string {\n if (\n directives &&\n directives['connection'] &&\n directives['connection']['key']\n ) {\n if (\n directives['connection']['filter'] &&\n (directives['connection']['filter'] as string[]).length > 0\n ) {\n const filterKeys = directives['connection']['filter']\n ? (directives['connection']['filter'] as string[])\n : [];\n filterKeys.sort();\n\n const queryArgs = args as { [key: string]: any };\n const filteredArgs = {} as { [key: string]: any };\n filterKeys.forEach(key => {\n filteredArgs[key] = queryArgs[key];\n });\n\n return `${directives['connection']['key']}(${JSON.stringify(\n filteredArgs,\n )})`;\n } else {\n return directives['connection']['key'];\n }\n }\n\n let completeFieldName: string = fieldName;\n\n if (args) {\n // We can't use `JSON.stringify` here since it's non-deterministic,\n // and can lead to different store key names being created even though\n // the `args` object used during creation has the same properties/values.\n const stringifiedArgs: string = stringify(args);\n completeFieldName += `(${stringifiedArgs})`;\n }\n\n if (directives) {\n Object.keys(directives).forEach(key => {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1) return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += `@${key}(${JSON.stringify(directives[key])})`;\n } else {\n completeFieldName += `@${key}`;\n }\n });\n }\n\n return completeFieldName;\n}\n\nexport function argumentsObjectFromField(\n field: FieldNode | DirectiveNode,\n variables: Object,\n): Object {\n if (field.arguments && field.arguments.length) {\n const argObj: Object = {};\n field.arguments.forEach(({ name, value }) =>\n valueToObjectRepresentation(argObj, name, value, variables),\n );\n return argObj;\n }\n\n return null;\n}\n\nexport function resultKeyNameFromField(field: FieldNode): string {\n return field.alias ? field.alias.value : field.name.value;\n}\n\nexport function isField(selection: SelectionNode): selection is FieldNode {\n return selection.kind === 'Field';\n}\n\nexport function isInlineFragment(\n selection: SelectionNode,\n): selection is InlineFragmentNode {\n return selection.kind === 'InlineFragment';\n}\n\nexport function isIdValue(idObject: StoreValue): idObject is IdValue {\n return idObject &&\n (idObject as IdValue | JsonValue).type === 'id' &&\n typeof (idObject as IdValue).generated === 'boolean';\n}\n\nexport type IdConfig = {\n id: string;\n typename: string | undefined;\n};\n\nexport function toIdValue(\n idConfig: string | IdConfig,\n generated = false,\n): IdValue {\n return {\n type: 'id',\n generated,\n ...(typeof idConfig === 'string'\n ? { id: idConfig, typename: undefined }\n : idConfig),\n };\n}\n\nexport function isJsonValue(jsonObject: StoreValue): jsonObject is JsonValue {\n return (\n jsonObject != null &&\n typeof jsonObject === 'object' &&\n (jsonObject as IdValue | JsonValue).type === 'json'\n );\n}\n\nfunction defaultValueFromVariable(node: VariableNode) {\n throw new InvariantError(`Variable nodes are not supported by valueFromNode`);\n}\n\nexport type VariableValue = (node: VariableNode) => any;\n\n/**\n * Evaluate a ValueNode and yield its value in its natural JS form.\n */\nexport function valueFromNode(\n node: ValueNode,\n onVariable: VariableValue = defaultValueFromVariable,\n): any {\n switch (node.kind) {\n case 'Variable':\n return onVariable(node);\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value, 10);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'ListValue':\n return node.values.map(v => valueFromNode(v, onVariable));\n case 'ObjectValue': {\n const value: { [key: string]: any } = {};\n for (const field of node.fields) {\n value[field.name.value] = valueFromNode(field.value, onVariable);\n }\n return value;\n }\n default:\n return node.value;\n }\n}\n","// Provides the methods that allow QueryManager to handle the `skip` and\n// `include` directives within GraphQL.\nimport {\n FieldNode,\n SelectionNode,\n VariableNode,\n BooleanValueNode,\n DirectiveNode,\n DocumentNode,\n ArgumentNode,\n ValueNode,\n} from 'graphql';\n\nimport { visit } from 'graphql/language/visitor';\n\nimport { invariant } from 'ts-invariant';\n\nimport { argumentsObjectFromField } from './storeUtils';\n\nexport type DirectiveInfo = {\n [fieldName: string]: { [argName: string]: any };\n};\n\nexport function getDirectiveInfoFromField(\n field: FieldNode,\n variables: Object,\n): DirectiveInfo {\n if (field.directives && field.directives.length) {\n const directiveObj: DirectiveInfo = {};\n field.directives.forEach((directive: DirectiveNode) => {\n directiveObj[directive.name.value] = argumentsObjectFromField(\n directive,\n variables,\n );\n });\n return directiveObj;\n }\n return null;\n}\n\nexport function shouldInclude(\n selection: SelectionNode,\n variables: { [name: string]: any } = {},\n): boolean {\n return getInclusionDirectives(\n selection.directives,\n ).every(({ directive, ifArgument }) => {\n let evaledValue: boolean = false;\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables[(ifArgument.value as VariableNode).name.value];\n invariant(\n evaledValue !== void 0,\n `Invalid variable referenced in @${directive.name.value} directive.`,\n );\n } else {\n evaledValue = (ifArgument.value as BooleanValueNode).value;\n }\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\n\nexport function getDirectiveNames(doc: DocumentNode) {\n const names: string[] = [];\n\n visit(doc, {\n Directive(node) {\n names.push(node.name.value);\n },\n });\n\n return names;\n}\n\nexport function hasDirectives(names: string[], doc: DocumentNode) {\n return getDirectiveNames(doc).some(\n (name: string) => names.indexOf(name) > -1,\n );\n}\n\nexport function hasClientExports(document: DocumentNode) {\n return (\n document &&\n hasDirectives(['client'], document) &&\n hasDirectives(['export'], document)\n );\n}\n\nexport type InclusionDirectives = Array<{\n directive: DirectiveNode;\n ifArgument: ArgumentNode;\n}>;\n\nfunction isInclusionDirective({ name: { value } }: DirectiveNode): boolean {\n return value === 'skip' || value === 'include';\n}\n\nexport function getInclusionDirectives(\n directives: ReadonlyArray,\n): InclusionDirectives {\n return directives ? directives.filter(isInclusionDirective).map(directive => {\n const directiveArguments = directive.arguments;\n const directiveName = directive.name.value;\n\n invariant(\n directiveArguments && directiveArguments.length === 1,\n `Incorrect number of arguments for the @${directiveName} directive.`,\n );\n\n const ifArgument = directiveArguments[0];\n invariant(\n ifArgument.name && ifArgument.name.value === 'if',\n `Invalid argument for the @${directiveName} directive.`,\n );\n\n const ifValue: ValueNode = ifArgument.value;\n\n // means it has to be a variable value if this is a valid @skip or @include directive\n invariant(\n ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'),\n `Argument for the @${directiveName} directive must be a variable or a boolean value.`,\n );\n\n return { directive, ifArgument };\n }) : [];\n}\n\n","import { DocumentNode, FragmentDefinitionNode } from 'graphql';\nimport { invariant, InvariantError } from 'ts-invariant';\n\n/**\n * Returns a query document which adds a single query operation that only\n * spreads the target fragment inside of it.\n *\n * So for example a document of:\n *\n * ```graphql\n * fragment foo on Foo { a b c }\n * ```\n *\n * Turns into:\n *\n * ```graphql\n * { ...foo }\n *\n * fragment foo on Foo { a b c }\n * ```\n *\n * The target fragment will either be the only fragment in the document, or a\n * fragment specified by the provided `fragmentName`. If there is more than one\n * fragment, but a `fragmentName` was not defined then an error will be thrown.\n */\nexport function getFragmentQueryDocument(\n document: DocumentNode,\n fragmentName?: string,\n): DocumentNode {\n let actualFragmentName = fragmentName;\n\n // Build an array of all our fragment definitions that will be used for\n // validations. We also do some validations on the other definitions in the\n // document while building this list.\n const fragments: Array = [];\n document.definitions.forEach(definition => {\n // Throw an error if we encounter an operation definition because we will\n // define our own operation definition later on.\n if (definition.kind === 'OperationDefinition') {\n throw new InvariantError(\n `Found a ${definition.operation} operation${\n definition.name ? ` named '${definition.name.value}'` : ''\n }. ` +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.',\n );\n }\n // Add our definition to the fragments array if it is a fragment\n // definition.\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n\n // If the user did not give us a fragment name then let us try to get a\n // name from a single fragment in the definition.\n if (typeof actualFragmentName === 'undefined') {\n invariant(\n fragments.length === 1,\n `Found ${\n fragments.length\n } fragments. \\`fragmentName\\` must be provided when there is not exactly 1 fragment.`,\n );\n actualFragmentName = fragments[0].name.value;\n }\n\n // Generate a query document with an operation that simply spreads the\n // fragment inside of it.\n const query: DocumentNode = {\n ...document,\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n },\n ...document.definitions,\n ],\n };\n\n return query;\n}\n","/**\n * Adds the properties of one or more source objects to a target object. Works exactly like\n * `Object.assign`, but as a utility to maintain support for IE 11.\n *\n * @see https://github.com/apollostack/apollo-client/pull/1009\n */\nexport function assign(a: A, b: B): A & B;\nexport function assign(a: A, b: B, c: C): A & B & C;\nexport function assign(a: A, b: B, c: C, d: D): A & B & C & D;\nexport function assign(\n a: A,\n b: B,\n c: C,\n d: D,\n e: E,\n): A & B & C & D & E;\nexport function assign(target: any, ...sources: Array): any;\nexport function assign(\n target: { [key: string]: any },\n ...sources: Array<{ [key: string]: any }>\n): { [key: string]: any } {\n sources.forEach(source => {\n if (typeof source === 'undefined' || source === null) {\n return;\n }\n Object.keys(source).forEach(key => {\n target[key] = source[key];\n });\n });\n return target;\n}\n","import {\n DocumentNode,\n OperationDefinitionNode,\n FragmentDefinitionNode,\n ValueNode,\n} from 'graphql';\n\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport { assign } from './util/assign';\n\nimport { valueToObjectRepresentation, JsonValue } from './storeUtils';\n\nexport function getMutationDefinition(\n doc: DocumentNode,\n): OperationDefinitionNode {\n checkDocument(doc);\n\n let mutationDef: OperationDefinitionNode | null = doc.definitions.filter(\n definition =>\n definition.kind === 'OperationDefinition' &&\n definition.operation === 'mutation',\n )[0] as OperationDefinitionNode;\n\n invariant(mutationDef, 'Must contain a mutation definition.');\n\n return mutationDef;\n}\n\n// Checks the document for errors and throws an exception if there is an error.\nexport function checkDocument(doc: DocumentNode) {\n invariant(\n doc && doc.kind === 'Document',\n `Expecting a parsed GraphQL document. Perhaps you need to wrap the query \\\nstring in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql`,\n );\n\n const operations = doc.definitions\n .filter(d => d.kind !== 'FragmentDefinition')\n .map(definition => {\n if (definition.kind !== 'OperationDefinition') {\n throw new InvariantError(\n `Schema type definitions not allowed in queries. Found: \"${\n definition.kind\n }\"`,\n );\n }\n return definition;\n });\n\n invariant(\n operations.length <= 1,\n `Ambiguous GraphQL document: contains ${operations.length} operations`,\n );\n\n return doc;\n}\n\nexport function getOperationDefinition(\n doc: DocumentNode,\n): OperationDefinitionNode | undefined {\n checkDocument(doc);\n return doc.definitions.filter(\n definition => definition.kind === 'OperationDefinition',\n )[0] as OperationDefinitionNode;\n}\n\nexport function getOperationDefinitionOrDie(\n document: DocumentNode,\n): OperationDefinitionNode {\n const def = getOperationDefinition(document);\n invariant(def, `GraphQL document is missing an operation`);\n return def;\n}\n\nexport function getOperationName(doc: DocumentNode): string | null {\n return (\n doc.definitions\n .filter(\n definition =>\n definition.kind === 'OperationDefinition' && definition.name,\n )\n .map((x: OperationDefinitionNode) => x.name.value)[0] || null\n );\n}\n\n// Returns the FragmentDefinitions from a particular document as an array\nexport function getFragmentDefinitions(\n doc: DocumentNode,\n): FragmentDefinitionNode[] {\n return doc.definitions.filter(\n definition => definition.kind === 'FragmentDefinition',\n ) as FragmentDefinitionNode[];\n}\n\nexport function getQueryDefinition(doc: DocumentNode): OperationDefinitionNode {\n const queryDef = getOperationDefinition(doc) as OperationDefinitionNode;\n\n invariant(\n queryDef && queryDef.operation === 'query',\n 'Must contain a query definition.',\n );\n\n return queryDef;\n}\n\nexport function getFragmentDefinition(\n doc: DocumentNode,\n): FragmentDefinitionNode {\n invariant(\n doc.kind === 'Document',\n `Expecting a parsed GraphQL document. Perhaps you need to wrap the query \\\nstring in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql`,\n );\n\n invariant(\n doc.definitions.length <= 1,\n 'Fragment must have exactly one definition.',\n );\n\n const fragmentDef = doc.definitions[0] as FragmentDefinitionNode;\n\n invariant(\n fragmentDef.kind === 'FragmentDefinition',\n 'Must be a fragment definition.',\n );\n\n return fragmentDef as FragmentDefinitionNode;\n}\n\n/**\n * Returns the first operation definition found in this document.\n * If no operation definition is found, the first fragment definition will be returned.\n * If no definitions are found, an error will be thrown.\n */\nexport function getMainDefinition(\n queryDoc: DocumentNode,\n): OperationDefinitionNode | FragmentDefinitionNode {\n checkDocument(queryDoc);\n\n let fragmentDefinition;\n\n for (let definition of queryDoc.definitions) {\n if (definition.kind === 'OperationDefinition') {\n const operation = (definition as OperationDefinitionNode).operation;\n if (\n operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription'\n ) {\n return definition as OperationDefinitionNode;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n // we do this because we want to allow multiple fragment definitions\n // to precede an operation definition.\n fragmentDefinition = definition as FragmentDefinitionNode;\n }\n }\n\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n\n throw new InvariantError(\n 'Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.',\n );\n}\n\n/**\n * This is an interface that describes a map from fragment names to fragment definitions.\n */\nexport interface FragmentMap {\n [fragmentName: string]: FragmentDefinitionNode;\n}\n\n// Utility function that takes a list of fragment definitions and makes a hash out of them\n// that maps the name of the fragment to the fragment definition.\nexport function createFragmentMap(\n fragments: FragmentDefinitionNode[] = [],\n): FragmentMap {\n const symTable: FragmentMap = {};\n fragments.forEach(fragment => {\n symTable[fragment.name.value] = fragment;\n });\n\n return symTable;\n}\n\nexport function getDefaultValues(\n definition: OperationDefinitionNode | undefined,\n): { [key: string]: JsonValue } {\n if (\n definition &&\n definition.variableDefinitions &&\n definition.variableDefinitions.length\n ) {\n const defaultValues = definition.variableDefinitions\n .filter(({ defaultValue }) => defaultValue)\n .map(\n ({ variable, defaultValue }): { [key: string]: JsonValue } => {\n const defaultValueObj: { [key: string]: JsonValue } = {};\n valueToObjectRepresentation(\n defaultValueObj,\n variable.name,\n defaultValue as ValueNode,\n );\n\n return defaultValueObj;\n },\n );\n\n return assign({}, ...defaultValues);\n }\n\n return {};\n}\n\n/**\n * Returns the names of all variables declared by the operation.\n */\nexport function variablesInOperation(\n operation: OperationDefinitionNode,\n): Set {\n const names = new Set();\n if (operation.variableDefinitions) {\n for (const definition of operation.variableDefinitions) {\n names.add(definition.variable.name.value);\n }\n }\n\n return names;\n}\n","export function filterInPlace(\n array: T[],\n test: (elem: T) => boolean,\n context?: any,\n): T[] {\n let target = 0;\n array.forEach(function (elem, i) {\n if (test.call(this, elem, i, array)) {\n array[target++] = elem;\n }\n }, context);\n array.length = target;\n return array;\n}\n","import {\n DocumentNode,\n SelectionNode,\n SelectionSetNode,\n OperationDefinitionNode,\n FieldNode,\n DirectiveNode,\n FragmentDefinitionNode,\n ArgumentNode,\n FragmentSpreadNode,\n VariableDefinitionNode,\n VariableNode,\n} from 'graphql';\nimport { visit } from 'graphql/language/visitor';\n\nimport {\n checkDocument,\n getOperationDefinition,\n getFragmentDefinition,\n getFragmentDefinitions,\n createFragmentMap,\n FragmentMap,\n getMainDefinition,\n} from './getFromAST';\nimport { filterInPlace } from './util/filterInPlace';\nimport { invariant } from 'ts-invariant';\nimport { isField, isInlineFragment } from './storeUtils';\n\nexport type RemoveNodeConfig = {\n name?: string;\n test?: (node: N) => boolean;\n remove?: boolean;\n};\n\nexport type GetNodeConfig = {\n name?: string;\n test?: (node: N) => boolean;\n};\n\nexport type RemoveDirectiveConfig = RemoveNodeConfig;\nexport type GetDirectiveConfig = GetNodeConfig;\nexport type RemoveArgumentsConfig = RemoveNodeConfig;\nexport type GetFragmentSpreadConfig = GetNodeConfig;\nexport type RemoveFragmentSpreadConfig = RemoveNodeConfig;\nexport type RemoveFragmentDefinitionConfig = RemoveNodeConfig<\n FragmentDefinitionNode\n>;\nexport type RemoveVariableDefinitionConfig = RemoveNodeConfig<\n VariableDefinitionNode\n>;\n\nconst TYPENAME_FIELD: FieldNode = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename',\n },\n};\n\nfunction isEmpty(\n op: OperationDefinitionNode | FragmentDefinitionNode,\n fragments: FragmentMap,\n): boolean {\n return op.selectionSet.selections.every(\n selection =>\n selection.kind === 'FragmentSpread' &&\n isEmpty(fragments[selection.name.value], fragments),\n );\n}\n\nfunction nullIfDocIsEmpty(doc: DocumentNode) {\n return isEmpty(\n getOperationDefinition(doc) || getFragmentDefinition(doc),\n createFragmentMap(getFragmentDefinitions(doc)),\n )\n ? null\n : doc;\n}\n\nfunction getDirectiveMatcher(\n directives: (RemoveDirectiveConfig | GetDirectiveConfig)[],\n) {\n return function directiveMatcher(directive: DirectiveNode) {\n return directives.some(\n dir =>\n (dir.name && dir.name === directive.name.value) ||\n (dir.test && dir.test(directive)),\n );\n };\n}\n\nexport function removeDirectivesFromDocument(\n directives: RemoveDirectiveConfig[],\n doc: DocumentNode,\n): DocumentNode | null {\n const variablesInUse: Record = Object.create(null);\n let variablesToRemove: RemoveArgumentsConfig[] = [];\n\n const fragmentSpreadsInUse: Record = Object.create(null);\n let fragmentSpreadsToRemove: RemoveFragmentSpreadConfig[] = [];\n\n let modifiedDoc = nullIfDocIsEmpty(\n visit(doc, {\n Variable: {\n enter(node, _key, parent) {\n // Store each variable that's referenced as part of an argument\n // (excluding operation definition variables), so we know which\n // variables are being used. If we later want to remove a variable\n // we'll fist check to see if it's being used, before continuing with\n // the removal.\n if (\n (parent as VariableDefinitionNode).kind !== 'VariableDefinition'\n ) {\n variablesInUse[node.name.value] = true;\n }\n },\n },\n\n Field: {\n enter(node) {\n if (directives && node.directives) {\n // If `remove` is set to true for a directive, and a directive match\n // is found for a field, remove the field as well.\n const shouldRemoveField = directives.some(\n directive => directive.remove,\n );\n\n if (\n shouldRemoveField &&\n node.directives &&\n node.directives.some(getDirectiveMatcher(directives))\n ) {\n if (node.arguments) {\n // Store field argument variables so they can be removed\n // from the operation definition.\n node.arguments.forEach(arg => {\n if (arg.value.kind === 'Variable') {\n variablesToRemove.push({\n name: (arg.value as VariableNode).name.value,\n });\n }\n });\n }\n\n if (node.selectionSet) {\n // Store fragment spread names so they can be removed from the\n // docuemnt.\n getAllFragmentSpreadsFromSelectionSet(node.selectionSet).forEach(\n frag => {\n fragmentSpreadsToRemove.push({\n name: frag.name.value,\n });\n },\n );\n }\n\n // Remove the field.\n return null;\n }\n }\n },\n },\n\n FragmentSpread: {\n enter(node) {\n // Keep track of referenced fragment spreads. This is used to\n // determine if top level fragment definitions should be removed.\n fragmentSpreadsInUse[node.name.value] = true;\n },\n },\n\n Directive: {\n enter(node) {\n // If a matching directive is found, remove it.\n if (getDirectiveMatcher(directives)(node)) {\n return null;\n }\n },\n },\n }),\n );\n\n // If we've removed fields with arguments, make sure the associated\n // variables are also removed from the rest of the document, as long as they\n // aren't being used elsewhere.\n if (\n modifiedDoc &&\n filterInPlace(variablesToRemove, v => !variablesInUse[v.name]).length\n ) {\n modifiedDoc = removeArgumentsFromDocument(variablesToRemove, modifiedDoc);\n }\n\n // If we've removed selection sets with fragment spreads, make sure the\n // associated fragment definitions are also removed from the rest of the\n // document, as long as they aren't being used elsewhere.\n if (\n modifiedDoc &&\n filterInPlace(fragmentSpreadsToRemove, fs => !fragmentSpreadsInUse[fs.name])\n .length\n ) {\n modifiedDoc = removeFragmentSpreadFromDocument(\n fragmentSpreadsToRemove,\n modifiedDoc,\n );\n }\n\n return modifiedDoc;\n}\n\nexport function addTypenameToDocument(doc: DocumentNode): DocumentNode {\n return visit(checkDocument(doc), {\n SelectionSet: {\n enter(node, _key, parent) {\n // Don't add __typename to OperationDefinitions.\n if (\n parent &&\n (parent as OperationDefinitionNode).kind === 'OperationDefinition'\n ) {\n return;\n }\n\n // No changes if no selections.\n const { selections } = node;\n if (!selections) {\n return;\n }\n\n // If selections already have a __typename, or are part of an\n // introspection query, do nothing.\n const skip = selections.some(selection => {\n return (\n isField(selection) &&\n (selection.name.value === '__typename' ||\n selection.name.value.lastIndexOf('__', 0) === 0)\n );\n });\n if (skip) {\n return;\n }\n\n // If this SelectionSet is @export-ed as an input variable, it should\n // not have a __typename field (see issue #4691).\n const field = parent as FieldNode;\n if (\n isField(field) &&\n field.directives &&\n field.directives.some(d => d.name.value === 'export')\n ) {\n return;\n }\n\n // Create and return a new SelectionSet with a __typename Field.\n return {\n ...node,\n selections: [...selections, TYPENAME_FIELD],\n };\n },\n },\n });\n}\n\nconst connectionRemoveConfig = {\n test: (directive: DirectiveNode) => {\n const willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (\n !directive.arguments ||\n !directive.arguments.some(arg => arg.name.value === 'key')\n ) {\n invariant.warn(\n 'Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.',\n );\n }\n }\n\n return willRemove;\n },\n};\n\nexport function removeConnectionDirectiveFromDocument(doc: DocumentNode) {\n return removeDirectivesFromDocument(\n [connectionRemoveConfig],\n checkDocument(doc),\n );\n}\n\nfunction hasDirectivesInSelectionSet(\n directives: GetDirectiveConfig[],\n selectionSet: SelectionSetNode,\n nestedCheck = true,\n): boolean {\n return (\n selectionSet &&\n selectionSet.selections &&\n selectionSet.selections.some(selection =>\n hasDirectivesInSelection(directives, selection, nestedCheck),\n )\n );\n}\n\nfunction hasDirectivesInSelection(\n directives: GetDirectiveConfig[],\n selection: SelectionNode,\n nestedCheck = true,\n): boolean {\n if (!isField(selection)) {\n return true;\n }\n\n if (!selection.directives) {\n return false;\n }\n\n return (\n selection.directives.some(getDirectiveMatcher(directives)) ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(\n directives,\n selection.selectionSet,\n nestedCheck,\n ))\n );\n}\n\nexport function getDirectivesFromDocument(\n directives: GetDirectiveConfig[],\n doc: DocumentNode,\n): DocumentNode {\n checkDocument(doc);\n\n let parentPath: string;\n\n return nullIfDocIsEmpty(\n visit(doc, {\n SelectionSet: {\n enter(node, _key, _parent, path) {\n const currentPath = path.join('-');\n\n if (\n !parentPath ||\n currentPath === parentPath ||\n !currentPath.startsWith(parentPath)\n ) {\n if (node.selections) {\n const selectionsWithDirectives = node.selections.filter(\n selection => hasDirectivesInSelection(directives, selection),\n );\n\n if (hasDirectivesInSelectionSet(directives, node, false)) {\n parentPath = currentPath;\n }\n\n return {\n ...node,\n selections: selectionsWithDirectives,\n };\n } else {\n return null;\n }\n }\n },\n },\n }),\n );\n}\n\nfunction getArgumentMatcher(config: RemoveArgumentsConfig[]) {\n return function argumentMatcher(argument: ArgumentNode) {\n return config.some(\n (aConfig: RemoveArgumentsConfig) =>\n argument.value &&\n argument.value.kind === 'Variable' &&\n argument.value.name &&\n (aConfig.name === argument.value.name.value ||\n (aConfig.test && aConfig.test(argument))),\n );\n };\n}\n\nexport function removeArgumentsFromDocument(\n config: RemoveArgumentsConfig[],\n doc: DocumentNode,\n): DocumentNode {\n const argMatcher = getArgumentMatcher(config);\n\n return nullIfDocIsEmpty(\n visit(doc, {\n OperationDefinition: {\n enter(node) {\n return {\n ...node,\n // Remove matching top level variables definitions.\n variableDefinitions: node.variableDefinitions.filter(\n varDef =>\n !config.some(arg => arg.name === varDef.variable.name.value),\n ),\n };\n },\n },\n\n Field: {\n enter(node) {\n // If `remove` is set to true for an argument, and an argument match\n // is found for a field, remove the field as well.\n const shouldRemoveField = config.some(argConfig => argConfig.remove);\n\n if (shouldRemoveField) {\n let argMatchCount = 0;\n node.arguments.forEach(arg => {\n if (argMatcher(arg)) {\n argMatchCount += 1;\n }\n });\n if (argMatchCount === 1) {\n return null;\n }\n }\n },\n },\n\n Argument: {\n enter(node) {\n // Remove all matching arguments.\n if (argMatcher(node)) {\n return null;\n }\n },\n },\n }),\n );\n}\n\nexport function removeFragmentSpreadFromDocument(\n config: RemoveFragmentSpreadConfig[],\n doc: DocumentNode,\n): DocumentNode {\n function enter(\n node: FragmentSpreadNode | FragmentDefinitionNode,\n ): null | void {\n if (config.some(def => def.name === node.name.value)) {\n return null;\n }\n }\n\n return nullIfDocIsEmpty(\n visit(doc, {\n FragmentSpread: { enter },\n FragmentDefinition: { enter },\n }),\n );\n}\n\nfunction getAllFragmentSpreadsFromSelectionSet(\n selectionSet: SelectionSetNode,\n): FragmentSpreadNode[] {\n const allFragments: FragmentSpreadNode[] = [];\n\n selectionSet.selections.forEach(selection => {\n if (\n (isField(selection) || isInlineFragment(selection)) &&\n selection.selectionSet\n ) {\n getAllFragmentSpreadsFromSelectionSet(selection.selectionSet).forEach(\n frag => allFragments.push(frag),\n );\n } else if (selection.kind === 'FragmentSpread') {\n allFragments.push(selection);\n }\n });\n\n return allFragments;\n}\n\n// If the incoming document is a query, return it as is. Otherwise, build a\n// new document containing a query operation based on the selection set\n// of the previous main operation.\nexport function buildQueryFromSelectionSet(\n document: DocumentNode,\n): DocumentNode {\n const definition = getMainDefinition(document);\n const definitionOperation = (definition).operation;\n\n if (definitionOperation === 'query') {\n // Already a query, so return the existing document.\n return document;\n }\n\n // Build a new query using the selection set of the main operation.\n const modifiedDoc = visit(document, {\n OperationDefinition: {\n enter(node) {\n return {\n ...node,\n operation: 'query',\n };\n },\n },\n });\n return modifiedDoc;\n}\n\n// Remove fields / selection sets that include an @client directive.\nexport function removeClientSetsFromDocument(\n document: DocumentNode,\n): DocumentNode | null {\n checkDocument(document);\n\n let modifiedDoc = removeDirectivesFromDocument(\n [\n {\n test: (directive: DirectiveNode) => directive.name.value === 'client',\n remove: true,\n },\n ],\n document,\n );\n\n // After a fragment definition has had its @client related document\n // sets removed, if the only field it has left is a __typename field,\n // remove the entire fragment operation to prevent it from being fired\n // on the server.\n if (modifiedDoc) {\n modifiedDoc = visit(modifiedDoc, {\n FragmentDefinition: {\n enter(node) {\n if (node.selectionSet) {\n const isTypenameOnly = node.selectionSet.selections.every(\n selection =>\n isField(selection) && selection.name.value === '__typename',\n );\n if (isTypenameOnly) {\n return null;\n }\n }\n },\n },\n });\n }\n\n return modifiedDoc;\n}\n","export const canUseWeakMap = typeof WeakMap === 'function' && !(\n typeof navigator === 'object' &&\n navigator.product === 'ReactNative'\n);\n","const { toString } = Object.prototype;\n\n/**\n * Deeply clones a value to create a new instance.\n */\nexport function cloneDeep(value: T): T {\n return cloneDeepHelper(value, new Map());\n}\n\nfunction cloneDeepHelper(val: T, seen: Map): T {\n switch (toString.call(val)) {\n case \"[object Array]\": {\n if (seen.has(val)) return seen.get(val);\n const copy: T & any[] = (val as any).slice(0);\n seen.set(val, copy);\n copy.forEach(function (child, i) {\n copy[i] = cloneDeepHelper(child, seen);\n });\n return copy;\n }\n\n case \"[object Object]\": {\n if (seen.has(val)) return seen.get(val);\n // High fidelity polyfills of Object.create and Object.getPrototypeOf are\n // possible in all JS environments, so we will assume they exist/work.\n const copy = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy);\n Object.keys(val).forEach(key => {\n copy[key] = cloneDeepHelper((val as any)[key], seen);\n });\n return copy;\n }\n\n default:\n return val;\n }\n}\n","export function getEnv(): string | undefined {\n if (typeof process !== 'undefined' && process.env.NODE_ENV) {\n return process.env.NODE_ENV;\n }\n\n // default environment\n return 'development';\n}\n\nexport function isEnv(env: string): boolean {\n return getEnv() === env;\n}\n\nexport function isProduction(): boolean {\n return isEnv('production') === true;\n}\n\nexport function isDevelopment(): boolean {\n return isEnv('development') === true;\n}\n\nexport function isTest(): boolean {\n return isEnv('test') === true;\n}\n","import { ExecutionResult } from 'graphql';\n\nexport function tryFunctionOrLogError(f: Function) {\n try {\n return f();\n } catch (e) {\n if (console.error) {\n console.error(e);\n }\n }\n}\n\nexport function graphQLResultHasError(result: ExecutionResult) {\n return result.errors && result.errors.length;\n}\n","import { isDevelopment, isTest } from './environment';\n\n// Taken (mostly) from https://github.com/substack/deep-freeze to avoid\n// import hassles with rollup.\nfunction deepFreeze(o: any) {\n Object.freeze(o);\n\n Object.getOwnPropertyNames(o).forEach(function(prop) {\n if (\n o[prop] !== null &&\n (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&\n !Object.isFrozen(o[prop])\n ) {\n deepFreeze(o[prop]);\n }\n });\n\n return o;\n}\n\nexport function maybeDeepFreeze(obj: any) {\n if (isDevelopment() || isTest()) {\n // Polyfilled Symbols potentially cause infinite / very deep recursion while deep freezing\n // which is known to crash IE11 (https://github.com/apollographql/apollo-client/issues/3043).\n const symbolIsPolyfilled =\n typeof Symbol === 'function' && typeof Symbol('') === 'string';\n\n if (!symbolIsPolyfilled) {\n return deepFreeze(obj);\n }\n }\n return obj;\n}\n","const { hasOwnProperty } = Object.prototype;\n\n// These mergeDeep and mergeDeepArray utilities merge any number of objects\n// together, sharing as much memory as possible with the source objects, while\n// remaining careful to avoid modifying any source objects.\n\n// Logically, the return type of mergeDeep should be the intersection of\n// all the argument types. The binary call signature is by far the most\n// common, but we support 0- through 5-ary as well. After that, the\n// resulting type is just the inferred array element type. Note to nerds:\n// there is a more clever way of doing this that converts the tuple type\n// first to a union type (easy enough: T[number]) and then converts the\n// union to an intersection type using distributive conditional type\n// inference, but that approach has several fatal flaws (boolean becomes\n// true & false, and the inferred type ends up as unknown in many cases),\n// in addition to being nearly impossible to explain/understand.\nexport type TupleToIntersection =\n T extends [infer A] ? A :\n T extends [infer A, infer B] ? A & B :\n T extends [infer A, infer B, infer C] ? A & B & C :\n T extends [infer A, infer B, infer C, infer D] ? A & B & C & D :\n T extends [infer A, infer B, infer C, infer D, infer E] ? A & B & C & D & E :\n T extends (infer U)[] ? U : any;\n\nexport function mergeDeep(\n ...sources: T\n): TupleToIntersection {\n return mergeDeepArray(sources);\n}\n\n// In almost any situation where you could succeed in getting the\n// TypeScript compiler to infer a tuple type for the sources array, you\n// could just use mergeDeep instead of mergeDeepArray, so instead of\n// trying to convert T[] to an intersection type we just infer the array\n// element type, which works perfectly when the sources array has a\n// consistent element type.\nexport function mergeDeepArray(sources: T[]): T {\n let target = sources[0] || {} as T;\n const count = sources.length;\n if (count > 1) {\n const pastCopies: any[] = [];\n target = shallowCopyForMerge(target, pastCopies);\n for (let i = 1; i < count; ++i) {\n target = mergeHelper(target, sources[i], pastCopies);\n }\n }\n return target;\n}\n\nfunction isObject(obj: any): obj is Record {\n return obj !== null && typeof obj === 'object';\n}\n\nfunction mergeHelper(\n target: any,\n source: any,\n pastCopies: any[],\n) {\n if (isObject(source) && isObject(target)) {\n // In case the target has been frozen, make an extensible copy so that\n // we can merge properties into the copy.\n if (Object.isExtensible && !Object.isExtensible(target)) {\n target = shallowCopyForMerge(target, pastCopies);\n }\n\n Object.keys(source).forEach(sourceKey => {\n const sourceValue = source[sourceKey];\n if (hasOwnProperty.call(target, sourceKey)) {\n const targetValue = target[sourceKey];\n if (sourceValue !== targetValue) {\n // When there is a key collision, we need to make a shallow copy of\n // target[sourceKey] so the merge does not modify any source objects.\n // To avoid making unnecessary copies, we use a simple array to track\n // past copies, since it's safe to modify copies created earlier in\n // the merge. We use an array for pastCopies instead of a Map or Set,\n // since the number of copies should be relatively small, and some\n // Map/Set polyfills modify their keys.\n target[sourceKey] = mergeHelper(\n shallowCopyForMerge(targetValue, pastCopies),\n sourceValue,\n pastCopies,\n );\n }\n } else {\n // If there is no collision, the target can safely share memory with\n // the source, and the recursion can terminate here.\n target[sourceKey] = sourceValue;\n }\n });\n\n return target;\n }\n\n // If source (or target) is not an object, let source replace target.\n return source;\n}\n\nfunction shallowCopyForMerge(value: T, pastCopies: any[]): T {\n if (\n value !== null &&\n typeof value === 'object' &&\n pastCopies.indexOf(value) < 0\n ) {\n if (Array.isArray(value)) {\n value = (value as any).slice(0);\n } else {\n value = {\n __proto__: Object.getPrototypeOf(value),\n ...value,\n };\n }\n pastCopies.push(value);\n }\n return value;\n}\n","import { isProduction, isTest } from './environment';\n\nconst haveWarned = Object.create({});\n\n/**\n * Print a warning only once in development.\n * In production no warnings are printed.\n * In test all warnings are printed.\n *\n * @param msg The warning message\n * @param type warn or error (will call console.warn or console.error)\n */\nexport function warnOnceInDevelopment(msg: string, type = 'warn') {\n if (!isProduction() && !haveWarned[msg]) {\n if (!isTest()) {\n haveWarned[msg] = true;\n }\n if (type === 'error') {\n console.error(msg);\n } else {\n console.warn(msg);\n }\n }\n}\n","const genericMessage = \"Invariant Violation\";\nconst {\n setPrototypeOf = function (obj: any, proto: any) {\n obj.__proto__ = proto;\n return obj;\n },\n} = Object as any;\n\nexport class InvariantError extends Error {\n framesToPop = 1;\n name = genericMessage;\n constructor(message: string | number = genericMessage) {\n super(\n typeof message === \"number\"\n ? `${genericMessage}: ${message} (see https://github.com/apollographql/invariant-packages)`\n : message\n );\n setPrototypeOf(this, InvariantError.prototype);\n }\n}\n\nexport function invariant(condition: any, message?: string | number) {\n if (!condition) {\n throw new InvariantError(message);\n }\n}\n\nfunction wrapConsoleMethod(method: \"warn\" | \"error\") {\n return function () {\n return console[method].apply(console, arguments as any);\n } as (...args: any[]) => void;\n}\n\nexport namespace invariant {\n export const warn = wrapConsoleMethod(\"warn\");\n export const error = wrapConsoleMethod(\"error\");\n}\n\n// Code that uses ts-invariant with rollup-plugin-invariant may want to\n// import this process stub to avoid errors evaluating process.env.NODE_ENV.\n// However, because most ESM-to-CJS compilers will rewrite the process import\n// as tsInvariant.process, which prevents proper replacement by minifiers, we\n// also attempt to define the stub globally when it is not already defined.\nlet processStub: NodeJS.Process = { env: {} } as any;\nexport { processStub as process };\nif (typeof process === \"object\") {\n processStub = process;\n} else try {\n // Using Function to evaluate this assignment in global scope also escapes\n // the strict mode of the current module, thereby allowing the assignment.\n // Inspired by https://github.com/facebook/regenerator/pull/369.\n Function(\"stub\", \"process = stub\")(processStub);\n} catch (atLeastWeTried) {\n // The assignment can fail if a Content Security Policy heavy-handedly\n // forbids Function usage. In those environments, developers should take\n // extra care to replace process.env.NODE_ENV in their production builds,\n // or define an appropriate global.process polyfill.\n}\n\nexport default invariant;\n","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,\"__esModule\",{value:!0});var _Reveal=require(\"./Reveal\");Object.defineProperty(exports,\"default\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Fade=require(\"./Fade\");Object.defineProperty(exports,\"Fade\",{enumerable:!0,get:function(){return _interopRequireDefault(_Fade).default}});var _Bounce=require(\"./Bounce\");Object.defineProperty(exports,\"Bounce\",{enumerable:!0,get:function(){return _interopRequireDefault(_Bounce).default}});var _Roll=require(\"./Roll\");Object.defineProperty(exports,\"Roll\",{enumerable:!0,get:function(){return _interopRequireDefault(_Roll).default}});var _Slide=require(\"./Slide\");Object.defineProperty(exports,\"Slide\",{enumerable:!0,get:function(){return _interopRequireDefault(_Slide).default}});var _Flip=require(\"./Flip\");Object.defineProperty(exports,\"Flip\",{enumerable:!0,get:function(){return _interopRequireDefault(_Flip).default}}),Object.defineProperty(exports,\"Reveal\",{enumerable:!0,get:function(){return _interopRequireDefault(_Reveal).default}});var _Rotate=require(\"./Rotate\");Object.defineProperty(exports,\"Rotate\",{enumerable:!0,get:function(){return _interopRequireDefault(_Rotate).default}});var _LightSpeed=require(\"./LightSpeed\");Object.defineProperty(exports,\"LightSpeed\",{enumerable:!0,get:function(){return _interopRequireDefault(_LightSpeed).default}});var _Zoom=require(\"./Zoom\");Object.defineProperty(exports,\"Zoom\",{enumerable:!0,get:function(){return _interopRequireDefault(_Zoom).default}});","import inspect from '../jsutils/inspect';\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error('Invalid AST Node: ' + inspect(node));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : visitorKeys[node.kind] || [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n\nfunction isNode(maybeNode) {\n return Boolean(maybeNode && typeof maybeNode.kind === 'string');\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Creates a new visitor instance which maintains a provided TypeInfo instance\n * along with visiting visitor.\n */\n\nexport function visitWithTypeInfo(typeInfo, visitor) {\n return {\n enter: function enter(node) {\n typeInfo.enter(node);\n var fn = getVisitFn(visitor, node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitor, arguments);\n\n if (result !== undefined) {\n typeInfo.leave(node);\n\n if (isNode(result)) {\n typeInfo.enter(result);\n }\n }\n\n return result;\n }\n },\n leave: function leave(node) {\n var fn = getVisitFn(visitor, node.kind,\n /* isLeaving */\n true);\n var result;\n\n if (fn) {\n result = fn.apply(visitor, arguments);\n }\n\n typeInfo.leave(node);\n return result;\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","var replaceEmoji = require('./lib/replaceEmoji'),\n\tmakeTwemojiRenderer = require('./lib/makeTwemojiRenderer')\n\nmodule.exports = function reactEasyEmoji (element, optionsOrFn) {\n\tvar render = (typeof optionsOrFn === 'function') ? optionsOrFn : makeTwemojiRenderer(optionsOrFn)\n\treturn replaceEmoji(element, render)\n}","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";function insertRule(e){try{return sheet.insertRule(e,sheet.cssRules.length)}catch(e){console.warn(\"react-reveal - animation failed\")}}function cascade(e,n,t,o,r){var s=Math.log(o),i=Math.log(r),a=(i-s)/(t-n);return Math.exp(s+a*(e-n))}function animation(e){if(!sheet)return\"\";var n=\"@keyframes \"+(name+counter)+\"{\"+e+\"}\",t=effectMap[e];return t?\"\"+name+t:(sheet.insertRule(n,sheet.cssRules.length),effectMap[e]=counter,\"\"+name+counter++)}function hideAll(){globalHide||(exports.globalHide=globalHide=!0,window.removeEventListener(\"scroll\",hideAll,!0),insertRule(\".\"+namespace+\" { opacity: 0; }\"),window.removeEventListener(\"orientationchange\",hideAll,!0),window.document.removeEventListener(\"visibilitychange\",hideAll))}function config(e){var n=e.ssrFadeout;exports.fadeOutEnabled=fadeOutEnabled=n}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.insertRule=insertRule,exports.cascade=cascade,exports.animation=animation,exports.hideAll=hideAll,exports.default=config;var namespace=exports.namespace=\"react-reveal\",defaults=exports.defaults={duration:1e3,delay:0,count:1},ssr=exports.ssr=!0,observerMode=exports.observerMode=!1,raf=exports.raf=function(e){return window.setTimeout(e,66)},disableSsr=exports.disableSsr=function(){return exports.ssr=ssr=!1},fadeOutEnabled=exports.fadeOutEnabled=!1,ssrFadeout=exports.ssrFadeout=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return exports.fadeOutEnabled=fadeOutEnabled=e},globalHide=exports.globalHide=!1,ie10=exports.ie10=!1,collapseend=exports.collapseend=void 0,counter=1,effectMap={},sheet=!1,name=namespace+\"-\"+Math.floor(1e15*Math.random())+\"-\";if(\"undefined\"!=typeof window&&\"nodejs\"!==window.name&&window.document&&\"undefined\"!=typeof navigator){exports.observerMode=observerMode=\"IntersectionObserver\"in window&&\"IntersectionObserverEntry\"in window&&\"intersectionRatio\"in window.IntersectionObserverEntry.prototype&&/\\{\\s*\\[native code\\]\\s*\\}/.test(\"\"+IntersectionObserver),exports.raf=raf=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||raf,exports.ssr=ssr=window.document.querySelectorAll(\"div[data-reactroot]\").length>0,-1!==navigator.appVersion.indexOf(\"MSIE 10\")&&(exports.ie10=ie10=!0),ssr&&\"performance\"in window&&\"timing\"in window.performance&&\"domContentLoadedEventEnd\"in window.performance.timing&&window.performance.timing.domLoading&&Date.now()-window.performance.timing.domLoading<300&&(exports.ssr=ssr=!1),ssr&&window.setTimeout(disableSsr,1500),observerMode||(exports.collapseend=collapseend=document.createEvent(\"Event\"),collapseend.initEvent(\"collapseend\",!0,!0));var element=document.createElement(\"style\");document.head.appendChild(element),element.sheet&&element.sheet.cssRules&&element.sheet.insertRule&&(sheet=element.sheet,window.addEventListener(\"scroll\",hideAll,!0),window.addEventListener(\"orientationchange\",hideAll,!0),window.document.addEventListener(\"visibilitychange\",hideAll))}","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/*!\n * $script.js JS loader & dependency manager\n * https://github.com/ded/script.js\n * (c) Dustin Diaz 2014 | License MIT\n */\n\n(function (name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(definition)\n else this[name] = definition()\n})('$script', function () {\n var doc = document\n , head = doc.getElementsByTagName('head')[0]\n , s = 'string'\n , f = false\n , push = 'push'\n , readyState = 'readyState'\n , onreadystatechange = 'onreadystatechange'\n , list = {}\n , ids = {}\n , delay = {}\n , scripts = {}\n , scriptpath\n , urlArgs\n\n function every(ar, fn) {\n for (var i = 0, j = ar.length; i < j; ++i) if (!fn(ar[i])) return f\n return 1\n }\n function each(ar, fn) {\n every(ar, function (el) {\n fn(el)\n return 1\n })\n }\n\n function $script(paths, idOrDone, optDone) {\n paths = paths[push] ? paths : [paths]\n var idOrDoneIsDone = idOrDone && idOrDone.call\n , done = idOrDoneIsDone ? idOrDone : optDone\n , id = idOrDoneIsDone ? paths.join('') : idOrDone\n , queue = paths.length\n function loopFn(item) {\n return item.call ? item() : list[item]\n }\n function callback() {\n if (!--queue) {\n list[id] = 1\n done && done()\n for (var dset in delay) {\n every(dset.split('|'), loopFn) && !each(delay[dset], loopFn) && (delay[dset] = [])\n }\n }\n }\n setTimeout(function () {\n each(paths, function loading(path, force) {\n if (path === null) return callback()\n \n if (!force && !/^https?:\\/\\//.test(path) && scriptpath) {\n path = (path.indexOf('.js') === -1) ? scriptpath + path + '.js' : scriptpath + path;\n }\n \n if (scripts[path]) {\n if (id) ids[id] = 1\n return (scripts[path] == 2) ? callback() : setTimeout(function () { loading(path, true) }, 0)\n }\n\n scripts[path] = 1\n if (id) ids[id] = 1\n create(path, callback)\n })\n }, 0)\n return $script\n }\n\n function create(path, fn) {\n var el = doc.createElement('script'), loaded\n el.onload = el.onerror = el[onreadystatechange] = function () {\n if ((el[readyState] && !(/^c|loade/.test(el[readyState]))) || loaded) return;\n el.onload = el[onreadystatechange] = null\n loaded = 1\n scripts[path] = 2\n fn()\n }\n el.async = 1\n el.src = urlArgs ? path + (path.indexOf('?') === -1 ? '?' : '&') + urlArgs : path;\n head.insertBefore(el, head.lastChild)\n }\n\n $script.get = create\n\n $script.order = function (scripts, id, done) {\n (function callback(s) {\n s = scripts.shift()\n !scripts.length ? $script(s, id, done) : $script(s, callback)\n }())\n }\n\n $script.path = function (p) {\n scriptpath = p\n }\n $script.urlArgs = function (str) {\n urlArgs = str;\n }\n $script.ready = function (deps, ready, req) {\n deps = deps[push] ? deps : [deps]\n var missing = [];\n !each(deps, function (dep) {\n list[dep] || missing[push](dep);\n }) && every(deps, function (dep) {return list[dep]}) ?\n ready() : !function (key) {\n delay[key] = delay[key] || []\n delay[key][push](ready)\n req && req(missing)\n }(deps.join('|'))\n return $script\n }\n\n $script.done = function (idOrDone) {\n $script([null], idOrDone)\n }\n\n return $script\n});\n","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function wrap(e,t,a,r){return\"in\"in e&&(e.when=e.in),_react2.default.Children.count(r)<2?_react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r})):(r=_react2.default.Children.map(r,function(r){return _react2.default.createElement(_RevealBase2.default,_extends({},e,{inEffect:t,outEffect:a,children:r}))}),\"Fragment\"in _react2.default?_react2.default.createElement(_react2.default.Fragment,null,r):_react2.default.createElement(\"span\",null,r))}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const VALIDATOR_ARG_ERROR_MESSAGE =\n 'The typeValidator argument must be a function ' +\n 'with the signature function(props, propName, componentName).';\n\nconst MESSAGE_ARG_ERROR_MESSAGE =\n 'The error message is optional, but must be a string if provided.';\n\nconst propIsRequired = (condition, props, propName, componentName) => {\n if (typeof condition === 'boolean') {\n return condition;\n } else if (typeof condition === 'function') {\n return condition(props, propName, componentName);\n } else if (Boolean(condition) === true) {\n return Boolean(condition);\n }\n\n return false;\n};\n\nconst propExists = (props, propName) => Object.hasOwnProperty.call(props, propName);\n\nconst missingPropError = (props, propName, componentName, message) => {\n if (message) {\n return new Error(message);\n }\n\n return new Error(\n `Required ${props[propName]} \\`${propName}\\`` +\n ` was not specified in \\`${componentName}\\`.`,\n );\n};\n\nconst guardAgainstInvalidArgTypes = (typeValidator, message) => {\n if (typeof typeValidator !== 'function') {\n throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);\n }\n\n if (Boolean(message) && typeof message !== 'string') {\n throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE);\n }\n};\n\nconst isRequiredIf = (typeValidator, condition, message) => {\n guardAgainstInvalidArgTypes(typeValidator, message);\n\n return (props, propName, componentName, ...rest) => {\n if (propIsRequired(condition, props, propName, componentName)) {\n if (propExists(props, propName)) {\n return typeValidator(props, propName, componentName, ...rest);\n }\n\n return missingPropError(props, propName, componentName, message);\n }\n\n // Is not required, so just run typeValidator.\n return typeValidator(props, propName, componentName, ...rest);\n };\n};\n\nexport default isRequiredIf;\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","/* tslint:disable */\n\nimport zenObservable from 'zen-observable';\n\nnamespace Observable {\n\n}\n\nimport { ZenObservable } from './types';\n\nexport { ZenObservable };\n\nexport type Observer = ZenObservable.Observer;\nexport type Subscriber = ZenObservable.Subscriber;\nexport type ObservableLike = ZenObservable.ObservableLike;\n\nexport const Observable: {\n new (subscriber: Subscriber): Observable;\n from(\n observable: Observable | ZenObservable.ObservableLike | ArrayLike,\n ): Observable;\n of(...args: Array): Observable;\n} = zenObservable;\n\nexport interface Observable {\n subscribe(\n observerOrNext: ((value: T) => void) | ZenObservable.Observer,\n error?: (error: any) => void,\n complete?: () => void,\n ): ZenObservable.Subscription;\n\n forEach(fn: (value: T) => void): Promise;\n\n map(fn: (value: T) => R): Observable;\n\n filter(fn: (value: T) => boolean): Observable;\n\n reduce(\n fn: (previousValue: R | T, currentValue: T) => R | T,\n initialValue?: R | T,\n ): Observable;\n\n flatMap(fn: (value: T) => ZenObservable.ObservableLike): Observable;\n\n from(\n observable: Observable | ZenObservable.ObservableLike | ArrayLike,\n ): Observable;\n of(...args: Array): Observable;\n}\n","import Observable from 'zen-observable-ts';\n\nimport { GraphQLRequest, Operation } from './types';\nimport { ApolloLink } from './link';\n\nimport { getOperationName } from 'apollo-utilities';\nimport { invariant, InvariantError } from 'ts-invariant';\nexport { getOperationName };\n\nexport function validateOperation(operation: GraphQLRequest): GraphQLRequest {\n const OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (let key of Object.keys(operation)) {\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw new InvariantError(`illegal argument: ${key}`);\n }\n }\n\n return operation;\n}\n\nexport class LinkError extends Error {\n public link: ApolloLink;\n constructor(message?: string, link?: ApolloLink) {\n super(message);\n this.link = link;\n }\n}\n\nexport function isTerminating(link: ApolloLink): boolean {\n return link.request.length <= 1;\n}\n\nexport function toPromise(observable: Observable): Promise {\n let completed = false;\n return new Promise((resolve, reject) => {\n observable.subscribe({\n next: data => {\n if (completed) {\n invariant.warn(\n `Promise Wrapper does not support multiple results from Observable`,\n );\n } else {\n completed = true;\n resolve(data);\n }\n },\n error: reject,\n });\n });\n}\n\n// backwards compat\nexport const makePromise = toPromise;\n\nexport function fromPromise(promise: Promise): Observable {\n return new Observable(observer => {\n promise\n .then((value: T) => {\n observer.next(value);\n observer.complete();\n })\n .catch(observer.error.bind(observer));\n });\n}\n\nexport function fromError(errorValue: any): Observable {\n return new Observable(observer => {\n observer.error(errorValue);\n });\n}\n\nexport function transformOperation(operation: GraphQLRequest): GraphQLRequest {\n const transformedOperation: GraphQLRequest = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n\n // best guess at an operation name\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query)\n : '';\n }\n\n return transformedOperation as Operation;\n}\n\nexport function createOperation(\n starting: any,\n operation: GraphQLRequest,\n): Operation {\n let context = { ...starting };\n const setContext = next => {\n if (typeof next === 'function') {\n context = { ...context, ...next(context) };\n } else {\n context = { ...context, ...next };\n }\n };\n const getContext = () => ({ ...context });\n\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n\n Object.defineProperty(operation, 'toKey', {\n enumerable: false,\n value: () => getKey(operation),\n });\n\n return operation as Operation;\n}\n\nexport function getKey(operation: GraphQLRequest) {\n // XXX We're assuming here that query and variables will be serialized in\n // the same order, which might not always be true.\n const { query, variables, operationName } = operation;\n return JSON.stringify([operationName, query, variables]);\n}\n","import Observable from 'zen-observable-ts';\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport {\n GraphQLRequest,\n NextLink,\n Operation,\n RequestHandler,\n FetchResult,\n} from './types';\n\nimport {\n validateOperation,\n isTerminating,\n LinkError,\n transformOperation,\n createOperation,\n} from './linkUtils';\n\nfunction passthrough(op, forward) {\n return forward ? forward(op) : Observable.of();\n}\n\nfunction toLink(handler: RequestHandler | ApolloLink) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\n\nexport function empty(): ApolloLink {\n return new ApolloLink(() => Observable.of());\n}\n\nexport function from(links: ApolloLink[]): ApolloLink {\n if (links.length === 0) return empty();\n return links.map(toLink).reduce((x, y) => x.concat(y));\n}\n\nexport function split(\n test: (op: Operation) => boolean,\n left: ApolloLink | RequestHandler,\n right?: ApolloLink | RequestHandler,\n): ApolloLink {\n const leftLink = toLink(left);\n const rightLink = toLink(right || new ApolloLink(passthrough));\n\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(operation => {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n } else {\n return new ApolloLink((operation, forward) => {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n}\n\n// join two Links together\nexport const concat = (\n first: ApolloLink | RequestHandler,\n second: ApolloLink | RequestHandler,\n) => {\n const firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n invariant.warn(\n new LinkError(\n `You are calling concat on a terminating link, which will have no effect`,\n firstLink,\n ),\n );\n return firstLink;\n }\n const nextLink = toLink(second);\n\n if (isTerminating(nextLink)) {\n return new ApolloLink(\n operation =>\n firstLink.request(\n operation,\n op => nextLink.request(op) || Observable.of(),\n ) || Observable.of(),\n );\n } else {\n return new ApolloLink((operation, forward) => {\n return (\n firstLink.request(operation, op => {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of()\n );\n });\n }\n};\n\nexport class ApolloLink {\n public static empty = empty;\n public static from = from;\n public static split = split;\n public static execute = execute;\n\n constructor(request?: RequestHandler) {\n if (request) this.request = request;\n }\n\n public split(\n test: (op: Operation) => boolean,\n left: ApolloLink | RequestHandler,\n right?: ApolloLink | RequestHandler,\n ): ApolloLink {\n return this.concat(split(test, left, right || new ApolloLink(passthrough)));\n }\n\n public concat(next: ApolloLink | RequestHandler): ApolloLink {\n return concat(this, next);\n }\n\n public request(\n operation: Operation,\n forward?: NextLink,\n ): Observable | null {\n throw new InvariantError('request is not implemented');\n }\n}\n\nexport function execute(\n link: ApolloLink,\n operation: GraphQLRequest,\n): Observable {\n return (\n link.request(\n createOperation(\n operation.context,\n transformOperation(validateOperation(operation)),\n ),\n ) || Observable.of()\n );\n}\n","/**\n * The current status of a query’s execution in our system.\n */\nexport enum NetworkStatus {\n /**\n * The query has never been run before and the query is now currently running. A query will still\n * have this network status even if a partial data result was returned from the cache, but a\n * query was dispatched anyway.\n */\n loading = 1,\n\n /**\n * If `setVariables` was called and a query was fired because of that then the network status\n * will be `setVariables` until the result of that query comes back.\n */\n setVariables = 2,\n\n /**\n * Indicates that `fetchMore` was called on this query and that the query created is currently in\n * flight.\n */\n fetchMore = 3,\n\n /**\n * Similar to the `setVariables` network status. It means that `refetch` was called on a query\n * and the refetch request is currently in flight.\n */\n refetch = 4,\n\n /**\n * Indicates that a polling query is currently in flight. So for example if you are polling a\n * query every 10 seconds then the network status will switch to `poll` every 10 seconds whenever\n * a poll request has been sent but not resolved.\n */\n poll = 6,\n\n /**\n * No request is in flight for this query, and no errors happened. Everything is OK.\n */\n ready = 7,\n\n /**\n * No request is in flight for this query, but one or more errors were detected.\n */\n error = 8,\n}\n\n/**\n * Returns true if there is currently a network request in flight according to a given network\n * status.\n */\nexport function isNetworkRequestInFlight(\n networkStatus: NetworkStatus,\n): boolean {\n return networkStatus < 7;\n}\n","// This simplified polyfill attempts to follow the ECMAScript Observable proposal.\n// See https://github.com/zenparsing/es-observable\nimport { Observable as LinkObservable } from 'apollo-link';\n\nexport type Subscription = ZenObservable.Subscription;\nexport type Observer = ZenObservable.Observer;\n\nimport $$observable from 'symbol-observable';\n\n// rxjs interopt\nexport class Observable extends LinkObservable {\n public [$$observable]() {\n return this;\n }\n\n public ['@@observable' as any]() {\n return this;\n }\n}\n","export function isNonEmptyArray(value?: ArrayLike): value is Array {\n return Array.isArray(value) && value.length > 0;\n}\n","import { GraphQLError } from 'graphql';\nimport { isNonEmptyArray } from '../util/arrays';\n\nexport function isApolloError(err: Error): err is ApolloError {\n return err.hasOwnProperty('graphQLErrors');\n}\n\n// Sets the error message on this error according to the\n// the GraphQL and network errors that are present.\n// If the error message has already been set through the\n// constructor or otherwise, this function is a nop.\nconst generateErrorMessage = (err: ApolloError) => {\n let message = '';\n // If we have GraphQL errors present, add that to the error message.\n if (isNonEmptyArray(err.graphQLErrors)) {\n err.graphQLErrors.forEach((graphQLError: GraphQLError) => {\n const errorMessage = graphQLError\n ? graphQLError.message\n : 'Error message not found.';\n message += `GraphQL error: ${errorMessage}\\n`;\n });\n }\n\n if (err.networkError) {\n message += 'Network error: ' + err.networkError.message + '\\n';\n }\n\n // strip newline from the end of the message\n message = message.replace(/\\n$/, '');\n return message;\n};\n\nexport class ApolloError extends Error {\n public message: string;\n public graphQLErrors: ReadonlyArray;\n public networkError: Error | null;\n\n // An object that can be used to provide some additional information\n // about an error, e.g. specifying the type of error this is. Used\n // internally within Apollo Client.\n public extraInfo: any;\n\n // Constructs an instance of ApolloError given a GraphQLError\n // or a network error. Note that one of these has to be a valid\n // value or the constructed error will be meaningless.\n constructor({\n graphQLErrors,\n networkError,\n errorMessage,\n extraInfo,\n }: {\n graphQLErrors?: ReadonlyArray;\n networkError?: Error | null;\n errorMessage?: string;\n extraInfo?: any;\n }) {\n super(errorMessage);\n this.graphQLErrors = graphQLErrors || [];\n this.networkError = networkError || null;\n\n if (!errorMessage) {\n this.message = generateErrorMessage(this);\n } else {\n this.message = errorMessage;\n }\n\n this.extraInfo = extraInfo;\n\n // We're not using `Object.setPrototypeOf` here as it isn't fully\n // supported on Android (see issue #3236).\n (this as any).__proto__ = ApolloError.prototype;\n }\n}\n","import { FetchResult } from 'apollo-link';\nimport { DocumentNode, GraphQLError } from 'graphql';\n\nimport { QueryStoreValue } from '../data/queries';\nimport { NetworkStatus } from './networkStatus';\nimport { Resolver } from './LocalState';\n\nexport type QueryListener = (\n queryStoreValue: QueryStoreValue,\n newData?: any,\n forceResolvers?: boolean,\n) => void;\n\nexport type OperationVariables = { [key: string]: any };\n\nexport type PureQueryOptions = {\n query: DocumentNode;\n variables?: { [key: string]: any };\n context?: any;\n};\n\nexport type ApolloQueryResult = {\n data: T;\n errors?: ReadonlyArray;\n loading: boolean;\n networkStatus: NetworkStatus;\n stale: boolean;\n};\n\nexport enum FetchType {\n normal = 1,\n refetch = 2,\n poll = 3,\n}\n\n// This is part of the public API, people write these functions in `updateQueries`.\nexport type MutationQueryReducer = (\n previousResult: Record,\n options: {\n mutationResult: FetchResult;\n queryName: string | undefined;\n queryVariables: Record;\n },\n) => Record;\n\nexport type MutationQueryReducersMap = {\n [queryName: string]: MutationQueryReducer;\n};\n\nexport interface Resolvers {\n [key: string]: {\n [ field: string ]: Resolver;\n };\n}\n","import {\n isEqual,\n tryFunctionOrLogError,\n cloneDeep,\n getOperationDefinition,\n} from 'apollo-utilities';\nimport { GraphQLError } from 'graphql';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport { Observable, Observer, Subscription } from '../util/Observable';\nimport { ApolloError } from '../errors/ApolloError';\nimport { QueryManager } from './QueryManager';\nimport { ApolloQueryResult, FetchType, OperationVariables } from './types';\nimport {\n WatchQueryOptions,\n FetchMoreQueryOptions,\n SubscribeToMoreOptions,\n ErrorPolicy,\n} from './watchQueryOptions';\n\nimport { QueryStoreValue } from '../data/queries';\n\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { isNonEmptyArray } from '../util/arrays';\n\n// XXX remove in the next breaking semver change (3.0)\n// Deprecated, use ApolloCurrentQueryResult\nexport type ApolloCurrentResult = {\n data: T | {};\n errors?: ReadonlyArray;\n loading: boolean;\n networkStatus: NetworkStatus;\n error?: ApolloError;\n partial?: boolean;\n};\n\nexport type ApolloCurrentQueryResult = {\n data: T | undefined;\n errors?: ReadonlyArray;\n loading: boolean;\n networkStatus: NetworkStatus;\n error?: ApolloError;\n partial?: boolean;\n stale?: boolean;\n};\n\nexport interface FetchMoreOptions<\n TData = any,\n TVariables = OperationVariables\n> {\n updateQuery: (\n previousQueryResult: TData,\n options: {\n fetchMoreResult?: TData;\n variables?: TVariables;\n },\n ) => TData;\n}\n\nexport interface UpdateQueryOptions {\n variables?: TVariables;\n}\n\nexport const hasError = (\n storeValue: QueryStoreValue,\n policy: ErrorPolicy = 'none',\n) => storeValue && (\n storeValue.networkError ||\n (policy === 'none' && isNonEmptyArray(storeValue.graphQLErrors))\n);\n\nexport class ObservableQuery<\n TData = any,\n TVariables = OperationVariables\n> extends Observable> {\n public options: WatchQueryOptions;\n public readonly queryId: string;\n public readonly queryName?: string;\n /**\n *\n * The current value of the variables for this query. Can change.\n */\n public variables: TVariables;\n\n private shouldSubscribe: boolean;\n private isTornDown: boolean;\n private queryManager: QueryManager;\n private observers = new Set>>();\n private subscriptions = new Set();\n\n private lastResult: ApolloQueryResult;\n private lastResultSnapshot: ApolloQueryResult;\n private lastError: ApolloError;\n\n constructor({\n queryManager,\n options,\n shouldSubscribe = true,\n }: {\n queryManager: QueryManager;\n options: WatchQueryOptions;\n shouldSubscribe?: boolean;\n }) {\n super((observer: Observer>) =>\n this.onSubscribe(observer),\n );\n\n // active state\n this.isTornDown = false;\n\n // query information\n this.options = options;\n this.variables = options.variables || ({} as TVariables);\n this.queryId = queryManager.generateQueryId();\n this.shouldSubscribe = shouldSubscribe;\n\n const opDef = getOperationDefinition(options.query);\n this.queryName = opDef && opDef.name && opDef.name.value;\n\n // related classes\n this.queryManager = queryManager;\n }\n\n public result(): Promise> {\n return new Promise((resolve, reject) => {\n const observer: Observer> = {\n next: (result: ApolloQueryResult) => {\n resolve(result);\n\n // Stop the query within the QueryManager if we can before\n // this function returns.\n //\n // We do this in order to prevent observers piling up within\n // the QueryManager. Notice that we only fully unsubscribe\n // from the subscription in a setTimeout(..., 0) call. This call can\n // actually be handled by the browser at a much later time. If queries\n // are fired in the meantime, observers that should have been removed\n // from the QueryManager will continue to fire, causing an unnecessary\n // performance hit.\n this.observers.delete(observer);\n if (!this.observers.size) {\n this.queryManager.removeQuery(this.queryId);\n }\n\n setTimeout(() => {\n subscription.unsubscribe();\n }, 0);\n },\n error: reject,\n };\n const subscription = this.subscribe(observer);\n });\n }\n\n // XXX remove in the next breaking semver change (3.0)\n // Deprecated, use getCurrentResult()\n public currentResult(): ApolloCurrentResult {\n const result = this.getCurrentResult() as ApolloCurrentResult;\n if (result.data === undefined) {\n result.data = {};\n }\n return result;\n }\n\n /**\n * Return the result of the query from the local cache as well as some fetching status\n * `loading` and `networkStatus` allow to know if a request is in flight\n * `partial` lets you know if the result from the local cache is complete or partial\n * @return {data: Object, error: ApolloError, loading: boolean, networkStatus: number, partial: boolean}\n */\n public getCurrentResult(): ApolloCurrentQueryResult {\n if (this.isTornDown) {\n const { lastResult } = this;\n return {\n data: !this.lastError && lastResult && lastResult.data || void 0,\n error: this.lastError,\n loading: false,\n networkStatus: NetworkStatus.error,\n };\n }\n\n const { data, partial } = this.queryManager.getCurrentQueryResult(this);\n const queryStoreValue = this.queryManager.queryStore.get(this.queryId);\n let result: ApolloQueryResult;\n\n const { fetchPolicy } = this.options;\n\n const isNetworkFetchPolicy =\n fetchPolicy === 'network-only' ||\n fetchPolicy === 'no-cache';\n\n if (queryStoreValue) {\n const { networkStatus } = queryStoreValue;\n\n if (hasError(queryStoreValue, this.options.errorPolicy)) {\n return {\n data: void 0,\n loading: false,\n networkStatus,\n error: new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n }),\n };\n }\n\n // Variables might have been added dynamically at query time, when\n // using `@client @export(as: \"varname\")` for example. When this happens,\n // the variables have been updated in the query store, but not updated on\n // the original `ObservableQuery`. We'll update the observable query\n // variables here to match, so retrieving from the cache doesn't fail.\n if (queryStoreValue.variables) {\n this.options.variables = {\n ...this.options.variables,\n ...(queryStoreValue.variables as TVariables),\n };\n this.variables = this.options.variables;\n }\n\n result = {\n data,\n loading: isNetworkRequestInFlight(networkStatus),\n networkStatus,\n } as ApolloQueryResult;\n\n if (queryStoreValue.graphQLErrors && this.options.errorPolicy === 'all') {\n result.errors = queryStoreValue.graphQLErrors;\n }\n\n } else {\n // We need to be careful about the loading state we show to the user, to try\n // and be vaguely in line with what the user would have seen from .subscribe()\n // but to still provide useful information synchronously when the query\n // will not end up hitting the server.\n // See more: https://github.com/apollostack/apollo-client/issues/707\n // Basically: is there a query in flight right now (modolo the next tick)?\n const loading = isNetworkFetchPolicy ||\n (partial && fetchPolicy !== 'cache-only');\n\n result = {\n data,\n loading,\n networkStatus: loading ? NetworkStatus.loading : NetworkStatus.ready,\n } as ApolloQueryResult;\n }\n\n if (!partial) {\n this.updateLastResult({ ...result, stale: false });\n }\n\n return { ...result, partial };\n }\n\n // Compares newResult to the snapshot we took of this.lastResult when it was\n // first received.\n public isDifferentFromLastResult(newResult: ApolloQueryResult) {\n const { lastResultSnapshot: snapshot } = this;\n return !(\n snapshot &&\n newResult &&\n snapshot.networkStatus === newResult.networkStatus &&\n snapshot.stale === newResult.stale &&\n isEqual(snapshot.data, newResult.data)\n );\n }\n\n // Returns the last result that observer.next was called with. This is not the same as\n // getCurrentResult! If you're not sure which you need, then you probably need getCurrentResult.\n public getLastResult(): ApolloQueryResult {\n return this.lastResult;\n }\n\n public getLastError(): ApolloError {\n return this.lastError;\n }\n\n public resetLastResults(): void {\n delete this.lastResult;\n delete this.lastResultSnapshot;\n delete this.lastError;\n this.isTornDown = false;\n }\n\n public resetQueryStoreErrors() {\n const queryStore = this.queryManager.queryStore.get(this.queryId);\n if (queryStore) {\n queryStore.networkError = null;\n queryStore.graphQLErrors = [];\n }\n }\n\n /**\n * Update the variables of this observable query, and fetch the new results.\n * This method should be preferred over `setVariables` in most use cases.\n *\n * @param variables: The new set of variables. If there are missing variables,\n * the previous values of those variables will be used.\n */\n public refetch(variables?: TVariables): Promise> {\n let { fetchPolicy } = this.options;\n // early return if trying to read from cache during refetch\n if (fetchPolicy === 'cache-only') {\n return Promise.reject(new InvariantError(\n 'cache-only fetchPolicy option should not be used together with query refetch.',\n ));\n }\n\n // Unless the provided fetchPolicy always consults the network\n // (no-cache, network-only, or cache-and-network), override it with\n // network-only to force the refetch for this fetchQuery call.\n if (fetchPolicy !== 'no-cache' &&\n fetchPolicy !== 'cache-and-network') {\n fetchPolicy = 'network-only';\n }\n\n if (!isEqual(this.variables, variables)) {\n // update observable variables\n this.variables = {\n ...this.variables,\n ...variables,\n };\n }\n\n if (!isEqual(this.options.variables, this.variables)) {\n // Update the existing options with new variables\n this.options.variables = {\n ...this.options.variables,\n ...this.variables,\n };\n }\n\n return this.queryManager.fetchQuery(\n this.queryId,\n { ...this.options, fetchPolicy },\n FetchType.refetch,\n ) as Promise>;\n }\n\n public fetchMore(\n fetchMoreOptions: FetchMoreQueryOptions &\n FetchMoreOptions,\n ): Promise> {\n // early return if no update Query\n invariant(\n fetchMoreOptions.updateQuery,\n 'updateQuery option is required. This function defines how to update the query data with the new results.',\n );\n\n const combinedOptions = {\n ...(fetchMoreOptions.query ? fetchMoreOptions : {\n ...this.options,\n ...fetchMoreOptions,\n variables: {\n ...this.variables,\n ...fetchMoreOptions.variables,\n },\n }),\n fetchPolicy: 'network-only',\n } as WatchQueryOptions;\n\n const qid = this.queryManager.generateQueryId();\n\n return this.queryManager\n .fetchQuery(\n qid,\n combinedOptions,\n FetchType.normal,\n this.queryId,\n )\n .then(\n fetchMoreResult => {\n this.updateQuery((previousResult: any) =>\n fetchMoreOptions.updateQuery(previousResult, {\n fetchMoreResult: fetchMoreResult.data as TData,\n variables: combinedOptions.variables as TVariables,\n }),\n );\n this.queryManager.stopQuery(qid);\n return fetchMoreResult as ApolloQueryResult;\n },\n error => {\n this.queryManager.stopQuery(qid);\n throw error;\n },\n );\n }\n\n // XXX the subscription variables are separate from the query variables.\n // if you want to update subscription variables, right now you have to do that separately,\n // and you can only do it by stopping the subscription and then subscribing again with new variables.\n public subscribeToMore<\n TSubscriptionData = TData,\n TSubscriptionVariables = TVariables\n >(\n options: SubscribeToMoreOptions<\n TData,\n TSubscriptionVariables,\n TSubscriptionData\n >,\n ) {\n const subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n })\n .subscribe({\n next: (subscriptionData: { data: TSubscriptionData }) => {\n const { updateQuery } = options;\n if (updateQuery) {\n this.updateQuery(\n (previous, { variables }) =>\n updateQuery(previous, {\n subscriptionData,\n variables,\n }),\n );\n }\n },\n error: (err: any) => {\n if (options.onError) {\n options.onError(err);\n return;\n }\n invariant.error('Unhandled GraphQL subscription error', err);\n },\n });\n\n this.subscriptions.add(subscription);\n\n return () => {\n if (this.subscriptions.delete(subscription)) {\n subscription.unsubscribe();\n }\n };\n }\n\n // Note: if the query is not active (there are no subscribers), the promise\n // will return null immediately.\n public setOptions(\n opts: WatchQueryOptions,\n ): Promise | void> {\n const { fetchPolicy: oldFetchPolicy } = this.options;\n this.options = {\n ...this.options,\n ...opts,\n } as WatchQueryOptions;\n\n if (opts.pollInterval) {\n this.startPolling(opts.pollInterval);\n } else if (opts.pollInterval === 0) {\n this.stopPolling();\n }\n\n const { fetchPolicy } = opts;\n\n return this.setVariables(\n this.options.variables as TVariables,\n // Try to fetch the query if fetchPolicy changed from either cache-only\n // or standby to something else, or changed to network-only.\n oldFetchPolicy !== fetchPolicy && (\n oldFetchPolicy === 'cache-only' ||\n oldFetchPolicy === 'standby' ||\n fetchPolicy === 'network-only'\n ),\n opts.fetchResults,\n );\n }\n\n /**\n * This is for *internal* use only. Most users should instead use `refetch`\n * in order to be properly notified of results even when they come from cache.\n *\n * Update the variables of this observable query, and fetch the new results\n * if they've changed. If you want to force new results, use `refetch`.\n *\n * Note: the `next` callback will *not* fire if the variables have not changed\n * or if the result is coming from cache.\n *\n * Note: the promise will return the old results immediately if the variables\n * have not changed.\n *\n * Note: the promise will return null immediately if the query is not active\n * (there are no subscribers).\n *\n * @private\n *\n * @param variables: The new set of variables. If there are missing variables,\n * the previous values of those variables will be used.\n *\n * @param tryFetch: Try and fetch new results even if the variables haven't\n * changed (we may still just hit the store, but if there's nothing in there\n * this will refetch)\n *\n * @param fetchResults: Option to ignore fetching results when updating variables\n */\n public setVariables(\n variables: TVariables,\n tryFetch: boolean = false,\n fetchResults = true,\n ): Promise | void> {\n // since setVariables restarts the subscription, we reset the tornDown status\n this.isTornDown = false;\n\n variables = variables || this.variables;\n\n if (!tryFetch && isEqual(variables, this.variables)) {\n // If we have no observers, then we don't actually want to make a network\n // request. As soon as someone observes the query, the request will kick\n // off. For now, we just store any changes. (See #1077)\n return this.observers.size && fetchResults\n ? this.result()\n : Promise.resolve();\n }\n\n this.variables = this.options.variables = variables;\n\n // See comment above\n if (!this.observers.size) {\n return Promise.resolve();\n }\n\n // Use the same options as before, but with new variables\n return this.queryManager.fetchQuery(\n this.queryId,\n this.options,\n ) as Promise>;\n }\n\n public updateQuery(\n mapFn: (\n previousQueryResult: TData,\n options: UpdateQueryOptions,\n ) => TData,\n ): void {\n const { queryManager } = this;\n const {\n previousResult,\n variables,\n document,\n } = queryManager.getQueryWithPreviousResult(\n this.queryId,\n );\n\n const newResult = tryFunctionOrLogError(() =>\n mapFn(previousResult, { variables }),\n );\n\n if (newResult) {\n queryManager.dataStore.markUpdateQueryResult(\n document,\n variables,\n newResult,\n );\n queryManager.broadcastQueries();\n }\n }\n\n public stopPolling() {\n this.queryManager.stopPollingQuery(this.queryId);\n this.options.pollInterval = undefined;\n }\n\n public startPolling(pollInterval: number) {\n assertNotCacheFirstOrOnly(this);\n this.options.pollInterval = pollInterval;\n this.queryManager.startPollingQuery(this.options, this.queryId);\n }\n\n private updateLastResult(newResult: ApolloQueryResult) {\n const previousResult = this.lastResult;\n this.lastResult = newResult;\n this.lastResultSnapshot = this.queryManager.assumeImmutableResults\n ? newResult\n : cloneDeep(newResult);\n return previousResult;\n }\n\n private onSubscribe(observer: Observer>) {\n // Zen Observable has its own error function, so in order to log correctly\n // we need to provide a custom error callback.\n try {\n var subObserver = (observer as any)._subscription._observer;\n if (subObserver && !subObserver.error) {\n subObserver.error = defaultSubscriptionObserverErrorCallback;\n }\n } catch {}\n\n const first = !this.observers.size;\n this.observers.add(observer);\n\n // Deliver initial result\n if (observer.next && this.lastResult) observer.next(this.lastResult);\n if (observer.error && this.lastError) observer.error(this.lastError);\n\n // setup the query if it hasn't been done before\n if (first) {\n this.setUpQuery();\n }\n\n return () => {\n if (this.observers.delete(observer) && !this.observers.size) {\n this.tearDownQuery();\n }\n };\n }\n\n private setUpQuery() {\n const { queryManager, queryId } = this;\n\n if (this.shouldSubscribe) {\n queryManager.addObservableQuery(queryId, this);\n }\n\n if (this.options.pollInterval) {\n assertNotCacheFirstOrOnly(this);\n queryManager.startPollingQuery(this.options, queryId);\n }\n\n const onError = (error: ApolloError) => {\n // Since we don't get the current result on errors, only the error, we\n // must mirror the updates that occur in QueryStore.markQueryError here\n this.updateLastResult({\n ...this.lastResult,\n errors: error.graphQLErrors,\n networkStatus: NetworkStatus.error,\n loading: false,\n });\n iterateObserversSafely(this.observers, 'error', this.lastError = error);\n };\n\n queryManager.observeQuery(queryId, this.options, {\n next: (result: ApolloQueryResult) => {\n if (this.lastError || this.isDifferentFromLastResult(result)) {\n const previousResult = this.updateLastResult(result);\n const { query, variables, fetchPolicy } = this.options;\n\n // Before calling `next` on each observer, we need to first see if\n // the query is using `@client @export` directives, and update\n // any variables that might have changed. If `@export` variables have\n // changed, and the query is calling against both local and remote\n // data, a refetch is needed to pull in new data, using the\n // updated `@export` variables.\n if (queryManager.transform(query).hasClientExports) {\n queryManager.getLocalState().addExportedVariables(\n query,\n variables,\n ).then((variables: TVariables) => {\n const previousVariables = this.variables;\n this.variables = this.options.variables = variables;\n if (\n !result.loading &&\n previousResult &&\n fetchPolicy !== 'cache-only' &&\n queryManager.transform(query).serverQuery &&\n !isEqual(previousVariables, variables)\n ) {\n this.refetch();\n } else {\n iterateObserversSafely(this.observers, 'next', result);\n }\n });\n } else {\n iterateObserversSafely(this.observers, 'next', result);\n }\n }\n },\n error: onError,\n }).catch(onError);\n }\n\n private tearDownQuery() {\n const { queryManager } = this;\n\n this.isTornDown = true;\n queryManager.stopPollingQuery(this.queryId);\n\n // stop all active GraphQL subscriptions\n this.subscriptions.forEach(sub => sub.unsubscribe());\n this.subscriptions.clear();\n\n queryManager.removeObservableQuery(this.queryId);\n queryManager.stopQuery(this.queryId);\n\n this.observers.clear();\n }\n}\n\nfunction defaultSubscriptionObserverErrorCallback(error: ApolloError) {\n invariant.error('Unhandled error', error.message, error.stack);\n}\n\nfunction iterateObserversSafely(\n observers: Set>,\n method: keyof Observer,\n argument?: A,\n) {\n // In case observers is modified during iteration, we need to commit to the\n // original elements, which also provides an opportunity to filter them down\n // to just the observers with the given method.\n const observersWithMethod: Observer[] = [];\n observers.forEach(obs => obs[method] && observersWithMethod.push(obs));\n observersWithMethod.forEach(obs => (obs as any)[method](argument));\n}\n\nfunction assertNotCacheFirstOrOnly(\n obsQuery: ObservableQuery,\n) {\n const { fetchPolicy } = obsQuery.options;\n invariant(\n fetchPolicy !== 'cache-first' && fetchPolicy !== 'cache-only',\n 'Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.',\n );\n}\n","import { DocumentNode } from 'graphql';\n\nexport class MutationStore {\n private store: { [mutationId: string]: MutationStoreValue } = {};\n\n public getStore(): { [mutationId: string]: MutationStoreValue } {\n return this.store;\n }\n\n public get(mutationId: string): MutationStoreValue {\n return this.store[mutationId];\n }\n\n public initMutation(\n mutationId: string,\n mutation: DocumentNode,\n variables: Object | undefined,\n ) {\n this.store[mutationId] = {\n mutation,\n variables: variables || {},\n loading: true,\n error: null,\n };\n }\n\n public markMutationError(mutationId: string, error: Error) {\n const mutation = this.store[mutationId];\n if (mutation) {\n mutation.loading = false;\n mutation.error = error;\n }\n }\n\n public markMutationResult(mutationId: string) {\n const mutation = this.store[mutationId];\n if (mutation) {\n mutation.loading = false;\n mutation.error = null;\n }\n }\n\n public reset() {\n this.store = {};\n }\n}\n\nexport interface MutationStoreValue {\n mutation: DocumentNode;\n variables: Object;\n loading: boolean;\n error: Error | null;\n}\n","import { DocumentNode, GraphQLError, ExecutionResult } from 'graphql';\nimport { isEqual } from 'apollo-utilities';\nimport { invariant } from 'ts-invariant';\nimport { NetworkStatus } from '../core/networkStatus';\nimport { isNonEmptyArray } from '../util/arrays';\n\nexport type QueryStoreValue = {\n document: DocumentNode;\n variables: Object;\n previousVariables?: Object | null;\n networkStatus: NetworkStatus;\n networkError?: Error | null;\n graphQLErrors?: ReadonlyArray;\n metadata: any;\n};\n\nexport class QueryStore {\n private store: { [queryId: string]: QueryStoreValue } = {};\n\n public getStore(): { [queryId: string]: QueryStoreValue } {\n return this.store;\n }\n\n public get(queryId: string): QueryStoreValue {\n return this.store[queryId];\n }\n\n public initQuery(query: {\n queryId: string;\n document: DocumentNode;\n storePreviousVariables: boolean;\n variables: Object;\n isPoll: boolean;\n isRefetch: boolean;\n metadata: any;\n fetchMoreForQueryId: string | undefined;\n }) {\n const previousQuery = this.store[query.queryId];\n\n // XXX we're throwing an error here to catch bugs where a query gets overwritten by a new one.\n // we should implement a separate action for refetching so that QUERY_INIT may never overwrite\n // an existing query (see also: https://github.com/apollostack/apollo-client/issues/732)\n invariant(\n !previousQuery ||\n previousQuery.document === query.document ||\n isEqual(previousQuery.document, query.document),\n 'Internal Error: may not update existing query string in store',\n );\n\n let isSetVariables = false;\n\n let previousVariables: Object | null = null;\n if (\n query.storePreviousVariables &&\n previousQuery &&\n previousQuery.networkStatus !== NetworkStatus.loading\n // if the previous query was still loading, we don't want to remember it at all.\n ) {\n if (!isEqual(previousQuery.variables, query.variables)) {\n isSetVariables = true;\n previousVariables = previousQuery.variables;\n }\n }\n\n // TODO break this out into a separate function\n let networkStatus;\n if (isSetVariables) {\n networkStatus = NetworkStatus.setVariables;\n } else if (query.isPoll) {\n networkStatus = NetworkStatus.poll;\n } else if (query.isRefetch) {\n networkStatus = NetworkStatus.refetch;\n // TODO: can we determine setVariables here if it's a refetch and the variables have changed?\n } else {\n networkStatus = NetworkStatus.loading;\n }\n\n let graphQLErrors: ReadonlyArray = [];\n if (previousQuery && previousQuery.graphQLErrors) {\n graphQLErrors = previousQuery.graphQLErrors;\n }\n\n // XXX right now if QUERY_INIT is fired twice, like in a refetch situation, we just overwrite\n // the store. We probably want a refetch action instead, because I suspect that if you refetch\n // before the initial fetch is done, you'll get an error.\n this.store[query.queryId] = {\n document: query.document,\n variables: query.variables,\n previousVariables,\n networkError: null,\n graphQLErrors: graphQLErrors,\n networkStatus,\n metadata: query.metadata,\n };\n\n // If the action had a `moreForQueryId` property then we need to set the\n // network status on that query as well to `fetchMore`.\n //\n // We have a complement to this if statement in the query result and query\n // error action branch, but importantly *not* in the client result branch.\n // This is because the implementation of `fetchMore` *always* sets\n // `fetchPolicy` to `network-only` so we would never have a client result.\n if (\n typeof query.fetchMoreForQueryId === 'string' &&\n this.store[query.fetchMoreForQueryId]\n ) {\n this.store[query.fetchMoreForQueryId].networkStatus =\n NetworkStatus.fetchMore;\n }\n }\n\n public markQueryResult(\n queryId: string,\n result: ExecutionResult,\n fetchMoreForQueryId: string | undefined,\n ) {\n if (!this.store || !this.store[queryId]) return;\n\n this.store[queryId].networkError = null;\n this.store[queryId].graphQLErrors = isNonEmptyArray(result.errors) ? result.errors : [];\n this.store[queryId].previousVariables = null;\n this.store[queryId].networkStatus = NetworkStatus.ready;\n\n // If we have a `fetchMoreForQueryId` then we need to update the network\n // status for that query. See the branch for query initialization for more\n // explanation about this process.\n if (\n typeof fetchMoreForQueryId === 'string' &&\n this.store[fetchMoreForQueryId]\n ) {\n this.store[fetchMoreForQueryId].networkStatus = NetworkStatus.ready;\n }\n }\n\n public markQueryError(\n queryId: string,\n error: Error,\n fetchMoreForQueryId: string | undefined,\n ) {\n if (!this.store || !this.store[queryId]) return;\n\n this.store[queryId].networkError = error;\n this.store[queryId].networkStatus = NetworkStatus.error;\n\n // If we have a `fetchMoreForQueryId` then we need to update the network\n // status for that query. See the branch for query initialization for more\n // explanation about this process.\n if (typeof fetchMoreForQueryId === 'string') {\n this.markQueryResultClient(fetchMoreForQueryId, true);\n }\n }\n\n public markQueryResultClient(queryId: string, complete: boolean) {\n const storeValue = this.store && this.store[queryId];\n if (storeValue) {\n storeValue.networkError = null;\n storeValue.previousVariables = null;\n if (complete) {\n storeValue.networkStatus = NetworkStatus.ready;\n }\n }\n }\n\n public stopQuery(queryId: string) {\n delete this.store[queryId];\n }\n\n public reset(observableQueryIds: string[]) {\n Object.keys(this.store).forEach(queryId => {\n if (observableQueryIds.indexOf(queryId) < 0) {\n this.stopQuery(queryId);\n } else {\n // XXX set loading to true so listeners don't trigger unless they want results with partial data\n this.store[queryId].networkStatus = NetworkStatus.loading;\n }\n });\n }\n}\n","import {\n DocumentNode,\n OperationDefinitionNode,\n SelectionSetNode,\n SelectionNode,\n InlineFragmentNode,\n FragmentDefinitionNode,\n FieldNode,\n ASTNode,\n} from 'graphql';\nimport { visit, BREAK } from 'graphql/language/visitor';\n\nimport { ApolloCache } from 'apollo-cache';\nimport {\n getMainDefinition,\n buildQueryFromSelectionSet,\n hasDirectives,\n removeClientSetsFromDocument,\n mergeDeep,\n mergeDeepArray,\n FragmentMap,\n argumentsObjectFromField,\n resultKeyNameFromField,\n getFragmentDefinitions,\n createFragmentMap,\n shouldInclude,\n isField,\n isInlineFragment,\n} from 'apollo-utilities';\nimport { FetchResult } from 'apollo-link';\n\nimport { invariant } from 'ts-invariant';\n\nimport ApolloClient from '../ApolloClient';\nimport { Resolvers, OperationVariables } from './types';\nimport { capitalizeFirstLetter } from '../util/capitalizeFirstLetter';\n\nexport type Resolver = (\n rootValue?: any,\n args?: any,\n context?: any,\n info?: {\n field: FieldNode;\n fragmentMap: FragmentMap;\n },\n) => any;\n\nexport type VariableMap = { [name: string]: any };\n\nexport type FragmentMatcher = (\n rootValue: any,\n typeCondition: string,\n context: any,\n) => boolean;\n\nexport type ExecContext = {\n fragmentMap: FragmentMap;\n context: any;\n variables: VariableMap;\n fragmentMatcher: FragmentMatcher;\n defaultOperationType: string;\n exportedVariables: Record;\n onlyRunForcedResolvers: boolean;\n};\n\nexport type LocalStateOptions = {\n cache: ApolloCache;\n client?: ApolloClient;\n resolvers?: Resolvers | Resolvers[];\n fragmentMatcher?: FragmentMatcher;\n};\n\nexport class LocalState {\n private cache: ApolloCache;\n private client: ApolloClient;\n private resolvers?: Resolvers;\n private fragmentMatcher: FragmentMatcher;\n\n constructor({\n cache,\n client,\n resolvers,\n fragmentMatcher,\n }: LocalStateOptions) {\n this.cache = cache;\n\n if (client) {\n this.client = client;\n }\n\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n\n public addResolvers(resolvers: Resolvers | Resolvers[]) {\n this.resolvers = this.resolvers || {};\n if (Array.isArray(resolvers)) {\n resolvers.forEach(resolverGroup => {\n this.resolvers = mergeDeep(this.resolvers, resolverGroup);\n });\n } else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n }\n\n public setResolvers(resolvers: Resolvers | Resolvers[]) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n }\n\n public getResolvers() {\n return this.resolvers || {};\n }\n\n // Run local client resolvers against the incoming query and remote data.\n // Locally resolved field values are merged with the incoming remote data,\n // and returned. Note that locally resolved fields will overwrite\n // remote data using the same field name.\n public async runResolvers({\n document,\n remoteResult,\n context,\n variables,\n onlyRunForcedResolvers = false,\n }: {\n document: DocumentNode | null;\n remoteResult: FetchResult;\n context?: Record;\n variables?: Record;\n onlyRunForcedResolvers?: boolean;\n }): Promise> {\n if (document) {\n return this.resolveDocument(\n document,\n remoteResult.data,\n context,\n variables,\n this.fragmentMatcher,\n onlyRunForcedResolvers,\n ).then(localResult => ({\n ...remoteResult,\n data: localResult.result,\n }));\n }\n\n return remoteResult;\n }\n\n public setFragmentMatcher(fragmentMatcher: FragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n }\n\n public getFragmentMatcher(): FragmentMatcher {\n return this.fragmentMatcher;\n }\n\n // Client queries contain everything in the incoming document (if a @client\n // directive is found).\n public clientQuery(document: DocumentNode) {\n if (hasDirectives(['client'], document)) {\n if (this.resolvers) {\n return document;\n }\n invariant.warn(\n 'Found @client directives in a query but no ApolloClient resolvers ' +\n 'were specified. This means ApolloClient local resolver handling ' +\n 'has been disabled, and @client directives will be passed through ' +\n 'to your link chain.',\n );\n }\n return null;\n }\n\n // Server queries are stripped of all @client based selection sets.\n public serverQuery(document: DocumentNode) {\n return this.resolvers ? removeClientSetsFromDocument(document) : document;\n }\n\n public prepareContext(context = {}) {\n const { cache } = this;\n\n const newContext = {\n ...context,\n cache,\n // Getting an entry's cache key is useful for local state resolvers.\n getCacheKey: (obj: { __typename: string; id: string | number }) => {\n if ((cache as any).config) {\n return (cache as any).config.dataIdFromObject(obj);\n } else {\n invariant(false,\n 'To use context.getCacheKey, you need to use a cache that has ' +\n 'a configurable dataIdFromObject, like apollo-cache-inmemory.',\n );\n }\n },\n };\n\n return newContext;\n }\n\n // To support `@client @export(as: \"someVar\")` syntax, we'll first resolve\n // @client @export fields locally, then pass the resolved values back to be\n // used alongside the original operation variables.\n public async addExportedVariables(\n document: DocumentNode,\n variables: OperationVariables = {},\n context = {},\n ) {\n if (document) {\n return this.resolveDocument(\n document,\n this.buildRootValueFromCache(document, variables) || {},\n this.prepareContext(context),\n variables,\n ).then(data => ({\n ...variables,\n ...data.exportedVariables,\n }));\n }\n\n return {\n ...variables,\n };\n }\n\n public shouldForceResolvers(document: ASTNode) {\n let forceResolvers = false;\n visit(document, {\n Directive: {\n enter(node) {\n if (node.name.value === 'client' && node.arguments) {\n forceResolvers = node.arguments.some(\n arg =>\n arg.name.value === 'always' &&\n arg.value.kind === 'BooleanValue' &&\n arg.value.value === true,\n );\n if (forceResolvers) {\n return BREAK;\n }\n }\n },\n },\n });\n return forceResolvers;\n }\n\n // Query the cache and return matching data.\n private buildRootValueFromCache(\n document: DocumentNode,\n variables?: Record,\n ) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n }\n\n private async resolveDocument(\n document: DocumentNode,\n rootValue: TData,\n context: any = {},\n variables: VariableMap = {},\n fragmentMatcher: FragmentMatcher = () => true,\n onlyRunForcedResolvers: boolean = false,\n ) {\n const mainDefinition = getMainDefinition(document);\n const fragments = getFragmentDefinitions(document);\n const fragmentMap = createFragmentMap(fragments);\n\n const definitionOperation = (mainDefinition as OperationDefinitionNode)\n .operation;\n\n const defaultOperationType = definitionOperation\n ? capitalizeFirstLetter(definitionOperation)\n : 'Query';\n\n const { cache, client } = this;\n const execContext: ExecContext = {\n fragmentMap,\n context: {\n ...context,\n cache,\n client,\n },\n variables,\n fragmentMatcher,\n defaultOperationType,\n exportedVariables: {},\n onlyRunForcedResolvers,\n };\n\n return this.resolveSelectionSet(\n mainDefinition.selectionSet,\n rootValue,\n execContext,\n ).then(result => ({\n result,\n exportedVariables: execContext.exportedVariables,\n }));\n }\n\n private async resolveSelectionSet(\n selectionSet: SelectionSetNode,\n rootValue: TData,\n execContext: ExecContext,\n ) {\n const { fragmentMap, context, variables } = execContext;\n const resultsToMerge: TData[] = [rootValue];\n\n const execute = async (selection: SelectionNode): Promise => {\n if (!shouldInclude(selection, variables)) {\n // Skip this entirely.\n return;\n }\n\n if (isField(selection)) {\n return this.resolveField(selection, rootValue, execContext).then(\n fieldResult => {\n if (typeof fieldResult !== 'undefined') {\n resultsToMerge.push({\n [resultKeyNameFromField(selection)]: fieldResult,\n } as TData);\n }\n },\n );\n }\n\n let fragment: InlineFragmentNode | FragmentDefinitionNode;\n\n if (isInlineFragment(selection)) {\n fragment = selection;\n } else {\n // This is a named fragment.\n fragment = fragmentMap[selection.name.value];\n invariant(fragment, `No fragment named ${selection.name.value}`);\n }\n\n if (fragment && fragment.typeCondition) {\n const typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return this.resolveSelectionSet(\n fragment.selectionSet,\n rootValue,\n execContext,\n ).then(fragmentResult => {\n resultsToMerge.push(fragmentResult);\n });\n }\n }\n };\n\n return Promise.all(selectionSet.selections.map(execute)).then(function() {\n return mergeDeepArray(resultsToMerge);\n });\n }\n\n private async resolveField(\n field: FieldNode,\n rootValue: any,\n execContext: ExecContext,\n ): Promise {\n const { variables } = execContext;\n const fieldName = field.name.value;\n const aliasedFieldName = resultKeyNameFromField(field);\n const aliasUsed = fieldName !== aliasedFieldName;\n const defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n let resultPromise = Promise.resolve(defaultResult);\n\n // Usually all local resolvers are run when passing through here, but\n // if we've specifically identified that we only want to run forced\n // resolvers (that is, resolvers for fields marked with\n // `@client(always: true)`), then we'll skip running non-forced resolvers.\n if (\n !execContext.onlyRunForcedResolvers ||\n this.shouldForceResolvers(field)\n ) {\n const resolverType =\n rootValue.__typename || execContext.defaultOperationType;\n const resolverMap = this.resolvers && this.resolvers[resolverType];\n if (resolverMap) {\n const resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n if (resolve) {\n resultPromise = Promise.resolve(resolve(\n rootValue,\n argumentsObjectFromField(field, variables),\n execContext.context,\n { field, fragmentMap: execContext.fragmentMap },\n ));\n }\n }\n }\n\n return resultPromise.then((result = defaultResult) => {\n // If an @export directive is associated with the current field, store\n // the `as` export variable name and current result for later use.\n if (field.directives) {\n field.directives.forEach(directive => {\n if (directive.name.value === 'export' && directive.arguments) {\n directive.arguments.forEach(arg => {\n if (arg.name.value === 'as' && arg.value.kind === 'StringValue') {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n\n // Handle all scalar types here.\n if (!field.selectionSet) {\n return result;\n }\n\n // From here down, the field has a selection set, which means it's trying\n // to query a GraphQLObjectType.\n if (result == null) {\n // Basically any field in a GraphQL response can be null, or missing\n return result;\n }\n\n if (Array.isArray(result)) {\n return this.resolveSubSelectedArray(field, result, execContext);\n }\n\n // Returned value is an object, and the query has a sub-selection. Recurse.\n if (field.selectionSet) {\n return this.resolveSelectionSet(\n field.selectionSet,\n result,\n execContext,\n );\n }\n });\n }\n\n private resolveSubSelectedArray(\n field: FieldNode,\n result: any[],\n execContext: ExecContext,\n ): any {\n return Promise.all(\n result.map(item => {\n if (item === null) {\n return null;\n }\n\n // This is a nested array, recurse.\n if (Array.isArray(item)) {\n return this.resolveSubSelectedArray(field, item, execContext);\n }\n\n // This is an object, run the selection set on it.\n if (field.selectionSet) {\n return this.resolveSelectionSet(field.selectionSet, item, execContext);\n }\n }),\n );\n }\n}\n","export function capitalizeFirstLetter(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n","import { Observable, Observer, Subscription } from './Observable';\n\n// Returns a normal Observable that can have any number of subscribers,\n// while ensuring the original Observable gets subscribed to at most once.\nexport function multiplex(inner: Observable): Observable {\n const observers = new Set>();\n let sub: Subscription | null = null;\n return new Observable(observer => {\n observers.add(observer);\n sub = sub || inner.subscribe({\n next(value) {\n observers.forEach(obs => obs.next && obs.next(value));\n },\n error(error) {\n observers.forEach(obs => obs.error && obs.error(error));\n },\n complete() {\n observers.forEach(obs => obs.complete && obs.complete());\n },\n });\n return () => {\n if (observers.delete(observer) && !observers.size && sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n });\n}\n\n// Like Observable.prototype.map, except that the mapping function can\n// optionally return a Promise (or be async).\nexport function asyncMap(\n observable: Observable,\n mapFn: (value: V) => R | Promise,\n): Observable {\n return new Observable(observer => {\n const { next, error, complete } = observer;\n let activeNextCount = 0;\n let completed = false;\n\n const handler: Observer = {\n next(value) {\n ++activeNextCount;\n new Promise(resolve => {\n resolve(mapFn(value));\n }).then(\n result => {\n --activeNextCount;\n next && next.call(observer, result);\n completed && handler.complete!();\n },\n e => {\n --activeNextCount;\n error && error.call(observer, e);\n },\n );\n },\n error(e) {\n error && error.call(observer, e);\n },\n complete() {\n completed = true;\n if (!activeNextCount) {\n complete && complete.call(observer);\n }\n },\n };\n\n const sub = observable.subscribe(handler);\n return () => sub.unsubscribe();\n });\n}\n","import { execute, ApolloLink, FetchResult } from 'apollo-link';\nimport { DocumentNode } from 'graphql';\nimport { Cache } from 'apollo-cache';\nimport {\n getDefaultValues,\n getOperationDefinition,\n getOperationName,\n hasDirectives,\n graphQLResultHasError,\n hasClientExports,\n removeConnectionDirectiveFromDocument,\n canUseWeakMap,\n} from 'apollo-utilities';\n\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport { isApolloError, ApolloError } from '../errors/ApolloError';\nimport { Observer, Subscription, Observable } from '../util/Observable';\nimport { QueryWithUpdater, DataStore } from '../data/store';\nimport { MutationStore } from '../data/mutations';\nimport { QueryStore, QueryStoreValue } from '../data/queries';\n\nimport {\n QueryOptions,\n WatchQueryOptions,\n SubscriptionOptions,\n MutationOptions,\n ErrorPolicy,\n} from './watchQueryOptions';\nimport { ObservableQuery } from './ObservableQuery';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport {\n QueryListener,\n ApolloQueryResult,\n FetchType,\n OperationVariables,\n} from './types';\nimport { LocalState } from './LocalState';\nimport { asyncMap, multiplex } from '../util/observables';\nimport { isNonEmptyArray } from '../util/arrays';\n\nconst { hasOwnProperty } = Object.prototype;\n\nexport interface QueryInfo {\n listeners: Set;\n invalidated: boolean;\n newData: Cache.DiffResult | null;\n document: DocumentNode | null;\n lastRequestId: number;\n // A map going from queryId to an observer for a query issued by watchQuery. We use\n // these to keep track of queries that are inflight and error on the observers associated\n // with them in case of some destabalizing action (e.g. reset of the Apollo store).\n observableQuery: ObservableQuery | null;\n subscriptions: Set;\n cancel?: () => void;\n}\n\nexport class QueryManager {\n public link: ApolloLink;\n public mutationStore: MutationStore = new MutationStore();\n public queryStore: QueryStore = new QueryStore();\n public dataStore: DataStore;\n public readonly assumeImmutableResults: boolean;\n\n private queryDeduplication: boolean;\n private clientAwareness: Record = {};\n private localState: LocalState;\n\n private onBroadcast: () => void;\n\n private ssrMode: boolean;\n\n // let's not start at zero to avoid pain with bad checks\n private idCounter = 1;\n\n // XXX merge with ObservableQuery but that needs to be expanded to support mutations and\n // subscriptions as well\n private queries: Map = new Map();\n\n // A map of Promise reject functions for fetchQuery promises that have not\n // yet been resolved, used to keep track of in-flight queries so that we can\n // reject them in case a destabilizing event occurs (e.g. Apollo store reset).\n // The key is in the format of `query:${queryId}` or `fetchRequest:${queryId}`,\n // depending on where the promise's rejection function was created from.\n private fetchQueryRejectFns = new Map();\n\n constructor({\n link,\n queryDeduplication = false,\n store,\n onBroadcast = () => undefined,\n ssrMode = false,\n clientAwareness = {},\n localState,\n assumeImmutableResults,\n }: {\n link: ApolloLink;\n queryDeduplication?: boolean;\n store: DataStore;\n onBroadcast?: () => void;\n ssrMode?: boolean;\n clientAwareness?: Record;\n localState?: LocalState;\n assumeImmutableResults?: boolean;\n }) {\n this.link = link;\n this.queryDeduplication = queryDeduplication;\n this.dataStore = store;\n this.onBroadcast = onBroadcast;\n this.clientAwareness = clientAwareness;\n this.localState = localState || new LocalState({ cache: store.getCache() });\n this.ssrMode = ssrMode;\n this.assumeImmutableResults = !!assumeImmutableResults;\n }\n\n /**\n * Call this method to terminate any active query processes, making it safe\n * to dispose of this QueryManager instance.\n */\n public stop() {\n this.queries.forEach((_info, queryId) => {\n this.stopQueryNoBroadcast(queryId);\n });\n\n this.fetchQueryRejectFns.forEach(reject => {\n reject(\n new InvariantError('QueryManager stopped while query was in flight'),\n );\n });\n }\n\n public async mutate({\n mutation,\n variables,\n optimisticResponse,\n updateQueries: updateQueriesByName,\n refetchQueries = [],\n awaitRefetchQueries = false,\n update: updateWithProxyFn,\n errorPolicy = 'none',\n fetchPolicy,\n context = {},\n }: MutationOptions): Promise> {\n invariant(\n mutation,\n 'mutation option is required. You must specify your GraphQL document in the mutation option.',\n );\n\n invariant(\n !fetchPolicy || fetchPolicy === 'no-cache',\n \"Mutations only support a 'no-cache' fetchPolicy. If you don't want to disable the cache, remove your fetchPolicy setting to proceed with the default mutation behavior.\"\n );\n\n const mutationId = this.generateQueryId();\n mutation = this.transform(mutation).document;\n\n this.setQuery(mutationId, () => ({ document: mutation }));\n\n variables = this.getVariables(mutation, variables);\n\n if (this.transform(mutation).hasClientExports) {\n variables = await this.localState.addExportedVariables(mutation, variables, context);\n }\n\n // Create a map of update queries by id to the query instead of by name.\n const generateUpdateQueriesInfo: () => {\n [queryId: string]: QueryWithUpdater;\n } = () => {\n const ret: { [queryId: string]: QueryWithUpdater } = {};\n\n if (updateQueriesByName) {\n this.queries.forEach(({ observableQuery }, queryId) => {\n if (observableQuery) {\n const { queryName } = observableQuery;\n if (\n queryName &&\n hasOwnProperty.call(updateQueriesByName, queryName)\n ) {\n ret[queryId] = {\n updater: updateQueriesByName[queryName],\n query: this.queryStore.get(queryId),\n };\n }\n }\n });\n }\n\n return ret;\n };\n\n this.mutationStore.initMutation(\n mutationId,\n mutation,\n variables,\n );\n\n this.dataStore.markMutationInit({\n mutationId,\n document: mutation,\n variables,\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n optimisticResponse,\n });\n\n this.broadcastQueries();\n\n const self = this;\n\n return new Promise((resolve, reject) => {\n let storeResult: FetchResult | null;\n let error: ApolloError;\n\n self.getObservableFromLink(\n mutation,\n {\n ...context,\n optimisticResponse,\n },\n variables,\n false,\n ).subscribe({\n next(result: FetchResult) {\n if (graphQLResultHasError(result) && errorPolicy === 'none') {\n error = new ApolloError({\n graphQLErrors: result.errors,\n });\n return;\n }\n\n self.mutationStore.markMutationResult(mutationId);\n\n if (fetchPolicy !== 'no-cache') {\n self.dataStore.markMutationResult({\n mutationId,\n result,\n document: mutation,\n variables,\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n });\n }\n\n storeResult = result;\n },\n\n error(err: Error) {\n self.mutationStore.markMutationError(mutationId, err);\n self.dataStore.markMutationComplete({\n mutationId,\n optimisticResponse,\n });\n self.broadcastQueries();\n self.setQuery(mutationId, () => ({ document: null }));\n reject(\n new ApolloError({\n networkError: err,\n }),\n );\n },\n\n complete() {\n if (error) {\n self.mutationStore.markMutationError(mutationId, error);\n }\n\n self.dataStore.markMutationComplete({\n mutationId,\n optimisticResponse,\n });\n\n self.broadcastQueries();\n\n if (error) {\n reject(error);\n return;\n }\n\n // allow for conditional refetches\n // XXX do we want to make this the only API one day?\n if (typeof refetchQueries === 'function') {\n refetchQueries = refetchQueries(storeResult!);\n }\n\n const refetchQueryPromises: Promise<\n ApolloQueryResult[] | ApolloQueryResult<{}>\n >[] = [];\n\n if (isNonEmptyArray(refetchQueries)) {\n refetchQueries.forEach(refetchQuery => {\n if (typeof refetchQuery === 'string') {\n self.queries.forEach(({ observableQuery }) => {\n if (\n observableQuery &&\n observableQuery.queryName === refetchQuery\n ) {\n refetchQueryPromises.push(observableQuery.refetch());\n }\n });\n } else {\n const queryOptions: QueryOptions = {\n query: refetchQuery.query,\n variables: refetchQuery.variables,\n fetchPolicy: 'network-only',\n };\n\n if (refetchQuery.context) {\n queryOptions.context = refetchQuery.context;\n }\n\n refetchQueryPromises.push(self.query(queryOptions));\n }\n });\n }\n\n Promise.all(\n awaitRefetchQueries ? refetchQueryPromises : [],\n ).then(() => {\n self.setQuery(mutationId, () => ({ document: null }));\n\n if (\n errorPolicy === 'ignore' &&\n storeResult &&\n graphQLResultHasError(storeResult)\n ) {\n delete storeResult.errors;\n }\n\n resolve(storeResult!);\n });\n },\n });\n });\n }\n\n public async fetchQuery(\n queryId: string,\n options: WatchQueryOptions,\n fetchType?: FetchType,\n // This allows us to track if this is a query spawned by a `fetchMore`\n // call for another query. We need this data to compute the `fetchMore`\n // network status for the query this is fetching for.\n fetchMoreForQueryId?: string,\n ): Promise> {\n const {\n metadata = null,\n fetchPolicy = 'cache-first', // cache-first is the default fetch policy.\n context = {},\n } = options;\n\n const query = this.transform(options.query).document;\n\n let variables = this.getVariables(query, options.variables);\n\n if (this.transform(query).hasClientExports) {\n variables = await this.localState.addExportedVariables(query, variables, context);\n }\n\n options = { ...options, variables };\n\n let storeResult: any;\n const isNetworkOnly =\n fetchPolicy === 'network-only' || fetchPolicy === 'no-cache';\n let needToFetch = isNetworkOnly;\n\n // Unless we are completely skipping the cache, we want to diff the query\n // against the cache before we fetch it from the network interface.\n if (!isNetworkOnly) {\n const { complete, result } = this.dataStore.getCache().diff({\n query,\n variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n // If we're in here, only fetch if we have missing fields\n needToFetch = !complete || fetchPolicy === 'cache-and-network';\n storeResult = result;\n }\n\n let shouldFetch =\n needToFetch && fetchPolicy !== 'cache-only' && fetchPolicy !== 'standby';\n\n // we need to check to see if this is an operation that uses the @live directive\n if (hasDirectives(['live'], query)) shouldFetch = true;\n\n const requestId = this.idCounter++;\n\n // set up a watcher to listen to cache updates\n const cancel = fetchPolicy !== 'no-cache'\n ? this.updateQueryWatch(queryId, query, options)\n : undefined;\n\n // Initialize query in store with unique requestId\n this.setQuery(queryId, () => ({\n document: query,\n lastRequestId: requestId,\n invalidated: true,\n cancel,\n }));\n\n this.invalidate(fetchMoreForQueryId);\n\n this.queryStore.initQuery({\n queryId,\n document: query,\n storePreviousVariables: shouldFetch,\n variables,\n isPoll: fetchType === FetchType.poll,\n isRefetch: fetchType === FetchType.refetch,\n metadata,\n fetchMoreForQueryId,\n });\n\n this.broadcastQueries();\n\n if (shouldFetch) {\n const networkResult = this.fetchRequest({\n requestId,\n queryId,\n document: query,\n options,\n fetchMoreForQueryId,\n }).catch(error => {\n // This is for the benefit of `refetch` promises, which currently don't get their errors\n // through the store like watchQuery observers do\n if (isApolloError(error)) {\n throw error;\n } else {\n if (requestId >= this.getQuery(queryId).lastRequestId) {\n this.queryStore.markQueryError(queryId, error, fetchMoreForQueryId);\n this.invalidate(queryId);\n this.invalidate(fetchMoreForQueryId);\n this.broadcastQueries();\n }\n throw new ApolloError({ networkError: error });\n }\n });\n\n // we don't return the promise for cache-and-network since it is already\n // returned below from the cache\n if (fetchPolicy !== 'cache-and-network') {\n return networkResult;\n }\n\n // however we need to catch the error so it isn't unhandled in case of\n // network error\n networkResult.catch(() => {});\n }\n\n // If there is no part of the query we need to fetch from the server (or,\n // fetchPolicy is cache-only), we just write the store result as the final result.\n this.queryStore.markQueryResultClient(queryId, !shouldFetch);\n this.invalidate(queryId);\n this.invalidate(fetchMoreForQueryId);\n\n if (this.transform(query).hasForcedResolvers) {\n return this.localState.runResolvers({\n document: query,\n remoteResult: { data: storeResult },\n context,\n variables,\n onlyRunForcedResolvers: true,\n }).then((result: FetchResult) => {\n this.markQueryResult(\n queryId,\n result,\n options,\n fetchMoreForQueryId,\n );\n this.broadcastQueries();\n return result;\n });\n }\n\n this.broadcastQueries();\n\n // If we have no query to send to the server, we should return the result\n // found within the store.\n return { data: storeResult };\n }\n\n private markQueryResult(\n queryId: string,\n result: FetchResult,\n {\n fetchPolicy,\n variables,\n errorPolicy,\n }: WatchQueryOptions,\n fetchMoreForQueryId?: string,\n ) {\n if (fetchPolicy === 'no-cache') {\n this.setQuery(queryId, () => ({\n newData: { result: result.data, complete: true },\n }));\n } else {\n this.dataStore.markQueryResult(\n result,\n this.getQuery(queryId).document!,\n variables,\n fetchMoreForQueryId,\n errorPolicy === 'ignore' || errorPolicy === 'all',\n );\n }\n }\n\n // Returns a query listener that will update the given observer based on the\n // results (or lack thereof) for a particular query.\n public queryListenerForObserver(\n queryId: string,\n options: WatchQueryOptions,\n observer: Observer>,\n ): QueryListener {\n function invoke(method: 'next' | 'error', argument: any) {\n if (observer[method]) {\n try {\n observer[method]!(argument);\n } catch (e) {\n invariant.error(e);\n }\n } else if (method === 'error') {\n invariant.error(argument);\n }\n }\n\n return (\n queryStoreValue: QueryStoreValue,\n newData?: Cache.DiffResult,\n ) => {\n // we're going to take a look at the data, so the query is no longer invalidated\n this.invalidate(queryId, false);\n\n // The query store value can be undefined in the event of a store\n // reset.\n if (!queryStoreValue) return;\n\n const { observableQuery, document } = this.getQuery(queryId);\n\n const fetchPolicy = observableQuery\n ? observableQuery.options.fetchPolicy\n : options.fetchPolicy;\n\n // don't watch the store for queries on standby\n if (fetchPolicy === 'standby') return;\n\n const loading = isNetworkRequestInFlight(queryStoreValue.networkStatus);\n const lastResult = observableQuery && observableQuery.getLastResult();\n\n const networkStatusChanged = !!(\n lastResult &&\n lastResult.networkStatus !== queryStoreValue.networkStatus\n );\n\n const shouldNotifyIfLoading =\n options.returnPartialData ||\n (!newData && queryStoreValue.previousVariables) ||\n (networkStatusChanged && options.notifyOnNetworkStatusChange) ||\n fetchPolicy === 'cache-only' ||\n fetchPolicy === 'cache-and-network';\n\n if (loading && !shouldNotifyIfLoading) {\n return;\n }\n\n const hasGraphQLErrors = isNonEmptyArray(queryStoreValue.graphQLErrors);\n\n const errorPolicy: ErrorPolicy = observableQuery\n && observableQuery.options.errorPolicy\n || options.errorPolicy\n || 'none';\n\n // If we have either a GraphQL error or a network error, we create\n // an error and tell the observer about it.\n if (errorPolicy === 'none' && hasGraphQLErrors || queryStoreValue.networkError) {\n return invoke('error', new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n }));\n }\n\n try {\n let data: any;\n let isMissing: boolean;\n\n if (newData) {\n // As long as we're using the cache, clear out the latest\n // `newData`, since it will now become the current data. We need\n // to keep the `newData` stored with the query when using\n // `no-cache` since `getCurrentQueryResult` attemps to pull from\n // `newData` first, following by trying the cache (which won't\n // find a hit for `no-cache`).\n if (fetchPolicy !== 'no-cache' && fetchPolicy !== 'network-only') {\n this.setQuery(queryId, () => ({ newData: null }));\n }\n\n data = newData.result;\n isMissing = !newData.complete;\n } else {\n const lastError = observableQuery && observableQuery.getLastError();\n const errorStatusChanged =\n errorPolicy !== 'none' &&\n (lastError && lastError.graphQLErrors) !==\n queryStoreValue.graphQLErrors;\n\n if (lastResult && lastResult.data && !errorStatusChanged) {\n data = lastResult.data;\n isMissing = false;\n } else {\n const diffResult = this.dataStore.getCache().diff({\n query: document as DocumentNode,\n variables:\n queryStoreValue.previousVariables ||\n queryStoreValue.variables,\n returnPartialData: true,\n optimistic: true,\n });\n\n data = diffResult.result;\n isMissing = !diffResult.complete;\n }\n }\n\n // If there is some data missing and the user has told us that they\n // do not tolerate partial data then we want to return the previous\n // result and mark it as stale.\n const stale = isMissing && !(\n options.returnPartialData ||\n fetchPolicy === 'cache-only'\n );\n\n const resultFromStore: ApolloQueryResult = {\n data: stale ? lastResult && lastResult.data : data,\n loading,\n networkStatus: queryStoreValue.networkStatus,\n stale,\n };\n\n // if the query wants updates on errors we need to add it to the result\n if (errorPolicy === 'all' && hasGraphQLErrors) {\n resultFromStore.errors = queryStoreValue.graphQLErrors;\n }\n\n invoke('next', resultFromStore);\n\n } catch (networkError) {\n invoke('error', new ApolloError({ networkError }));\n }\n };\n }\n\n private transformCache = new (canUseWeakMap ? WeakMap : Map)<\n DocumentNode,\n Readonly<{\n document: Readonly;\n hasClientExports: boolean;\n hasForcedResolvers: boolean;\n clientQuery: Readonly | null;\n serverQuery: Readonly | null;\n defaultVars: Readonly;\n }>\n >();\n\n public transform(document: DocumentNode) {\n const { transformCache } = this;\n\n if (!transformCache.has(document)) {\n const cache = this.dataStore.getCache();\n const transformed = cache.transformDocument(document);\n const forLink = removeConnectionDirectiveFromDocument(\n cache.transformForLink(transformed));\n\n const clientQuery = this.localState.clientQuery(transformed);\n const serverQuery = this.localState.serverQuery(forLink);\n\n const cacheEntry = {\n document: transformed,\n // TODO These two calls (hasClientExports and shouldForceResolvers)\n // could probably be merged into a single traversal.\n hasClientExports: hasClientExports(transformed),\n hasForcedResolvers: this.localState.shouldForceResolvers(transformed),\n clientQuery,\n serverQuery,\n defaultVars: getDefaultValues(\n getOperationDefinition(transformed)\n ) as OperationVariables,\n };\n\n const add = (doc: DocumentNode | null) => {\n if (doc && !transformCache.has(doc)) {\n transformCache.set(doc, cacheEntry);\n }\n }\n // Add cacheEntry to the transformCache using several different keys,\n // since any one of these documents could end up getting passed to the\n // transform method again in the future.\n add(document);\n add(transformed);\n add(clientQuery);\n add(serverQuery);\n }\n\n return transformCache.get(document)!;\n }\n\n private getVariables(\n document: DocumentNode,\n variables?: OperationVariables,\n ): OperationVariables {\n return {\n ...this.transform(document).defaultVars,\n ...variables,\n };\n }\n\n // The shouldSubscribe option is a temporary fix that tells us whether watchQuery was called\n // directly (i.e. through ApolloClient) or through the query method within QueryManager.\n // Currently, the query method uses watchQuery in order to handle non-network errors correctly\n // but we don't want to keep track observables issued for the query method since those aren't\n // supposed to be refetched in the event of a store reset. Once we unify error handling for\n // network errors and non-network errors, the shouldSubscribe option will go away.\n\n public watchQuery(\n options: WatchQueryOptions,\n shouldSubscribe = true,\n ): ObservableQuery {\n invariant(\n options.fetchPolicy !== 'standby',\n 'client.watchQuery cannot be called with fetchPolicy set to \"standby\"',\n );\n\n // assign variable default values if supplied\n options.variables = this.getVariables(options.query, options.variables);\n\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n\n let transformedOptions = { ...options } as WatchQueryOptions;\n\n return new ObservableQuery({\n queryManager: this,\n options: transformedOptions,\n shouldSubscribe: shouldSubscribe,\n });\n }\n\n public query(options: QueryOptions): Promise> {\n invariant(\n options.query,\n 'query option is required. You must specify your GraphQL document ' +\n 'in the query option.',\n );\n\n invariant(\n options.query.kind === 'Document',\n 'You must wrap the query string in a \"gql\" tag.',\n );\n\n invariant(\n !(options as any).returnPartialData,\n 'returnPartialData option only supported on watchQuery.',\n );\n\n invariant(\n !(options as any).pollInterval,\n 'pollInterval option only supported on watchQuery.',\n );\n\n return new Promise>((resolve, reject) => {\n const watchedQuery = this.watchQuery(options, false);\n this.fetchQueryRejectFns.set(`query:${watchedQuery.queryId}`, reject);\n watchedQuery\n .result()\n .then(resolve, reject)\n // Since neither resolve nor reject throw or return a value, this .then\n // handler is guaranteed to execute. Note that it doesn't really matter\n // when we remove the reject function from this.fetchQueryRejectFns,\n // since resolve and reject are mutually idempotent. In fact, it would\n // not be incorrect to let reject functions accumulate over time; it's\n // just a waste of memory.\n .then(() =>\n this.fetchQueryRejectFns.delete(`query:${watchedQuery.queryId}`),\n );\n });\n }\n\n public generateQueryId() {\n return String(this.idCounter++);\n }\n\n public stopQueryInStore(queryId: string) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.broadcastQueries();\n }\n\n private stopQueryInStoreNoBroadcast(queryId: string) {\n this.stopPollingQuery(queryId);\n this.queryStore.stopQuery(queryId);\n this.invalidate(queryId);\n }\n\n public addQueryListener(queryId: string, listener: QueryListener) {\n this.setQuery(queryId, ({ listeners }) => {\n listeners.add(listener);\n return { invalidated: false };\n });\n }\n\n public updateQueryWatch(\n queryId: string,\n document: DocumentNode,\n options: WatchQueryOptions,\n ) {\n const { cancel } = this.getQuery(queryId);\n if (cancel) cancel();\n const previousResult = () => {\n let previousResult = null;\n const { observableQuery } = this.getQuery(queryId);\n if (observableQuery) {\n const lastResult = observableQuery.getLastResult();\n if (lastResult) {\n previousResult = lastResult.data;\n }\n }\n\n return previousResult;\n };\n return this.dataStore.getCache().watch({\n query: document as DocumentNode,\n variables: options.variables,\n optimistic: true,\n previousResult,\n callback: newData => {\n this.setQuery(queryId, () => ({ invalidated: true, newData }));\n },\n });\n }\n\n // Adds an ObservableQuery to this.observableQueries and to this.observableQueriesByName.\n public addObservableQuery(\n queryId: string,\n observableQuery: ObservableQuery,\n ) {\n this.setQuery(queryId, () => ({ observableQuery }));\n }\n\n public removeObservableQuery(queryId: string) {\n const { cancel } = this.getQuery(queryId);\n this.setQuery(queryId, () => ({ observableQuery: null }));\n if (cancel) cancel();\n }\n\n public clearStore(): Promise {\n // Before we have sent the reset action to the store,\n // we can no longer rely on the results returned by in-flight\n // requests since these may depend on values that previously existed\n // in the data portion of the store. So, we cancel the promises and observers\n // that we have issued so far and not yet resolved (in the case of\n // queries).\n this.fetchQueryRejectFns.forEach(reject => {\n reject(new InvariantError(\n 'Store reset while query was in flight (not completed in link chain)',\n ));\n });\n\n const resetIds: string[] = [];\n this.queries.forEach(({ observableQuery }, queryId) => {\n if (observableQuery) resetIds.push(queryId);\n });\n\n this.queryStore.reset(resetIds);\n this.mutationStore.reset();\n\n // begin removing data from the store\n return this.dataStore.reset();\n }\n\n public resetStore(): Promise[]> {\n // Similarly, we have to have to refetch each of the queries currently being\n // observed. We refetch instead of error'ing on these since the assumption is that\n // resetting the store doesn't eliminate the need for the queries currently being\n // watched. If there is an existing query in flight when the store is reset,\n // the promise for it will be rejected and its results will not be written to the\n // store.\n return this.clearStore().then(() => {\n return this.reFetchObservableQueries();\n });\n }\n\n public reFetchObservableQueries(\n includeStandby: boolean = false,\n ): Promise[]> {\n const observableQueryPromises: Promise>[] = [];\n\n this.queries.forEach(({ observableQuery }, queryId) => {\n if (observableQuery) {\n const fetchPolicy = observableQuery.options.fetchPolicy;\n\n observableQuery.resetLastResults();\n if (\n fetchPolicy !== 'cache-only' &&\n (includeStandby || fetchPolicy !== 'standby')\n ) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n\n this.setQuery(queryId, () => ({ newData: null }));\n this.invalidate(queryId);\n }\n });\n\n this.broadcastQueries();\n\n return Promise.all(observableQueryPromises);\n }\n\n public observeQuery(\n queryId: string,\n options: WatchQueryOptions,\n observer: Observer>,\n ) {\n this.addQueryListener(\n queryId,\n this.queryListenerForObserver(queryId, options, observer),\n );\n return this.fetchQuery(queryId, options);\n }\n\n public startQuery(\n queryId: string,\n options: WatchQueryOptions,\n listener: QueryListener,\n ) {\n invariant.warn(\"The QueryManager.startQuery method has been deprecated\");\n\n this.addQueryListener(queryId, listener);\n\n this.fetchQuery(queryId, options)\n // `fetchQuery` returns a Promise. In case of a failure it should be caucht or else the\n // console will show an `Uncaught (in promise)` message. Ignore the error for now.\n .catch(() => undefined);\n\n return queryId;\n }\n\n public startGraphQLSubscription({\n query,\n fetchPolicy,\n variables,\n }: SubscriptionOptions): Observable> {\n query = this.transform(query).document;\n variables = this.getVariables(query, variables);\n\n const makeObservable = (variables: OperationVariables) =>\n this.getObservableFromLink(\n query,\n {},\n variables,\n false,\n ).map(result => {\n if (!fetchPolicy || fetchPolicy !== 'no-cache') {\n this.dataStore.markSubscriptionResult(\n result,\n query,\n variables,\n );\n this.broadcastQueries();\n }\n\n if (graphQLResultHasError(result)) {\n throw new ApolloError({\n graphQLErrors: result.errors,\n });\n }\n\n return result;\n });\n\n if (this.transform(query).hasClientExports) {\n const observablePromise = this.localState.addExportedVariables(\n query,\n variables,\n ).then(makeObservable);\n\n return new Observable>(observer => {\n let sub: Subscription | null = null;\n observablePromise.then(\n observable => sub = observable.subscribe(observer),\n observer.error,\n );\n return () => sub && sub.unsubscribe();\n });\n }\n\n return makeObservable(variables);\n }\n\n public stopQuery(queryId: string) {\n this.stopQueryNoBroadcast(queryId);\n this.broadcastQueries();\n }\n\n private stopQueryNoBroadcast(queryId: string) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.removeQuery(queryId);\n }\n\n public removeQuery(queryId: string) {\n // teardown all links\n // Both `QueryManager.fetchRequest` and `QueryManager.query` create separate promises\n // that each add their reject functions to fetchQueryRejectFns.\n // A query created with `QueryManager.query()` could trigger a `QueryManager.fetchRequest`.\n // The same queryId could have two rejection fns for two promises\n this.fetchQueryRejectFns.delete(`query:${queryId}`);\n this.fetchQueryRejectFns.delete(`fetchRequest:${queryId}`);\n this.getQuery(queryId).subscriptions.forEach(x => x.unsubscribe());\n this.queries.delete(queryId);\n }\n\n public getCurrentQueryResult(\n observableQuery: ObservableQuery,\n optimistic: boolean = true,\n ): {\n data: T | undefined;\n partial: boolean;\n } {\n const { variables, query, fetchPolicy, returnPartialData } = observableQuery.options;\n const lastResult = observableQuery.getLastResult();\n const { newData } = this.getQuery(observableQuery.queryId);\n\n if (newData && newData.complete) {\n return { data: newData.result, partial: false };\n }\n\n if (fetchPolicy === 'no-cache' || fetchPolicy === 'network-only') {\n return { data: undefined, partial: false };\n }\n\n const { result, complete } = this.dataStore.getCache().diff({\n query,\n variables,\n previousResult: lastResult ? lastResult.data : undefined,\n returnPartialData: true,\n optimistic,\n });\n\n return {\n data: (complete || returnPartialData) ? result : void 0,\n partial: !complete,\n };\n }\n\n public getQueryWithPreviousResult(\n queryIdOrObservable: string | ObservableQuery,\n ): {\n previousResult: any;\n variables: TVariables | undefined;\n document: DocumentNode;\n } {\n let observableQuery: ObservableQuery;\n if (typeof queryIdOrObservable === 'string') {\n const { observableQuery: foundObserveableQuery } = this.getQuery(\n queryIdOrObservable,\n );\n invariant(\n foundObserveableQuery,\n `ObservableQuery with this id doesn't exist: ${queryIdOrObservable}`\n );\n observableQuery = foundObserveableQuery!;\n } else {\n observableQuery = queryIdOrObservable;\n }\n\n const { variables, query } = observableQuery.options;\n return {\n previousResult: this.getCurrentQueryResult(observableQuery, false).data,\n variables,\n document: query,\n };\n }\n\n public broadcastQueries() {\n this.onBroadcast();\n this.queries.forEach((info, id) => {\n if (info.invalidated) {\n info.listeners.forEach(listener => {\n // it's possible for the listener to be undefined if the query is being stopped\n // See here for more detail: https://github.com/apollostack/apollo-client/issues/231\n if (listener) {\n listener(this.queryStore.get(id), info.newData);\n }\n });\n }\n });\n }\n\n public getLocalState(): LocalState {\n return this.localState;\n }\n\n private inFlightLinkObservables = new Map<\n DocumentNode,\n Map>\n >();\n\n private getObservableFromLink(\n query: DocumentNode,\n context: any,\n variables?: OperationVariables,\n deduplication: boolean = this.queryDeduplication,\n ): Observable> {\n let observable: Observable>;\n\n const { serverQuery } = this.transform(query);\n if (serverQuery) {\n const { inFlightLinkObservables, link } = this;\n\n const operation = {\n query: serverQuery,\n variables,\n operationName: getOperationName(serverQuery) || void 0,\n context: this.prepareContext({\n ...context,\n forceFetch: !deduplication\n }),\n };\n\n context = operation.context;\n\n if (deduplication) {\n const byVariables = inFlightLinkObservables.get(serverQuery) || new Map();\n inFlightLinkObservables.set(serverQuery, byVariables);\n\n const varJson = JSON.stringify(variables);\n observable = byVariables.get(varJson);\n\n if (!observable) {\n byVariables.set(\n varJson,\n observable = multiplex(\n execute(link, operation) as Observable>\n )\n );\n\n const cleanup = () => {\n byVariables.delete(varJson);\n if (!byVariables.size) inFlightLinkObservables.delete(serverQuery);\n cleanupSub.unsubscribe();\n };\n\n const cleanupSub = observable.subscribe({\n next: cleanup,\n error: cleanup,\n complete: cleanup,\n });\n }\n\n } else {\n observable = multiplex(execute(link, operation) as Observable>);\n }\n } else {\n observable = Observable.of({ data: {} } as FetchResult);\n context = this.prepareContext(context);\n }\n\n const { clientQuery } = this.transform(query);\n if (clientQuery) {\n observable = asyncMap(observable, result => {\n return this.localState.runResolvers({\n document: clientQuery,\n remoteResult: result,\n context,\n variables,\n });\n });\n }\n\n return observable;\n }\n\n // Takes a request id, query id, a query document and information associated with the query\n // and send it to the network interface. Returns\n // a promise for the result associated with that request.\n private fetchRequest({\n requestId,\n queryId,\n document,\n options,\n fetchMoreForQueryId,\n }: {\n requestId: number;\n queryId: string;\n document: DocumentNode;\n options: WatchQueryOptions;\n fetchMoreForQueryId?: string;\n }): Promise> {\n const { variables, errorPolicy = 'none', fetchPolicy } = options;\n let resultFromStore: any;\n let errorsFromStore: any;\n\n return new Promise>((resolve, reject) => {\n const observable = this.getObservableFromLink(\n document,\n options.context,\n variables,\n );\n\n const fqrfId = `fetchRequest:${queryId}`;\n this.fetchQueryRejectFns.set(fqrfId, reject);\n\n const cleanup = () => {\n this.fetchQueryRejectFns.delete(fqrfId);\n this.setQuery(queryId, ({ subscriptions }) => {\n subscriptions.delete(subscription);\n });\n };\n\n const subscription = observable.map((result: FetchResult) => {\n if (requestId >= this.getQuery(queryId).lastRequestId) {\n this.markQueryResult(\n queryId,\n result,\n options,\n fetchMoreForQueryId,\n );\n\n this.queryStore.markQueryResult(\n queryId,\n result,\n fetchMoreForQueryId,\n );\n\n this.invalidate(queryId);\n this.invalidate(fetchMoreForQueryId);\n\n this.broadcastQueries();\n }\n\n if (errorPolicy === 'none' && isNonEmptyArray(result.errors)) {\n return reject(new ApolloError({\n graphQLErrors: result.errors,\n }));\n }\n\n if (errorPolicy === 'all') {\n errorsFromStore = result.errors;\n }\n\n if (fetchMoreForQueryId || fetchPolicy === 'no-cache') {\n // We don't write fetchMore results to the store because this would overwrite\n // the original result in case an @connection directive is used.\n resultFromStore = result.data;\n } else {\n // ensure result is combined with data already in store\n const { result, complete } = this.dataStore.getCache().diff({\n variables,\n query: document,\n optimistic: false,\n returnPartialData: true,\n });\n\n if (complete || options.returnPartialData) {\n resultFromStore = result;\n }\n }\n }).subscribe({\n error(error: ApolloError) {\n cleanup();\n reject(error);\n },\n\n complete() {\n cleanup();\n resolve({\n data: resultFromStore,\n errors: errorsFromStore,\n loading: false,\n networkStatus: NetworkStatus.ready,\n stale: false,\n });\n },\n });\n\n this.setQuery(queryId, ({ subscriptions }) => {\n subscriptions.add(subscription);\n });\n });\n }\n\n private getQuery(queryId: string) {\n return (\n this.queries.get(queryId) || {\n listeners: new Set(),\n invalidated: false,\n document: null,\n newData: null,\n lastRequestId: 1,\n observableQuery: null,\n subscriptions: new Set(),\n }\n );\n }\n\n private setQuery(\n queryId: string,\n updater: (prev: QueryInfo) => Pick | void,\n ) {\n const prev = this.getQuery(queryId);\n const newInfo = { ...prev, ...updater(prev) };\n this.queries.set(queryId, newInfo);\n }\n\n private invalidate(\n queryId: string | undefined,\n invalidated = true,\n ) {\n if (queryId) {\n this.setQuery(queryId, () => ({ invalidated }));\n }\n }\n\n private prepareContext(context = {}) {\n const newContext = this.localState.prepareContext(context);\n return {\n ...newContext,\n clientAwareness: this.clientAwareness,\n };\n }\n\n public checkInFlight(queryId: string) {\n const query = this.queryStore.get(queryId);\n\n return (\n query &&\n query.networkStatus !== NetworkStatus.ready &&\n query.networkStatus !== NetworkStatus.error\n );\n }\n\n // Map from client ID to { interval, options }.\n private pollingInfoByQueryId = new Map();\n\n public startPollingQuery(\n options: WatchQueryOptions,\n queryId: string,\n listener?: QueryListener,\n ): string {\n const { pollInterval } = options;\n\n invariant(\n pollInterval,\n 'Attempted to start a polling query without a polling interval.',\n );\n\n // Do not poll in SSR mode\n if (!this.ssrMode) {\n let info = this.pollingInfoByQueryId.get(queryId)!;\n if (!info) {\n this.pollingInfoByQueryId.set(queryId, (info = {} as any));\n }\n\n info.interval = pollInterval!;\n info.options = {\n ...options,\n fetchPolicy: 'network-only',\n };\n\n const maybeFetch = () => {\n const info = this.pollingInfoByQueryId.get(queryId);\n if (info) {\n if (this.checkInFlight(queryId)) {\n poll();\n } else {\n this.fetchQuery(queryId, info.options, FetchType.poll).then(\n poll,\n poll,\n );\n }\n }\n };\n\n const poll = () => {\n const info = this.pollingInfoByQueryId.get(queryId);\n if (info) {\n clearTimeout(info.timeout);\n info.timeout = setTimeout(maybeFetch, info.interval);\n }\n };\n\n if (listener) {\n this.addQueryListener(queryId, listener);\n }\n\n poll();\n }\n\n return queryId;\n }\n\n public stopPollingQuery(queryId: string) {\n this.pollingInfoByQueryId.delete(queryId);\n }\n}\n","import { ExecutionResult, DocumentNode } from 'graphql';\nimport { ApolloCache, Cache, DataProxy } from 'apollo-cache';\n\nimport { QueryStoreValue } from '../data/queries';\nimport {\n getOperationName,\n tryFunctionOrLogError,\n graphQLResultHasError,\n} from 'apollo-utilities';\nimport { MutationQueryReducer } from '../core/types';\n\nexport type QueryWithUpdater = {\n updater: MutationQueryReducer;\n query: QueryStoreValue;\n};\n\nexport interface DataWrite {\n rootId: string;\n result: any;\n document: DocumentNode;\n operationName: string | null;\n variables: Object;\n}\n\nexport class DataStore {\n private cache: ApolloCache;\n\n constructor(initialCache: ApolloCache) {\n this.cache = initialCache;\n }\n\n public getCache(): ApolloCache {\n return this.cache;\n }\n\n public markQueryResult(\n result: ExecutionResult,\n document: DocumentNode,\n variables: any,\n fetchMoreForQueryId: string | undefined,\n ignoreErrors: boolean = false,\n ) {\n let writeWithErrors = !graphQLResultHasError(result);\n if (ignoreErrors && graphQLResultHasError(result) && result.data) {\n writeWithErrors = true;\n }\n if (!fetchMoreForQueryId && writeWithErrors) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n }\n\n public markSubscriptionResult(\n result: ExecutionResult,\n document: DocumentNode,\n variables: any,\n ) {\n // the subscription interface should handle not sending us results we no longer subscribe to.\n // XXX I don't think we ever send in an object with errors, but we might in the future...\n if (!graphQLResultHasError(result)) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n query: document,\n variables: variables,\n });\n }\n }\n\n public markMutationInit(mutation: {\n mutationId: string;\n document: DocumentNode;\n variables: any;\n updateQueries: { [queryId: string]: QueryWithUpdater };\n update: ((proxy: DataProxy, mutationResult: Object) => void) | undefined;\n optimisticResponse: Object | Function | undefined;\n }) {\n if (mutation.optimisticResponse) {\n let optimistic: Object;\n if (typeof mutation.optimisticResponse === 'function') {\n optimistic = mutation.optimisticResponse(mutation.variables);\n } else {\n optimistic = mutation.optimisticResponse;\n }\n\n this.cache.recordOptimisticTransaction(c => {\n const orig = this.cache;\n this.cache = c;\n\n try {\n this.markMutationResult({\n mutationId: mutation.mutationId,\n result: { data: optimistic },\n document: mutation.document,\n variables: mutation.variables,\n updateQueries: mutation.updateQueries,\n update: mutation.update,\n });\n } finally {\n this.cache = orig;\n }\n }, mutation.mutationId);\n }\n }\n\n public markMutationResult(mutation: {\n mutationId: string;\n result: ExecutionResult;\n document: DocumentNode;\n variables: any;\n updateQueries: { [queryId: string]: QueryWithUpdater };\n update: ((proxy: DataProxy, mutationResult: Object) => void) | undefined;\n }) {\n // Incorporate the result from this mutation into the store\n if (!graphQLResultHasError(mutation.result)) {\n const cacheWrites: Cache.WriteOptions[] = [{\n result: mutation.result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n }];\n\n const { updateQueries } = mutation;\n if (updateQueries) {\n Object.keys(updateQueries).forEach(id => {\n const { query, updater } = updateQueries[id];\n\n // Read the current query result from the store.\n const { result: currentQueryResult, complete } = this.cache.diff({\n query: query.document,\n variables: query.variables,\n returnPartialData: true,\n optimistic: false,\n });\n\n if (complete) {\n // Run our reducer using the current query result and the mutation result.\n const nextQueryResult = tryFunctionOrLogError(() =>\n updater(currentQueryResult, {\n mutationResult: mutation.result,\n queryName: getOperationName(query.document) || undefined,\n queryVariables: query.variables,\n }),\n );\n\n // Write the modified result back into the store if we got a new result.\n if (nextQueryResult) {\n cacheWrites.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: query.document,\n variables: query.variables,\n });\n }\n }\n });\n }\n\n this.cache.performTransaction(c => {\n cacheWrites.forEach(write => c.write(write));\n\n // If the mutation has some writes associated with it then we need to\n // apply those writes to the store by running this reducer again with a\n // write action.\n const { update } = mutation;\n if (update) {\n tryFunctionOrLogError(() => update(c, mutation.result));\n }\n });\n }\n }\n\n public markMutationComplete({\n mutationId,\n optimisticResponse,\n }: {\n mutationId: string;\n optimisticResponse?: any;\n }) {\n if (optimisticResponse) {\n this.cache.removeOptimistic(mutationId);\n }\n }\n\n public markUpdateQueryResult(\n document: DocumentNode,\n variables: any,\n newResult: any,\n ) {\n this.cache.write({\n result: newResult,\n dataId: 'ROOT_QUERY',\n variables,\n query: document,\n });\n }\n\n public reset(): Promise {\n return this.cache.reset();\n }\n}\n","import {\n ApolloLink,\n FetchResult,\n GraphQLRequest,\n execute,\n} from 'apollo-link';\nimport { ExecutionResult, DocumentNode } from 'graphql';\nimport { ApolloCache, DataProxy } from 'apollo-cache';\n\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport { QueryManager } from './core/QueryManager';\nimport {\n ApolloQueryResult,\n OperationVariables,\n Resolvers,\n} from './core/types';\nimport { ObservableQuery } from './core/ObservableQuery';\nimport { LocalState, FragmentMatcher } from './core/LocalState';\nimport { Observable } from './util/Observable';\n\nimport {\n QueryOptions,\n WatchQueryOptions,\n SubscriptionOptions,\n MutationOptions,\n WatchQueryFetchPolicy,\n} from './core/watchQueryOptions';\n\nimport { DataStore } from './data/store';\n\nimport { version } from './version';\n\nexport interface DefaultOptions {\n watchQuery?: Partial;\n query?: Partial;\n mutate?: Partial;\n}\n\nlet hasSuggestedDevtools = false;\n\nexport type ApolloClientOptions = {\n link?: ApolloLink;\n cache: ApolloCache;\n ssrForceFetchDelay?: number;\n ssrMode?: boolean;\n connectToDevTools?: boolean;\n queryDeduplication?: boolean;\n defaultOptions?: DefaultOptions;\n assumeImmutableResults?: boolean;\n resolvers?: Resolvers | Resolvers[];\n typeDefs?: string | string[] | DocumentNode | DocumentNode[];\n fragmentMatcher?: FragmentMatcher;\n name?: string;\n version?: string;\n};\n\n/**\n * This is the primary Apollo Client class. It is used to send GraphQL documents (i.e. queries\n * and mutations) to a GraphQL spec-compliant server over a {@link NetworkInterface} instance,\n * receive results from the server and cache the results in a store. It also delivers updates\n * to GraphQL queries through {@link Observable} instances.\n */\nexport default class ApolloClient implements DataProxy {\n public link: ApolloLink;\n public store: DataStore;\n public cache: ApolloCache;\n public readonly queryManager: QueryManager;\n public disableNetworkFetches: boolean;\n public version: string;\n public queryDeduplication: boolean;\n public defaultOptions: DefaultOptions = {};\n public readonly typeDefs: ApolloClientOptions['typeDefs'];\n\n private devToolsHookCb: Function;\n private resetStoreCallbacks: Array<() => Promise> = [];\n private clearStoreCallbacks: Array<() => Promise> = [];\n private localState: LocalState;\n\n /**\n * Constructs an instance of {@link ApolloClient}.\n *\n * @param link The {@link ApolloLink} over which GraphQL documents will be resolved into a response.\n *\n * @param cache The initial cache to use in the data store.\n *\n * @param ssrMode Determines whether this is being run in Server Side Rendering (SSR) mode.\n *\n * @param ssrForceFetchDelay Determines the time interval before we force fetch queries for a\n * server side render.\n *\n * @param queryDeduplication If set to false, a query will still be sent to the server even if a query\n * with identical parameters (query, variables, operationName) is already in flight.\n *\n * @param defaultOptions Used to set application wide defaults for the\n * options supplied to `watchQuery`, `query`, or\n * `mutate`.\n *\n * @param assumeImmutableResults When this option is true, the client will assume results\n * read from the cache are never mutated by application code,\n * which enables substantial performance optimizations. Passing\n * `{ freezeResults: true }` to the `InMemoryCache` constructor\n * can help enforce this immutability.\n *\n * @param name A custom name that can be used to identify this client, when\n * using Apollo client awareness features. E.g. \"iOS\".\n *\n * @param version A custom version that can be used to identify this client,\n * when using Apollo client awareness features. This is the\n * version of your client, which you may want to increment on\n * new builds. This is NOT the version of Apollo Client that\n * you are using.\n */\n constructor(options: ApolloClientOptions) {\n const {\n cache,\n ssrMode = false,\n ssrForceFetchDelay = 0,\n connectToDevTools,\n queryDeduplication = true,\n defaultOptions,\n assumeImmutableResults = false,\n resolvers,\n typeDefs,\n fragmentMatcher,\n name: clientAwarenessName,\n version: clientAwarenessVersion,\n } = options;\n\n let { link } = options;\n\n // If a link hasn't been defined, but local state resolvers have been set,\n // setup a default empty link.\n if (!link && resolvers) {\n link = ApolloLink.empty();\n }\n\n if (!link || !cache) {\n throw new InvariantError(\n \"In order to initialize Apollo Client, you must specify 'link' and 'cache' properties in the options object.\\n\" +\n \"These options are part of the upgrade requirements when migrating from Apollo Client 1.x to Apollo Client 2.x.\\n\" +\n \"For more information, please visit: https://www.apollographql.com/docs/tutorial/client.html#apollo-client-setup\"\n );\n }\n\n // remove apollo-client supported directives\n this.link = link;\n this.cache = cache;\n this.store = new DataStore(cache);\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.defaultOptions = defaultOptions || {};\n this.typeDefs = typeDefs;\n\n if (ssrForceFetchDelay) {\n setTimeout(\n () => (this.disableNetworkFetches = false),\n ssrForceFetchDelay,\n );\n }\n\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n\n // Attach the client instance to window to let us be found by chrome devtools, but only in\n // development mode\n const defaultConnectToDevTools =\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n !(window as any).__APOLLO_CLIENT__;\n\n if (\n typeof connectToDevTools === 'undefined'\n ? defaultConnectToDevTools\n : connectToDevTools && typeof window !== 'undefined'\n ) {\n (window as any).__APOLLO_CLIENT__ = this;\n }\n\n /**\n * Suggest installing the devtools for developers who don't have them\n */\n if (!hasSuggestedDevtools && process.env.NODE_ENV !== 'production') {\n hasSuggestedDevtools = true;\n if (\n typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self\n ) {\n // First check if devtools is not installed\n if (\n typeof (window as any).__APOLLO_DEVTOOLS_GLOBAL_HOOK__ === 'undefined'\n ) {\n // Only for Chrome\n if (\n window.navigator &&\n window.navigator.userAgent &&\n window.navigator.userAgent.indexOf('Chrome') > -1\n ) {\n // tslint:disable-next-line\n console.debug(\n 'Download the Apollo DevTools ' +\n 'for a better development experience: ' +\n 'https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm',\n );\n }\n }\n }\n }\n\n this.version = version;\n\n this.localState = new LocalState({\n cache,\n client: this,\n resolvers,\n fragmentMatcher,\n });\n\n this.queryManager = new QueryManager({\n link: this.link,\n store: this.store,\n queryDeduplication,\n ssrMode,\n clientAwareness: {\n name: clientAwarenessName!,\n version: clientAwarenessVersion!,\n },\n localState: this.localState,\n assumeImmutableResults,\n onBroadcast: () => {\n if (this.devToolsHookCb) {\n this.devToolsHookCb({\n action: {},\n state: {\n queries: this.queryManager.queryStore.getStore(),\n mutations: this.queryManager.mutationStore.getStore(),\n },\n dataWithOptimisticResults: this.cache.extract(true),\n });\n }\n },\n });\n }\n\n /**\n * Call this method to terminate any active client processes, making it safe\n * to dispose of this `ApolloClient` instance.\n */\n public stop() {\n this.queryManager.stop();\n }\n\n /**\n * This watches the cache store of the query according to the options specified and\n * returns an {@link ObservableQuery}. We can subscribe to this {@link ObservableQuery} and\n * receive updated results through a GraphQL observer when the cache store changes.\n *

\n * Note that this method is not an implementation of GraphQL subscriptions. Rather,\n * it uses Apollo's store in order to reactively deliver updates to your query results.\n *

\n * For example, suppose you call watchQuery on a GraphQL query that fetches a person's\n * first and last name and this person has a particular object identifer, provided by\n * dataIdFromObject. Later, a different query fetches that same person's\n * first and last name and the first name has now changed. Then, any observers associated\n * with the results of the first query will be updated with a new result object.\n *

\n * Note that if the cache does not change, the subscriber will *not* be notified.\n *

\n * See [here](https://medium.com/apollo-stack/the-concepts-of-graphql-bc68bd819be3#.3mb0cbcmc) for\n * a description of store reactivity.\n */\n public watchQuery(\n options: WatchQueryOptions,\n ): ObservableQuery {\n if (this.defaultOptions.watchQuery) {\n options = {\n ...this.defaultOptions.watchQuery,\n ...options,\n } as WatchQueryOptions;\n }\n\n // XXX Overwriting options is probably not the best way to do this long term...\n if (\n this.disableNetworkFetches &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')\n ) {\n options = { ...options, fetchPolicy: 'cache-first' };\n }\n\n return this.queryManager.watchQuery(options);\n }\n\n /**\n * This resolves a single query according to the options specified and\n * returns a {@link Promise} which is either resolved with the resulting data\n * or rejected with an error.\n *\n * @param options An object of type {@link QueryOptions} that allows us to\n * describe how this query should be treated e.g. whether it should hit the\n * server at all or just resolve from the cache, etc.\n */\n public query(\n options: QueryOptions,\n ): Promise> {\n if (this.defaultOptions.query) {\n options = { ...this.defaultOptions.query, ...options } as QueryOptions<\n TVariables\n >;\n }\n\n invariant(\n (options.fetchPolicy as WatchQueryFetchPolicy) !== 'cache-and-network',\n 'The cache-and-network fetchPolicy does not work with client.query, because ' +\n 'client.query can only return a single result. Please use client.watchQuery ' +\n 'to receive multiple results from the cache and the network, or consider ' +\n 'using a different fetchPolicy, such as cache-first or network-only.'\n );\n\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = { ...options, fetchPolicy: 'cache-first' };\n }\n\n return this.queryManager.query(options);\n }\n\n /**\n * This resolves a single mutation according to the options specified and returns a\n * {@link Promise} which is either resolved with the resulting data or rejected with an\n * error.\n *\n * It takes options as an object with the following keys and values:\n */\n public mutate(\n options: MutationOptions,\n ): Promise> {\n if (this.defaultOptions.mutate) {\n options = {\n ...this.defaultOptions.mutate,\n ...options,\n } as MutationOptions;\n }\n\n return this.queryManager.mutate(options);\n }\n\n /**\n * This subscribes to a graphql subscription according to the options specified and returns an\n * {@link Observable} which either emits received data or an error.\n */\n public subscribe(\n options: SubscriptionOptions,\n ): Observable> {\n return this.queryManager.startGraphQLSubscription(options);\n }\n\n /**\n * Tries to read some data from the store in the shape of the provided\n * GraphQL query without making a network request. This method will start at\n * the root query. To start at a specific id returned by `dataIdFromObject`\n * use `readFragment`.\n *\n * @param optimistic Set to `true` to allow `readQuery` to return\n * optimistic results. Is `false` by default.\n */\n public readQuery(\n options: DataProxy.Query,\n optimistic: boolean = false,\n ): T | null {\n return this.cache.readQuery(options, optimistic);\n }\n\n /**\n * Tries to read some data from the store in the shape of the provided\n * GraphQL fragment without making a network request. This method will read a\n * GraphQL fragment from any arbitrary id that is currently cached, unlike\n * `readQuery` which will only read from the root query.\n *\n * You must pass in a GraphQL document with a single fragment or a document\n * with multiple fragments that represent what you are reading. If you pass\n * in a document with multiple fragments then you must also specify a\n * `fragmentName`.\n *\n * @param optimistic Set to `true` to allow `readFragment` to return\n * optimistic results. Is `false` by default.\n */\n public readFragment(\n options: DataProxy.Fragment,\n optimistic: boolean = false,\n ): T | null {\n return this.cache.readFragment(options, optimistic);\n }\n\n /**\n * Writes some data in the shape of the provided GraphQL query directly to\n * the store. This method will start at the root query. To start at a\n * specific id returned by `dataIdFromObject` then use `writeFragment`.\n */\n public writeQuery(\n options: DataProxy.WriteQueryOptions,\n ): void {\n const result = this.cache.writeQuery(options);\n this.queryManager.broadcastQueries();\n return result;\n }\n\n /**\n * Writes some data in the shape of the provided GraphQL fragment directly to\n * the store. This method will write to a GraphQL fragment from any arbitrary\n * id that is currently cached, unlike `writeQuery` which will only write\n * from the root query.\n *\n * You must pass in a GraphQL document with a single fragment or a document\n * with multiple fragments that represent what you are writing. If you pass\n * in a document with multiple fragments then you must also specify a\n * `fragmentName`.\n */\n public writeFragment(\n options: DataProxy.WriteFragmentOptions,\n ): void {\n const result = this.cache.writeFragment(options);\n this.queryManager.broadcastQueries();\n return result;\n }\n\n /**\n * Sugar for writeQuery & writeFragment\n * This method will construct a query from the data object passed in.\n * If no id is supplied, writeData will write the data to the root.\n * If an id is supplied, writeData will write a fragment to the object\n * specified by the id in the store.\n *\n * Since you aren't passing in a query to check the shape of the data,\n * you must pass in an object that conforms to the shape of valid GraphQL data.\n */\n public writeData(\n options: DataProxy.WriteDataOptions,\n ): void {\n const result = this.cache.writeData(options);\n this.queryManager.broadcastQueries();\n return result;\n }\n\n public __actionHookForDevTools(cb: () => any) {\n this.devToolsHookCb = cb;\n }\n\n public __requestRaw(payload: GraphQLRequest): Observable {\n return execute(this.link, payload);\n }\n\n /**\n * This initializes the query manager that tracks queries and the cache\n */\n public initQueryManager(): QueryManager {\n invariant.warn(\n 'Calling the initQueryManager method is no longer necessary, ' +\n 'and it will be removed from ApolloClient in version 3.0.',\n );\n return this.queryManager;\n }\n\n /**\n * Resets your entire store by clearing out your cache and then re-executing\n * all of your active queries. This makes it so that you may guarantee that\n * there is no data left in your store from a time before you called this\n * method.\n *\n * `resetStore()` is useful when your user just logged out. You’ve removed the\n * user session, and you now want to make sure that any references to data you\n * might have fetched while the user session was active is gone.\n *\n * It is important to remember that `resetStore()` *will* refetch any active\n * queries. This means that any components that might be mounted will execute\n * their queries again using your network interface. If you do not want to\n * re-execute any queries then you should make sure to stop watching any\n * active queries.\n */\n public resetStore(): Promise[] | null> {\n return Promise.resolve()\n .then(() => this.queryManager.clearStore())\n .then(() => Promise.all(this.resetStoreCallbacks.map(fn => fn())))\n .then(() => this.reFetchObservableQueries());\n }\n\n /**\n * Remove all data from the store. Unlike `resetStore`, `clearStore` will\n * not refetch any active queries.\n */\n public clearStore(): Promise {\n return Promise.resolve()\n .then(() => this.queryManager.clearStore())\n .then(() => Promise.all(this.clearStoreCallbacks.map(fn => fn())));\n }\n\n /**\n * Allows callbacks to be registered that are executed when the store is\n * reset. `onResetStore` returns an unsubscribe function that can be used\n * to remove registered callbacks.\n */\n public onResetStore(cb: () => Promise): () => void {\n this.resetStoreCallbacks.push(cb);\n return () => {\n this.resetStoreCallbacks = this.resetStoreCallbacks.filter(c => c !== cb);\n };\n }\n\n /**\n * Allows callbacks to be registered that are executed when the store is\n * cleared. `onClearStore` returns an unsubscribe function that can be used\n * to remove registered callbacks.\n */\n public onClearStore(cb: () => Promise): () => void {\n this.clearStoreCallbacks.push(cb);\n return () => {\n this.clearStoreCallbacks = this.clearStoreCallbacks.filter(c => c !== cb);\n };\n }\n\n /**\n * Refetches all of your active queries.\n *\n * `reFetchObservableQueries()` is useful if you want to bring the client back to proper state in case of a network outage\n *\n * It is important to remember that `reFetchObservableQueries()` *will* refetch any active\n * queries. This means that any components that might be mounted will execute\n * their queries again using your network interface. If you do not want to\n * re-execute any queries then you should make sure to stop watching any\n * active queries.\n * Takes optional parameter `includeStandby` which will include queries in standby-mode when refetching.\n */\n public reFetchObservableQueries(\n includeStandby?: boolean,\n ): Promise[]> {\n return this.queryManager.reFetchObservableQueries(includeStandby);\n }\n\n /**\n * Exposes the cache's complete state, in a serializable format for later restoration.\n */\n public extract(optimistic?: boolean): TCacheShape {\n return this.cache.extract(optimistic);\n }\n\n /**\n * Replaces existing state in the cache (if any) with the values expressed by\n * `serializedState`.\n *\n * Called when hydrating a cache (server side rendering, or offline storage),\n * and also (potentially) during hot reloads.\n */\n public restore(serializedState: TCacheShape): ApolloCache {\n return this.cache.restore(serializedState);\n }\n\n /**\n * Add additional local resolvers.\n */\n public addResolvers(resolvers: Resolvers | Resolvers[]) {\n this.localState.addResolvers(resolvers);\n }\n\n /**\n * Set (override existing) local resolvers.\n */\n public setResolvers(resolvers: Resolvers | Resolvers[]) {\n this.localState.setResolvers(resolvers);\n }\n\n /**\n * Get all registered local resolvers.\n */\n public getResolvers() {\n return this.localState.getResolvers();\n }\n\n /**\n * Set a custom local state fragment matcher.\n */\n public setLocalStateFragmentMatcher(fragmentMatcher: FragmentMatcher) {\n this.localState.setFragmentMatcher(fragmentMatcher);\n }\n}\n","export const version = \"2.6.10\"","import {\n DocumentNode,\n OperationDefinitionNode,\n SelectionSetNode,\n FieldNode,\n FragmentDefinitionNode,\n} from 'graphql';\n\nexport function queryFromPojo(obj: any): DocumentNode {\n const op: OperationDefinitionNode = {\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n\n const out: DocumentNode = {\n kind: 'Document',\n definitions: [op],\n };\n\n return out;\n}\n\nexport function fragmentFromPojo(obj: any, typename?: string): DocumentNode {\n const frag: FragmentDefinitionNode = {\n kind: 'FragmentDefinition',\n typeCondition: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: typename || '__FakeType',\n },\n },\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n\n const out: DocumentNode = {\n kind: 'Document',\n definitions: [frag],\n };\n\n return out;\n}\n\nfunction selectionSetFromObj(obj: any): SelectionSetNode {\n if (\n typeof obj === 'number' ||\n typeof obj === 'boolean' ||\n typeof obj === 'string' ||\n typeof obj === 'undefined' ||\n obj === null\n ) {\n // No selection set here\n return null;\n }\n\n if (Array.isArray(obj)) {\n // GraphQL queries don't include arrays\n return selectionSetFromObj(obj[0]);\n }\n\n // Now we know it's an object\n const selections: FieldNode[] = [];\n\n Object.keys(obj).forEach(key => {\n const nestedSelSet: SelectionSetNode = selectionSetFromObj(obj[key]);\n\n const field: FieldNode = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: key,\n },\n selectionSet: nestedSelSet || undefined,\n };\n\n selections.push(field);\n });\n\n const selectionSet: SelectionSetNode = {\n kind: 'SelectionSet',\n selections,\n };\n\n return selectionSet;\n}\n\nexport const justTypenameQuery: DocumentNode = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: null,\n variableDefinitions: null,\n directives: [],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n alias: null,\n name: {\n kind: 'Name',\n value: '__typename',\n },\n arguments: [],\n directives: [],\n selectionSet: null,\n },\n ],\n },\n },\n ],\n};\n","import { DataProxy } from './DataProxy';\n\nexport namespace Cache {\n export type WatchCallback = (newData: any) => void;\n export interface EvictionResult {\n success: Boolean;\n }\n\n export interface ReadOptions\n extends DataProxy.Query {\n rootId?: string;\n previousResult?: any;\n optimistic: boolean;\n }\n\n export interface WriteOptions\n extends DataProxy.Query {\n dataId: string;\n result: TResult;\n }\n\n export interface DiffOptions extends ReadOptions {\n returnPartialData?: boolean;\n }\n\n export interface WatchOptions extends ReadOptions {\n callback: WatchCallback;\n }\n\n export interface EvictOptions\n extends DataProxy.Query {\n rootId?: string;\n }\n\n export import DiffResult = DataProxy.DiffResult;\n export import WriteQueryOptions = DataProxy.WriteQueryOptions;\n export import WriteFragmentOptions = DataProxy.WriteFragmentOptions;\n export import WriteDataOptions = DataProxy.WriteDataOptions;\n export import Fragment = DataProxy.Fragment;\n}\n","interface Node {\n key: K;\n value: V;\n newer: Node | null;\n older: Node | null;\n}\n\nfunction defaultDispose() {}\n\nexport class Cache {\n private map = new Map>();\n private newest: Node | null = null;\n private oldest: Node | null = null;\n\n constructor(\n private max = Infinity,\n public dispose: (value: V, key: K) => void = defaultDispose,\n ) {}\n\n public has(key: K) {\n return this.map.has(key);\n }\n\n public get(key: K) {\n const entry = this.getEntry(key);\n return entry && entry.value;\n }\n\n private getEntry(key: K): Node | void {\n const entry = this.map.get(key);\n\n if (entry && entry !== this.newest) {\n const { older, newer } = entry;\n\n if (newer) {\n newer.older = older;\n }\n\n if (older) {\n older.newer = newer;\n }\n\n entry.older = this.newest;\n entry.older!.newer = entry;\n\n entry.newer = null;\n this.newest = entry;\n\n if (entry === this.oldest) {\n this.oldest = newer;\n }\n }\n\n return entry;\n }\n\n public set(key: K, value: V) {\n let entry = this.getEntry(key);\n if (entry) {\n return entry.value = value;\n }\n\n entry = {\n key: key,\n value: value,\n newer: null,\n older: this.newest\n };\n\n if (this.newest) {\n this.newest.newer = entry;\n }\n\n this.newest = entry;\n this.oldest = this.oldest || entry;\n\n this.map.set(key, entry);\n\n return entry.value;\n }\n\n public clean() {\n while (this.oldest && this.map.size > this.max) {\n this.delete(this.oldest.key);\n }\n }\n\n public delete(key: K) {\n const entry = this.map.get(key);\n if (entry) {\n if (entry === this.newest) {\n this.newest = entry.older;\n }\n\n if (entry === this.oldest) {\n this.oldest = entry.newer;\n }\n\n if (entry.newer) {\n entry.newer.older = entry.older;\n }\n\n if (entry.older) {\n entry.older.newer = entry.newer;\n }\n\n this.map.delete(key);\n this.dispose(entry.value, key);\n\n return true;\n }\n\n return false;\n }\n}\n","type Context = {\n parent: Context | null;\n slots: { [slotId: string]: any };\n}\n\n// This currentContext variable will only be used if the makeSlotClass\n// function is called, which happens only if this is the first copy of the\n// @wry/context package to be imported.\nlet currentContext: Context | null = null;\n\n// This unique internal object is used to denote the absence of a value\n// for a given Slot, and is never exposed to outside code.\nconst MISSING_VALUE: any = {};\n\nlet idCounter = 1;\n\n// Although we can't do anything about the cost of duplicated code from\n// accidentally bundling multiple copies of the @wry/context package, we can\n// avoid creating the Slot class more than once using makeSlotClass.\nconst makeSlotClass = () => class Slot {\n // If you have a Slot object, you can find out its slot.id, but you cannot\n // guess the slot.id of a Slot you don't have access to, thanks to the\n // randomized suffix.\n public readonly id = [\n \"slot\",\n idCounter++,\n Date.now(),\n Math.random().toString(36).slice(2),\n ].join(\":\");\n\n public hasValue() {\n for (let context = currentContext; context; context = context.parent) {\n // We use the Slot object iself as a key to its value, which means the\n // value cannot be obtained without a reference to the Slot object.\n if (this.id in context.slots) {\n const value = context.slots[this.id];\n if (value === MISSING_VALUE) break;\n if (context !== currentContext) {\n // Cache the value in currentContext.slots so the next lookup will\n // be faster. This caching is safe because the tree of contexts and\n // the values of the slots are logically immutable.\n currentContext!.slots[this.id] = value;\n }\n return true;\n }\n }\n if (currentContext) {\n // If a value was not found for this Slot, it's never going to be found\n // no matter how many times we look it up, so we might as well cache\n // the absence of the value, too.\n currentContext.slots[this.id] = MISSING_VALUE;\n }\n return false;\n }\n\n public getValue(): TValue | undefined {\n if (this.hasValue()) {\n return currentContext!.slots[this.id] as TValue;\n }\n }\n\n public withValue(\n value: TValue,\n callback: (this: TThis, ...args: TArgs) => TResult,\n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args?: TArgs,\n thisArg?: TThis,\n ): TResult {\n const slots = {\n __proto__: null,\n [this.id]: value,\n };\n const parent = currentContext;\n currentContext = { parent, slots };\n try {\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg!, args!);\n } finally {\n currentContext = parent;\n }\n }\n\n // Capture the current context and wrap a callback function so that it\n // reestablishes the captured context when called.\n static bind(\n callback: (...args: TArgs) => TResult,\n ) {\n const context = currentContext;\n return function (this: any) {\n const saved = currentContext;\n try {\n currentContext = context;\n return callback.apply(this, arguments as any);\n } finally {\n currentContext = saved;\n }\n } as typeof callback;\n }\n\n // Immediately run a callback function without any captured context.\n static noContext(\n callback: (this: TThis, ...args: TArgs) => TResult,\n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args?: TArgs,\n thisArg?: TThis,\n ) {\n if (currentContext) {\n const saved = currentContext;\n try {\n currentContext = null;\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg!, args!);\n } finally {\n currentContext = saved;\n }\n } else {\n return callback.apply(thisArg!, args!);\n }\n }\n};\n\n// We store a single global implementation of the Slot class as a permanent\n// non-enumerable symbol property of the Array constructor. This obfuscation\n// does nothing to prevent access to the Slot class, but at least it ensures\n// the implementation (i.e. currentContext) cannot be tampered with, and all\n// copies of the @wry/context package (hopefully just one) will share the\n// same Slot implementation. Since the first copy of the @wry/context package\n// to be imported wins, this technique imposes a very high cost for any\n// future breaking changes to the Slot class.\nconst globalKey = \"@wry/context:Slot\";\nconst host = Array as any;\n\nexport const Slot: ReturnType = host[globalKey] || function () {\n const Slot = makeSlotClass();\n try {\n Object.defineProperty(host, globalKey, {\n value: host[globalKey] = Slot,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n } finally {\n return Slot;\n }\n}();\n","import { AnyEntry } from \"./entry\";\nimport { Slot } from \"@wry/context\";\n\nexport const parentEntrySlot = new Slot();\n\nexport {\n bind as bindContext,\n noContext,\n setTimeout,\n asyncFromGen,\n} from \"@wry/context\";\n","import { parentEntrySlot } from \"./context\";\nimport { OptimisticWrapOptions } from \"./index\";\n\nconst reusableEmptyArray: AnyEntry[] = [];\nconst emptySetPool: Set[] = [];\nconst POOL_TARGET_SIZE = 100;\n\n// Since this package might be used browsers, we should avoid using the\n// Node built-in assert module.\nfunction assert(condition: any, optionalMessage?: string) {\n if (! condition) {\n throw new Error(optionalMessage || \"assertion failure\");\n }\n}\n\n// Since exceptions are cached just like normal values, we need an efficient\n// way of representing unknown, ordinary, and exceptional values.\ntype Value =\n | [] // unknown\n | [T] // known value\n | [void, any]; // known exception\n\nfunction valueIs(a: Value, b: Value) {\n const len = a.length;\n return (\n // Unknown values are not equal to each other.\n len > 0 &&\n // Both values must be ordinary (or both exceptional) to be equal.\n len === b.length &&\n // The underlying value or exception must be the same.\n a[len - 1] === b[len - 1]\n );\n}\n\nfunction valueGet(value: Value): T {\n switch (value.length) {\n case 0: throw new Error(\"unknown value\");\n case 1: return value[0];\n case 2: throw value[1];\n }\n}\n\nfunction valueCopy(value: Value): Value {\n return value.slice(0) as Value;\n}\n\nexport type AnyEntry = Entry;\n\nexport class Entry {\n public static count = 0;\n\n public subscribe: OptimisticWrapOptions[\"subscribe\"];\n public unsubscribe?: () => any;\n public reportOrphan?: (this: Entry) => any;\n\n public readonly parents = new Set();\n public readonly childValues = new Map>();\n\n // When this Entry has children that are dirty, this property becomes\n // a Set containing other Entry objects, borrowed from emptySetPool.\n // When the set becomes empty, it gets recycled back to emptySetPool.\n public dirtyChildren: Set | null = null;\n\n public dirty = true;\n public recomputing = false;\n public readonly value: Value = [];\n\n constructor(\n public readonly fn: (...args: TArgs) => TValue,\n public args: TArgs,\n ) {\n ++Entry.count;\n }\n\n // This is the most important method of the Entry API, because it\n // determines whether the cached this.value can be returned immediately,\n // or must be recomputed. The overall performance of the caching system\n // depends on the truth of the following observations: (1) this.dirty is\n // usually false, (2) this.dirtyChildren is usually null/empty, and thus\n // (3) valueGet(this.value) is usually returned without recomputation.\n public recompute(): TValue {\n assert(! this.recomputing, \"already recomputing\");\n\n if (! rememberParent(this) && maybeReportOrphan(this)) {\n // The recipient of the entry.reportOrphan callback decided to dispose\n // of this orphan entry by calling entry.dispose(), so we don't need to\n // (and should not) proceed with the recomputation.\n return void 0 as any;\n }\n\n return mightBeDirty(this)\n ? reallyRecompute(this)\n : valueGet(this.value);\n }\n\n public setDirty() {\n if (this.dirty) return;\n this.dirty = true;\n this.value.length = 0;\n reportDirty(this);\n // We can go ahead and unsubscribe here, since any further dirty\n // notifications we receive will be redundant, and unsubscribing may\n // free up some resources, e.g. file watchers.\n maybeUnsubscribe(this);\n }\n\n public dispose() {\n forgetChildren(this).forEach(maybeReportOrphan);\n maybeUnsubscribe(this);\n\n // Because this entry has been kicked out of the cache (in index.js),\n // we've lost the ability to find out if/when this entry becomes dirty,\n // whether that happens through a subscription, because of a direct call\n // to entry.setDirty(), or because one of its children becomes dirty.\n // Because of this loss of future information, we have to assume the\n // worst (that this entry might have become dirty very soon), so we must\n // immediately mark this entry's parents as dirty. Normally we could\n // just call entry.setDirty() rather than calling parent.setDirty() for\n // each parent, but that would leave this entry in parent.childValues\n // and parent.dirtyChildren, which would prevent the child from being\n // truly forgotten.\n this.parents.forEach(parent => {\n parent.setDirty();\n forgetChild(parent, this);\n });\n }\n}\n\nfunction rememberParent(child: AnyEntry) {\n const parent = parentEntrySlot.getValue();\n if (parent) {\n child.parents.add(parent);\n\n if (! parent.childValues.has(child)) {\n parent.childValues.set(child, []);\n }\n\n if (mightBeDirty(child)) {\n reportDirtyChild(parent, child);\n } else {\n reportCleanChild(parent, child);\n }\n\n return parent;\n }\n}\n\nfunction reallyRecompute(entry: AnyEntry) {\n // Since this recomputation is likely to re-remember some of this\n // entry's children, we forget our children here but do not call\n // maybeReportOrphan until after the recomputation finishes.\n const originalChildren = forgetChildren(entry);\n\n // Set entry as the parent entry while calling recomputeNewValue(entry).\n parentEntrySlot.withValue(entry, recomputeNewValue, [entry]);\n\n if (maybeSubscribe(entry)) {\n // If we successfully recomputed entry.value and did not fail to\n // (re)subscribe, then this Entry is no longer explicitly dirty.\n setClean(entry);\n }\n\n // Now that we've had a chance to re-remember any children that were\n // involved in the recomputation, we can safely report any orphan\n // children that remain.\n originalChildren.forEach(maybeReportOrphan);\n\n return valueGet(entry.value);\n}\n\nfunction recomputeNewValue(entry: AnyEntry) {\n entry.recomputing = true;\n // Set entry.value as unknown.\n entry.value.length = 0;\n try {\n // If entry.fn succeeds, entry.value will become a normal Value.\n entry.value[0] = entry.fn.apply(null, entry.args);\n } catch (e) {\n // If entry.fn throws, entry.value will become exceptional.\n entry.value[1] = e;\n }\n // Either way, this line is always reached.\n entry.recomputing = false;\n}\n\nfunction mightBeDirty(entry: AnyEntry) {\n return entry.dirty || !!(entry.dirtyChildren && entry.dirtyChildren.size);\n}\n\nfunction setClean(entry: AnyEntry) {\n entry.dirty = false;\n\n if (mightBeDirty(entry)) {\n // This Entry may still have dirty children, in which case we can't\n // let our parents know we're clean just yet.\n return;\n }\n\n reportClean(entry);\n}\n\nfunction reportDirty(child: AnyEntry) {\n child.parents.forEach(parent => reportDirtyChild(parent, child));\n}\n\nfunction reportClean(child: AnyEntry) {\n child.parents.forEach(parent => reportCleanChild(parent, child));\n}\n\n// Let a parent Entry know that one of its children may be dirty.\nfunction reportDirtyChild(parent: AnyEntry, child: AnyEntry) {\n // Must have called rememberParent(child) before calling\n // reportDirtyChild(parent, child).\n assert(parent.childValues.has(child));\n assert(mightBeDirty(child));\n\n if (! parent.dirtyChildren) {\n parent.dirtyChildren = emptySetPool.pop() || new Set;\n\n } else if (parent.dirtyChildren.has(child)) {\n // If we already know this child is dirty, then we must have already\n // informed our own parents that we are dirty, so we can terminate\n // the recursion early.\n return;\n }\n\n parent.dirtyChildren.add(child);\n reportDirty(parent);\n}\n\n// Let a parent Entry know that one of its children is no longer dirty.\nfunction reportCleanChild(parent: AnyEntry, child: AnyEntry) {\n // Must have called rememberChild(child) before calling\n // reportCleanChild(parent, child).\n assert(parent.childValues.has(child));\n assert(! mightBeDirty(child));\n\n const childValue = parent.childValues.get(child)!;\n if (childValue.length === 0) {\n parent.childValues.set(child, valueCopy(child.value));\n } else if (! valueIs(childValue, child.value)) {\n parent.setDirty();\n }\n\n removeDirtyChild(parent, child);\n\n if (mightBeDirty(parent)) {\n return;\n }\n\n reportClean(parent);\n}\n\nfunction removeDirtyChild(parent: AnyEntry, child: AnyEntry) {\n const dc = parent.dirtyChildren;\n if (dc) {\n dc.delete(child);\n if (dc.size === 0) {\n if (emptySetPool.length < POOL_TARGET_SIZE) {\n emptySetPool.push(dc);\n }\n parent.dirtyChildren = null;\n }\n }\n}\n\n// If the given entry has a reportOrphan method, and no remaining parents,\n// call entry.reportOrphan and return true iff it returns true. The\n// reportOrphan function should return true to indicate entry.dispose()\n// has been called, and the entry has been removed from any other caches\n// (see index.js for the only current example).\nfunction maybeReportOrphan(entry: AnyEntry) {\n return entry.parents.size === 0 &&\n typeof entry.reportOrphan === \"function\" &&\n entry.reportOrphan() === true;\n}\n\n// Removes all children from this entry and returns an array of the\n// removed children.\nfunction forgetChildren(parent: AnyEntry) {\n let children = reusableEmptyArray;\n\n if (parent.childValues.size > 0) {\n children = [];\n parent.childValues.forEach((_value, child) => {\n forgetChild(parent, child);\n children.push(child);\n });\n }\n\n // After we forget all our children, this.dirtyChildren must be empty\n // and therefore must have been reset to null.\n assert(parent.dirtyChildren === null);\n\n return children;\n}\n\nfunction forgetChild(parent: AnyEntry, child: AnyEntry) {\n child.parents.delete(parent);\n parent.childValues.delete(child);\n removeDirtyChild(parent, child);\n}\n\nfunction maybeSubscribe(entry: AnyEntry) {\n if (typeof entry.subscribe === \"function\") {\n try {\n maybeUnsubscribe(entry); // Prevent double subscriptions.\n entry.unsubscribe = entry.subscribe.apply(null, entry.args);\n } catch (e) {\n // If this Entry has a subscribe function and it threw an exception\n // (or an unsubscribe function it previously returned now throws),\n // return false to indicate that we were not able to subscribe (or\n // unsubscribe), and this Entry should remain dirty.\n entry.setDirty();\n return false;\n }\n }\n\n // Returning true indicates either that there was no entry.subscribe\n // function or that it succeeded.\n return true;\n}\n\nfunction maybeUnsubscribe(entry: AnyEntry) {\n const { unsubscribe } = entry;\n if (typeof unsubscribe === \"function\") {\n entry.unsubscribe = void 0;\n unsubscribe();\n }\n}\n","// A trie data structure that holds object keys weakly, yet can also hold\n// non-object keys, unlike the native `WeakMap`.\nexport class KeyTrie {\n // Since a `WeakMap` cannot hold primitive values as keys, we need a\n // backup `Map` instance to hold primitive keys. Both `this._weakMap`\n // and `this._strongMap` are lazily initialized.\n private weak?: WeakMap>;\n private strong?: Map>;\n private data?: K;\n\n constructor(private readonly weakness: boolean) {}\n\n public lookup(...array: T): K {\n return this.lookupArray(array);\n }\n\n public lookupArray(array: T): K {\n let node: KeyTrie = this;\n array.forEach(key => node = node.getChildTrie(key));\n return node.data || (node.data = Object.create(null));\n }\n\n private getChildTrie(key: any) {\n const map = this.weakness && isObjRef(key)\n ? this.weak || (this.weak = new WeakMap>())\n : this.strong || (this.strong = new Map>());\n let child = map.get(key);\n if (!child) map.set(key, child = new KeyTrie(this.weakness));\n return child;\n }\n}\n\nfunction isObjRef(value: any) {\n switch (typeof value) {\n case \"object\":\n if (value === null) break;\n // Fall through to return true...\n case \"function\":\n return true;\n }\n return false;\n}\n","/* necessary for backward compat */\nexport * from 'apollo-client';\nexport * from 'apollo-link';\nexport * from 'apollo-cache-inmemory';\n\nimport { Operation, ApolloLink, Observable } from 'apollo-link';\nimport { HttpLink, UriFunction } from 'apollo-link-http';\nimport { onError, ErrorLink } from 'apollo-link-error';\nimport { ApolloCache } from 'apollo-cache';\nimport { InMemoryCache, CacheResolverMap } from 'apollo-cache-inmemory';\nimport gql from 'graphql-tag';\nimport ApolloClient, {\n Resolvers,\n LocalStateFragmentMatcher,\n} from 'apollo-client';\nimport { DocumentNode } from 'graphql';\nimport { invariant } from 'ts-invariant';\n\nexport { gql, HttpLink };\n\ntype ClientStateConfig = {\n cache?: ApolloCache;\n defaults?: Record;\n resolvers?: Resolvers | Resolvers[];\n typeDefs?: string | string[] | DocumentNode | DocumentNode[];\n fragmentMatcher?: LocalStateFragmentMatcher;\n};\n\nexport interface PresetConfig {\n request?: (operation: Operation) => Promise | void;\n uri?: string | UriFunction;\n credentials?: string;\n headers?: any;\n fetch?: WindowOrWorkerGlobalScope['fetch'];\n fetchOptions?: HttpLink.Options;\n clientState?: ClientStateConfig;\n onError?: ErrorLink.ErrorHandler;\n cacheRedirects?: CacheResolverMap;\n cache?: ApolloCache;\n name?: string;\n version?: string;\n resolvers?: Resolvers | Resolvers[];\n typeDefs?: string | string[] | DocumentNode | DocumentNode[];\n fragmentMatcher?: LocalStateFragmentMatcher;\n assumeImmutableResults?: boolean;\n}\n\n// Yes, these are the exact same as the `PresetConfig` interface. We're\n// defining these again so they can be used to verify that valid config\n// options are being used in the `DefaultClient` constructor, for clients\n// that aren't using Typescript. This duplication is unfortunate, and at\n// some point can likely be adjusted so these items are inferred from\n// the `PresetConfig` interface using a Typescript transform at compilation\n// time. Unfortunately, TS transforms with rollup don't appear to be quite\n// working properly, so this will have to be re-visited at some point.\n// For now, when updating the properties of the `PresetConfig` interface,\n// please also update this constant.\nconst PRESET_CONFIG_KEYS = [\n 'request',\n 'uri',\n 'credentials',\n 'headers',\n 'fetch',\n 'fetchOptions',\n 'clientState',\n 'onError',\n 'cacheRedirects',\n 'cache',\n 'name',\n 'version',\n 'resolvers',\n 'typeDefs',\n 'fragmentMatcher',\n];\n\nexport default class DefaultClient extends ApolloClient {\n constructor(config: PresetConfig = {}) {\n if (config) {\n const diff = Object.keys(config).filter(\n key => PRESET_CONFIG_KEYS.indexOf(key) === -1,\n );\n\n if (diff.length > 0) {\n invariant.warn(\n 'ApolloBoost was initialized with unsupported options: ' +\n `${diff.join(' ')}`,\n );\n }\n }\n\n const {\n request,\n uri,\n credentials,\n headers,\n fetch,\n fetchOptions,\n clientState,\n cacheRedirects,\n onError: errorCallback,\n name,\n version,\n resolvers,\n typeDefs,\n fragmentMatcher,\n } = config;\n\n let { cache } = config;\n\n invariant(\n !cache || !cacheRedirects,\n 'Incompatible cache configuration. When not providing `cache`, ' +\n 'configure the provided instance with `cacheRedirects` instead.',\n );\n\n if (!cache) {\n cache = cacheRedirects\n ? new InMemoryCache({ cacheRedirects })\n : new InMemoryCache();\n }\n\n const errorLink = errorCallback\n ? onError(errorCallback)\n : onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors) {\n graphQLErrors.forEach(({ message, locations, path }) =>\n // tslint:disable-next-line\n invariant.warn(\n `[GraphQL error]: Message: ${message}, Location: ` +\n `${locations}, Path: ${path}`,\n ),\n );\n }\n if (networkError) {\n // tslint:disable-next-line\n invariant.warn(`[Network error]: ${networkError}`);\n }\n });\n\n const requestHandler = request\n ? new ApolloLink(\n (operation, forward) =>\n new Observable(observer => {\n let handle: any;\n Promise.resolve(operation)\n .then(oper => request(oper))\n .then(() => {\n handle = forward(operation).subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n });\n })\n .catch(observer.error.bind(observer));\n\n return () => {\n if (handle) {\n handle.unsubscribe();\n }\n };\n }),\n )\n : false;\n\n const httpLink = new HttpLink({\n uri: uri || '/graphql',\n fetch,\n fetchOptions: fetchOptions || {},\n credentials: credentials || 'same-origin',\n headers: headers || {},\n });\n\n const link = ApolloLink.from([errorLink, requestHandler, httpLink].filter(\n x => !!x,\n ) as ApolloLink[]);\n\n let activeResolvers = resolvers;\n let activeTypeDefs = typeDefs;\n let activeFragmentMatcher = fragmentMatcher;\n if (clientState) {\n if (clientState.defaults) {\n cache.writeData({\n data: clientState.defaults,\n });\n }\n activeResolvers = clientState.resolvers;\n activeTypeDefs = clientState.typeDefs;\n activeFragmentMatcher = clientState.fragmentMatcher;\n }\n\n // super hacky, we will fix the types eventually\n super({\n cache,\n link,\n name,\n version,\n resolvers: activeResolvers,\n typeDefs: activeTypeDefs,\n fragmentMatcher: activeFragmentMatcher,\n } as any);\n }\n}\n","import { isTest, IdValue } from 'apollo-utilities';\nimport { invariant } from 'ts-invariant';\n\nimport {\n ReadStoreContext,\n FragmentMatcherInterface,\n PossibleTypesMap,\n IntrospectionResultData,\n} from './types';\n\nlet haveWarned = false;\n\nfunction shouldWarn() {\n const answer = !haveWarned;\n /* istanbul ignore if */\n if (!isTest()) {\n haveWarned = true;\n }\n return answer;\n}\n\n/**\n * This fragment matcher is very basic and unable to match union or interface type conditions\n */\nexport class HeuristicFragmentMatcher implements FragmentMatcherInterface {\n constructor() {\n // do nothing\n }\n\n public ensureReady() {\n return Promise.resolve();\n }\n\n public canBypassInit() {\n return true; // we don't need to initialize this fragment matcher.\n }\n\n public match(\n idValue: IdValue,\n typeCondition: string,\n context: ReadStoreContext,\n ): boolean | 'heuristic' {\n const obj = context.store.get(idValue.id);\n const isRootQuery = idValue.id === 'ROOT_QUERY';\n\n if (!obj) {\n // https://github.com/apollographql/apollo-client/pull/3507\n return isRootQuery;\n }\n\n const { __typename = isRootQuery && 'Query' } = obj;\n\n if (!__typename) {\n if (shouldWarn()) {\n invariant.warn(`You're using fragments in your queries, but either don't have the addTypename:\n true option set in Apollo Client, or you are trying to write a fragment to the store without the __typename.\n Please turn on the addTypename option and include __typename when writing fragments so that Apollo Client\n can accurately match fragments.`);\n invariant.warn(\n 'Could not find __typename on Fragment ',\n typeCondition,\n obj,\n );\n invariant.warn(\n `DEPRECATION WARNING: using fragments without __typename is unsupported behavior ` +\n `and will be removed in future versions of Apollo client. You should fix this and set addTypename to true now.`,\n );\n }\n\n return 'heuristic';\n }\n\n if (__typename === typeCondition) {\n return true;\n }\n\n // At this point we don't know if this fragment should match or not. It's\n // either:\n //\n // 1. (GOOD) A fragment on a matching interface or union.\n // 2. (BAD) A fragment on a non-matching concrete type or interface or union.\n //\n // If it's 2, we don't want it to match. If it's 1, we want it to match. We\n // can't tell the difference, so we warn the user, but still try to match\n // it (for backwards compatibility reasons). This unfortunately means that\n // using the `HeuristicFragmentMatcher` with unions and interfaces is\n // very unreliable. This will be addressed in a future major version of\n // Apollo Client, but for now the recommendation is to use the\n // `IntrospectionFragmentMatcher` when working with unions/interfaces.\n\n if (shouldWarn()) {\n invariant.error(\n 'You are using the simple (heuristic) fragment matcher, but your ' +\n 'queries contain union or interface types. Apollo Client will not be ' +\n 'able to accurately map fragments. To make this error go away, use ' +\n 'the `IntrospectionFragmentMatcher` as described in the docs: ' +\n 'https://www.apollographql.com/docs/react/advanced/fragments.html#fragment-matcher',\n );\n }\n\n return 'heuristic';\n }\n}\n\nexport class IntrospectionFragmentMatcher implements FragmentMatcherInterface {\n private isReady: boolean;\n private possibleTypesMap: PossibleTypesMap;\n\n constructor(options?: {\n introspectionQueryResultData?: IntrospectionResultData;\n }) {\n if (options && options.introspectionQueryResultData) {\n this.possibleTypesMap = this.parseIntrospectionResult(\n options.introspectionQueryResultData,\n );\n this.isReady = true;\n } else {\n this.isReady = false;\n }\n\n this.match = this.match.bind(this);\n }\n\n public match(\n idValue: IdValue,\n typeCondition: string,\n context: ReadStoreContext,\n ) {\n invariant(\n this.isReady,\n 'FragmentMatcher.match() was called before FragmentMatcher.init()',\n );\n\n const obj = context.store.get(idValue.id);\n const isRootQuery = idValue.id === 'ROOT_QUERY';\n\n if (!obj) {\n // https://github.com/apollographql/apollo-client/pull/4620\n return isRootQuery;\n }\n\n const { __typename = isRootQuery && 'Query' } = obj;\n\n invariant(\n __typename,\n `Cannot match fragment because __typename property is missing: ${JSON.stringify(\n obj,\n )}`,\n );\n\n if (__typename === typeCondition) {\n return true;\n }\n\n const implementingTypes = this.possibleTypesMap[typeCondition];\n if (\n __typename &&\n implementingTypes &&\n implementingTypes.indexOf(__typename) > -1\n ) {\n return true;\n }\n\n return false;\n }\n\n private parseIntrospectionResult(\n introspectionResultData: IntrospectionResultData,\n ): PossibleTypesMap {\n const typeMap: PossibleTypesMap = {};\n introspectionResultData.__schema.types.forEach(type => {\n if (type.kind === 'UNION' || type.kind === 'INTERFACE') {\n typeMap[type.name] = type.possibleTypes.map(\n implementingType => implementingType.name,\n );\n }\n });\n return typeMap;\n }\n}\n","import { NormalizedCache, NormalizedCacheObject, StoreObject } from './types';\nimport { wrap, OptimisticWrapperFunction } from 'optimism';\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nexport class DepTrackingCache implements NormalizedCache {\n // Wrapper function produced by the optimism library, used to depend on\n // dataId strings, for easy invalidation of specific IDs.\n private depend: OptimisticWrapperFunction<[string], StoreObject | undefined>;\n\n constructor(private data: NormalizedCacheObject = Object.create(null)) {\n this.depend = wrap((dataId: string) => this.data[dataId], {\n disposable: true,\n makeCacheKey(dataId: string) {\n return dataId;\n },\n });\n }\n\n public toObject(): NormalizedCacheObject {\n return this.data;\n }\n\n public get(dataId: string): StoreObject {\n this.depend(dataId);\n return this.data[dataId]!;\n }\n\n public set(dataId: string, value?: StoreObject) {\n const oldValue = this.data[dataId];\n if (value !== oldValue) {\n this.data[dataId] = value;\n this.depend.dirty(dataId);\n }\n }\n\n public delete(dataId: string): void {\n if (hasOwn.call(this.data, dataId)) {\n delete this.data[dataId];\n this.depend.dirty(dataId);\n }\n }\n\n public clear(): void {\n this.replace(null);\n }\n\n public replace(newData: NormalizedCacheObject | null): void {\n if (newData) {\n Object.keys(newData).forEach(dataId => {\n this.set(dataId, newData[dataId]);\n });\n Object.keys(this.data).forEach(dataId => {\n if (!hasOwn.call(newData, dataId)) {\n this.delete(dataId);\n }\n });\n } else {\n Object.keys(this.data).forEach(dataId => {\n this.delete(dataId);\n });\n }\n }\n}\n\nexport function defaultNormalizedCacheFactory(\n seed?: NormalizedCacheObject,\n): NormalizedCache {\n return new DepTrackingCache(seed);\n}\n","import {\n argumentsObjectFromField,\n assign,\n canUseWeakMap,\n createFragmentMap,\n DirectiveInfo,\n FragmentMap,\n getDefaultValues,\n getDirectiveInfoFromField,\n getFragmentDefinitions,\n getMainDefinition,\n getQueryDefinition,\n getStoreKeyName,\n IdValue,\n isEqual,\n isField,\n isIdValue,\n isInlineFragment,\n isJsonValue,\n maybeDeepFreeze,\n mergeDeepArray,\n resultKeyNameFromField,\n shouldInclude,\n StoreValue,\n toIdValue,\n} from 'apollo-utilities';\n\nimport { Cache } from 'apollo-cache';\n\nimport {\n ReadStoreContext,\n DiffQueryAgainstStoreOptions,\n ReadQueryOptions,\n StoreObject,\n} from './types';\n\nimport {\n DocumentNode,\n FieldNode,\n FragmentDefinitionNode,\n InlineFragmentNode,\n SelectionSetNode,\n} from 'graphql';\n\nimport { wrap, KeyTrie } from 'optimism';\nimport { DepTrackingCache } from './depTrackingCache';\nimport { invariant, InvariantError } from 'ts-invariant';\n\nexport type VariableMap = { [name: string]: any };\n\nexport type FragmentMatcher = (\n rootValue: any,\n typeCondition: string,\n context: ReadStoreContext,\n) => boolean | 'heuristic';\n\ntype ExecContext = {\n query: DocumentNode;\n fragmentMap: FragmentMap;\n contextValue: ReadStoreContext;\n variableValues: VariableMap;\n fragmentMatcher: FragmentMatcher;\n};\n\ntype ExecInfo = {\n resultKey: string;\n directives: DirectiveInfo;\n};\n\nexport type ExecResultMissingField = {\n object: StoreObject;\n fieldName: string;\n tolerable: boolean;\n};\n\nexport type ExecResult = {\n result: R;\n // Empty array if no missing fields encountered while computing result.\n missing?: ExecResultMissingField[];\n};\n\ntype ExecStoreQueryOptions = {\n query: DocumentNode;\n rootValue: IdValue;\n contextValue: ReadStoreContext;\n variableValues: VariableMap;\n // Default matcher always matches all fragments\n fragmentMatcher?: FragmentMatcher;\n};\n\ntype ExecSelectionSetOptions = {\n selectionSet: SelectionSetNode;\n rootValue: any;\n execContext: ExecContext;\n};\n\ntype ExecSubSelectedArrayOptions = {\n field: FieldNode;\n array: any[];\n execContext: ExecContext;\n};\n\nexport interface StoreReaderConfig {\n cacheKeyRoot?: KeyTrie;\n freezeResults?: boolean;\n}\n\nexport class StoreReader {\n private freezeResults: boolean;\n\n constructor({\n cacheKeyRoot = new KeyTrie(canUseWeakMap),\n freezeResults = false,\n }: StoreReaderConfig = {}) {\n const {\n executeStoreQuery,\n executeSelectionSet,\n executeSubSelectedArray,\n } = this;\n\n this.freezeResults = freezeResults;\n\n this.executeStoreQuery = wrap((options: ExecStoreQueryOptions) => {\n return executeStoreQuery.call(this, options);\n }, {\n makeCacheKey({\n query,\n rootValue,\n contextValue,\n variableValues,\n fragmentMatcher,\n }: ExecStoreQueryOptions) {\n // The result of executeStoreQuery can be safely cached only if the\n // underlying store is capable of tracking dependencies and invalidating\n // the cache when relevant data have changed.\n if (contextValue.store instanceof DepTrackingCache) {\n return cacheKeyRoot.lookup(\n contextValue.store,\n query,\n fragmentMatcher,\n JSON.stringify(variableValues),\n rootValue.id,\n );\n }\n }\n });\n\n this.executeSelectionSet = wrap((options: ExecSelectionSetOptions) => {\n return executeSelectionSet.call(this, options);\n }, {\n makeCacheKey({\n selectionSet,\n rootValue,\n execContext,\n }: ExecSelectionSetOptions) {\n if (execContext.contextValue.store instanceof DepTrackingCache) {\n return cacheKeyRoot.lookup(\n execContext.contextValue.store,\n selectionSet,\n execContext.fragmentMatcher,\n JSON.stringify(execContext.variableValues),\n rootValue.id,\n );\n }\n }\n });\n\n this.executeSubSelectedArray = wrap((options: ExecSubSelectedArrayOptions) => {\n return executeSubSelectedArray.call(this, options);\n }, {\n makeCacheKey({ field, array, execContext }) {\n if (execContext.contextValue.store instanceof DepTrackingCache) {\n return cacheKeyRoot.lookup(\n execContext.contextValue.store,\n field,\n array,\n JSON.stringify(execContext.variableValues),\n );\n }\n }\n });\n }\n\n /**\n * Resolves the result of a query solely from the store (i.e. never hits the server).\n *\n * @param {Store} store The {@link NormalizedCache} used by Apollo for the `data` portion of the\n * store.\n *\n * @param {DocumentNode} query The query document to resolve from the data available in the store.\n *\n * @param {Object} [variables] A map from the name of a variable to its value. These variables can\n * be referenced by the query document.\n *\n * @param {any} previousResult The previous result returned by this function for the same query.\n * If nothing in the store changed since that previous result then values from the previous result\n * will be returned to preserve referential equality.\n */\n public readQueryFromStore(\n options: ReadQueryOptions,\n ): QueryType | undefined {\n return this.diffQueryAgainstStore({\n ...options,\n returnPartialData: false,\n }).result;\n }\n\n /**\n * Given a store and a query, return as much of the result as possible and\n * identify if any data was missing from the store.\n * @param {DocumentNode} query A parsed GraphQL query document\n * @param {Store} store The Apollo Client store object\n * @param {any} previousResult The previous result returned by this function for the same query\n * @return {result: Object, complete: [boolean]}\n */\n public diffQueryAgainstStore({\n store,\n query,\n variables,\n previousResult,\n returnPartialData = true,\n rootId = 'ROOT_QUERY',\n fragmentMatcherFunction,\n config,\n }: DiffQueryAgainstStoreOptions): Cache.DiffResult {\n // Throw the right validation error by trying to find a query in the document\n const queryDefinition = getQueryDefinition(query);\n\n variables = assign({}, getDefaultValues(queryDefinition), variables);\n\n const context: ReadStoreContext = {\n // Global settings\n store,\n dataIdFromObject: config && config.dataIdFromObject,\n cacheRedirects: (config && config.cacheRedirects) || {},\n };\n\n const execResult = this.executeStoreQuery({\n query,\n rootValue: {\n type: 'id',\n id: rootId,\n generated: true,\n typename: 'Query',\n },\n contextValue: context,\n variableValues: variables,\n fragmentMatcher: fragmentMatcherFunction,\n });\n\n const hasMissingFields =\n execResult.missing && execResult.missing.length > 0;\n\n if (hasMissingFields && ! returnPartialData) {\n execResult.missing!.forEach(info => {\n if (info.tolerable) return;\n throw new InvariantError(\n `Can't find field ${info.fieldName} on object ${JSON.stringify(\n info.object,\n null,\n 2,\n )}.`,\n );\n });\n }\n\n if (previousResult) {\n if (isEqual(previousResult, execResult.result)) {\n execResult.result = previousResult;\n }\n }\n\n return {\n result: execResult.result,\n complete: !hasMissingFields,\n };\n }\n\n /**\n * Based on graphql function from graphql-js:\n *\n * graphql(\n * schema: GraphQLSchema,\n * requestString: string,\n * rootValue?: ?any,\n * contextValue?: ?any,\n * variableValues?: ?{[key: string]: any},\n * operationName?: ?string\n * ): Promise\n *\n * The default export as of graphql-anywhere is sync as of 4.0,\n * but below is an exported alternative that is async.\n * In the 5.0 version, this will be the only export again\n * and it will be async\n *\n */\n private executeStoreQuery({\n query,\n rootValue,\n contextValue,\n variableValues,\n // Default matcher always matches all fragments\n fragmentMatcher = defaultFragmentMatcher,\n }: ExecStoreQueryOptions): ExecResult {\n const mainDefinition = getMainDefinition(query);\n const fragments = getFragmentDefinitions(query);\n const fragmentMap = createFragmentMap(fragments);\n const execContext: ExecContext = {\n query,\n fragmentMap,\n contextValue,\n variableValues,\n fragmentMatcher,\n };\n\n return this.executeSelectionSet({\n selectionSet: mainDefinition.selectionSet,\n rootValue,\n execContext,\n });\n }\n\n private executeSelectionSet({\n selectionSet,\n rootValue,\n execContext,\n }: ExecSelectionSetOptions): ExecResult {\n const { fragmentMap, contextValue, variableValues: variables } = execContext;\n const finalResult: ExecResult = { result: null };\n\n const objectsToMerge: { [key: string]: any }[] = [];\n\n const object: StoreObject = contextValue.store.get(rootValue.id);\n\n const typename =\n (object && object.__typename) ||\n (rootValue.id === 'ROOT_QUERY' && 'Query') ||\n void 0;\n\n function handleMissing(result: ExecResult): T {\n if (result.missing) {\n finalResult.missing = finalResult.missing || [];\n finalResult.missing.push(...result.missing);\n }\n return result.result;\n }\n\n selectionSet.selections.forEach(selection => {\n if (!shouldInclude(selection, variables)) {\n // Skip this entirely\n return;\n }\n\n if (isField(selection)) {\n const fieldResult = handleMissing(\n this.executeField(object, typename, selection, execContext),\n );\n\n if (typeof fieldResult !== 'undefined') {\n objectsToMerge.push({\n [resultKeyNameFromField(selection)]: fieldResult,\n });\n }\n\n } else {\n let fragment: InlineFragmentNode | FragmentDefinitionNode;\n\n if (isInlineFragment(selection)) {\n fragment = selection;\n } else {\n // This is a named fragment\n fragment = fragmentMap[selection.name.value];\n\n if (!fragment) {\n throw new InvariantError(`No fragment named ${selection.name.value}`);\n }\n }\n\n const typeCondition =\n fragment.typeCondition && fragment.typeCondition.name.value;\n\n const match =\n !typeCondition ||\n execContext.fragmentMatcher(rootValue, typeCondition, contextValue);\n\n if (match) {\n let fragmentExecResult = this.executeSelectionSet({\n selectionSet: fragment.selectionSet,\n rootValue,\n execContext,\n });\n\n if (match === 'heuristic' && fragmentExecResult.missing) {\n fragmentExecResult = {\n ...fragmentExecResult,\n missing: fragmentExecResult.missing.map(info => {\n return { ...info, tolerable: true };\n }),\n };\n }\n\n objectsToMerge.push(handleMissing(fragmentExecResult));\n }\n }\n });\n\n // Perform a single merge at the end so that we can avoid making more\n // defensive shallow copies than necessary.\n finalResult.result = mergeDeepArray(objectsToMerge);\n\n if (this.freezeResults && process.env.NODE_ENV !== 'production') {\n Object.freeze(finalResult.result);\n }\n\n return finalResult;\n }\n\n private executeField(\n object: StoreObject,\n typename: string | void,\n field: FieldNode,\n execContext: ExecContext,\n ): ExecResult {\n const { variableValues: variables, contextValue } = execContext;\n const fieldName = field.name.value;\n const args = argumentsObjectFromField(field, variables);\n\n const info: ExecInfo = {\n resultKey: resultKeyNameFromField(field),\n directives: getDirectiveInfoFromField(field, variables),\n };\n\n const readStoreResult = readStoreResolver(\n object,\n typename,\n fieldName,\n args,\n contextValue,\n info,\n );\n\n if (Array.isArray(readStoreResult.result)) {\n return this.combineExecResults(\n readStoreResult,\n this.executeSubSelectedArray({\n field,\n array: readStoreResult.result,\n execContext,\n }),\n );\n }\n\n // Handle all scalar types here\n if (!field.selectionSet) {\n assertSelectionSetForIdValue(field, readStoreResult.result);\n if (this.freezeResults && process.env.NODE_ENV !== 'production') {\n maybeDeepFreeze(readStoreResult);\n }\n return readStoreResult;\n }\n\n // From here down, the field has a selection set, which means it's trying to\n // query a GraphQLObjectType\n if (readStoreResult.result == null) {\n // Basically any field in a GraphQL response can be null, or missing\n return readStoreResult;\n }\n\n // Returned value is an object, and the query has a sub-selection. Recurse.\n return this.combineExecResults(\n readStoreResult,\n this.executeSelectionSet({\n selectionSet: field.selectionSet,\n rootValue: readStoreResult.result,\n execContext,\n }),\n );\n }\n\n private combineExecResults(\n ...execResults: ExecResult[]\n ): ExecResult {\n let missing: ExecResultMissingField[] | undefined;\n execResults.forEach(execResult => {\n if (execResult.missing) {\n missing = missing || [];\n missing.push(...execResult.missing);\n }\n });\n return {\n result: execResults.pop()!.result,\n missing,\n };\n }\n\n private executeSubSelectedArray({\n field,\n array,\n execContext,\n }: ExecSubSelectedArrayOptions): ExecResult {\n let missing: ExecResultMissingField[] | undefined;\n\n function handleMissing(childResult: ExecResult): T {\n if (childResult.missing) {\n missing = missing || [];\n missing.push(...childResult.missing);\n }\n\n return childResult.result;\n }\n\n array = array.map(item => {\n // null value in array\n if (item === null) {\n return null;\n }\n\n // This is a nested array, recurse\n if (Array.isArray(item)) {\n return handleMissing(this.executeSubSelectedArray({\n field,\n array: item,\n execContext,\n }));\n }\n\n // This is an object, run the selection set on it\n if (field.selectionSet) {\n return handleMissing(this.executeSelectionSet({\n selectionSet: field.selectionSet,\n rootValue: item,\n execContext,\n }));\n }\n\n assertSelectionSetForIdValue(field, item);\n\n return item;\n });\n\n if (this.freezeResults && process.env.NODE_ENV !== 'production') {\n Object.freeze(array);\n }\n\n return { result: array, missing };\n }\n}\n\nfunction assertSelectionSetForIdValue(\n field: FieldNode,\n value: any,\n) {\n if (!field.selectionSet && isIdValue(value)) {\n throw new InvariantError(\n `Missing selection set for object of type ${\n value.typename\n } returned for query field ${field.name.value}`\n );\n }\n}\n\nfunction defaultFragmentMatcher() {\n return true;\n}\n\nexport function assertIdValue(idValue: IdValue) {\n invariant(isIdValue(idValue), `\\\nEncountered a sub-selection on the query, but the store doesn't have \\\nan object reference. This should never happen during normal use unless you have custom code \\\nthat is directly manipulating the store; please file an issue.`);\n}\n\nfunction readStoreResolver(\n object: StoreObject,\n typename: string | void,\n fieldName: string,\n args: any,\n context: ReadStoreContext,\n { resultKey, directives }: ExecInfo,\n): ExecResult {\n let storeKeyName = fieldName;\n if (args || directives) {\n // We happen to know here that getStoreKeyName returns its first\n // argument unmodified if there are no args or directives, so we can\n // avoid calling the function at all in that case, as a small but\n // important optimization to this frequently executed code.\n storeKeyName = getStoreKeyName(storeKeyName, args, directives);\n }\n\n let fieldValue: StoreValue | void = void 0;\n\n if (object) {\n fieldValue = object[storeKeyName];\n\n if (\n typeof fieldValue === 'undefined' &&\n context.cacheRedirects &&\n typeof typename === 'string'\n ) {\n // Look for the type in the custom resolver map\n const type = context.cacheRedirects[typename];\n if (type) {\n // Look for the field in the custom resolver map\n const resolver = type[fieldName];\n if (resolver) {\n fieldValue = resolver(object, args, {\n getCacheKey(storeObj: StoreObject) {\n const id = context.dataIdFromObject!(storeObj);\n return id && toIdValue({\n id,\n typename: storeObj.__typename,\n });\n },\n });\n }\n }\n }\n }\n\n if (typeof fieldValue === 'undefined') {\n return {\n result: fieldValue,\n missing: [{\n object,\n fieldName: storeKeyName,\n tolerable: false,\n }],\n };\n }\n\n if (isJsonValue(fieldValue)) {\n fieldValue = fieldValue.json;\n }\n\n return {\n result: fieldValue,\n };\n}\n","import { NormalizedCache, NormalizedCacheObject, StoreObject } from './types';\n\nexport class ObjectCache implements NormalizedCache {\n constructor(protected data: NormalizedCacheObject = Object.create(null)) {}\n\n public toObject() {\n return this.data;\n }\n\n public get(dataId: string) {\n return this.data[dataId]!;\n }\n\n public set(dataId: string, value: StoreObject) {\n this.data[dataId] = value;\n }\n\n public delete(dataId: string) {\n this.data[dataId] = void 0;\n }\n\n public clear() {\n this.data = Object.create(null);\n }\n\n public replace(newData: NormalizedCacheObject) {\n this.data = newData || Object.create(null);\n }\n}\n\nexport function defaultNormalizedCacheFactory(\n seed?: NormalizedCacheObject,\n): NormalizedCache {\n return new ObjectCache(seed);\n}\n","import {\n SelectionSetNode,\n FieldNode,\n DocumentNode,\n InlineFragmentNode,\n FragmentDefinitionNode,\n} from 'graphql';\nimport { FragmentMatcher } from './readFromStore';\n\nimport {\n assign,\n createFragmentMap,\n FragmentMap,\n getDefaultValues,\n getFragmentDefinitions,\n getOperationDefinition,\n IdValue,\n isField,\n isIdValue,\n isInlineFragment,\n isProduction,\n resultKeyNameFromField,\n shouldInclude,\n storeKeyNameFromField,\n StoreValue,\n toIdValue,\n isEqual,\n} from 'apollo-utilities';\n\nimport { invariant } from 'ts-invariant';\n\nimport { ObjectCache } from './objectCache';\nimport { defaultNormalizedCacheFactory } from './depTrackingCache';\n\nimport {\n IdGetter,\n NormalizedCache,\n ReadStoreContext,\n StoreObject,\n} from './types';\n\nexport class WriteError extends Error {\n public type = 'WriteError';\n}\n\nexport function enhanceErrorWithDocument(error: Error, document: DocumentNode) {\n // XXX A bit hacky maybe ...\n const enhancedError = new WriteError(\n `Error writing result to store for query:\\n ${JSON.stringify(document)}`,\n );\n enhancedError.message += '\\n' + error.message;\n enhancedError.stack = error.stack;\n return enhancedError;\n}\n\nexport type WriteContext = {\n readonly store: NormalizedCache;\n readonly processedData?: { [x: string]: FieldNode[] };\n readonly variables?: any;\n readonly dataIdFromObject?: IdGetter;\n readonly fragmentMap?: FragmentMap;\n readonly fragmentMatcherFunction?: FragmentMatcher;\n};\n\nexport class StoreWriter {\n /**\n * Writes the result of a query to the store.\n *\n * @param result The result object returned for the query document.\n *\n * @param query The query document whose result we are writing to the store.\n *\n * @param store The {@link NormalizedCache} used by Apollo for the `data` portion of the store.\n *\n * @param variables A map from the name of a variable to its value. These variables can be\n * referenced by the query document.\n *\n * @param dataIdFromObject A function that returns an object identifier given a particular result\n * object. See the store documentation for details and an example of this function.\n *\n * @param fragmentMatcherFunction A function to use for matching fragment conditions in GraphQL documents\n */\n public writeQueryToStore({\n query,\n result,\n store = defaultNormalizedCacheFactory(),\n variables,\n dataIdFromObject,\n fragmentMatcherFunction,\n }: {\n query: DocumentNode;\n result: Object;\n store?: NormalizedCache;\n variables?: Object;\n dataIdFromObject?: IdGetter;\n fragmentMatcherFunction?: FragmentMatcher;\n }): NormalizedCache {\n return this.writeResultToStore({\n dataId: 'ROOT_QUERY',\n result,\n document: query,\n store,\n variables,\n dataIdFromObject,\n fragmentMatcherFunction,\n });\n }\n\n public writeResultToStore({\n dataId,\n result,\n document,\n store = defaultNormalizedCacheFactory(),\n variables,\n dataIdFromObject,\n fragmentMatcherFunction,\n }: {\n dataId: string;\n result: any;\n document: DocumentNode;\n store?: NormalizedCache;\n variables?: Object;\n dataIdFromObject?: IdGetter;\n fragmentMatcherFunction?: FragmentMatcher;\n }): NormalizedCache {\n // XXX TODO REFACTOR: this is a temporary workaround until query normalization is made to work with documents.\n const operationDefinition = getOperationDefinition(document)!;\n\n try {\n return this.writeSelectionSetToStore({\n result,\n dataId,\n selectionSet: operationDefinition.selectionSet,\n context: {\n store,\n processedData: {},\n variables: assign(\n {},\n getDefaultValues(operationDefinition),\n variables,\n ),\n dataIdFromObject,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n fragmentMatcherFunction,\n },\n });\n } catch (e) {\n throw enhanceErrorWithDocument(e, document);\n }\n }\n\n public writeSelectionSetToStore({\n result,\n dataId,\n selectionSet,\n context,\n }: {\n dataId: string;\n result: any;\n selectionSet: SelectionSetNode;\n context: WriteContext;\n }): NormalizedCache {\n const { variables, store, fragmentMap } = context;\n\n selectionSet.selections.forEach(selection => {\n if (!shouldInclude(selection, variables)) {\n return;\n }\n\n if (isField(selection)) {\n const resultFieldKey: string = resultKeyNameFromField(selection);\n const value: any = result[resultFieldKey];\n\n if (typeof value !== 'undefined') {\n this.writeFieldToStore({\n dataId,\n value,\n field: selection,\n context,\n });\n } else {\n let isDefered = false;\n let isClient = false;\n if (selection.directives && selection.directives.length) {\n // If this is a defered field we don't need to throw / warn.\n isDefered = selection.directives.some(\n directive => directive.name && directive.name.value === 'defer',\n );\n\n // When using the @client directive, it might be desirable in\n // some cases to want to write a selection set to the store,\n // without having all of the selection set values available.\n // This is because the @client field values might have already\n // been written to the cache separately (e.g. via Apollo\n // Cache's `writeData` capabilities). Because of this, we'll\n // skip the missing field warning for fields with @client\n // directives.\n isClient = selection.directives.some(\n directive => directive.name && directive.name.value === 'client',\n );\n }\n\n if (!isDefered && !isClient && context.fragmentMatcherFunction) {\n // XXX We'd like to throw an error, but for backwards compatibility's sake\n // we just print a warning for the time being.\n //throw new WriteError(`Missing field ${resultFieldKey} in ${JSON.stringify(result, null, 2).substring(0, 100)}`);\n invariant.warn(\n `Missing field ${resultFieldKey} in ${JSON.stringify(\n result,\n null,\n 2,\n ).substring(0, 100)}`,\n );\n }\n }\n } else {\n // This is not a field, so it must be a fragment, either inline or named\n let fragment: InlineFragmentNode | FragmentDefinitionNode;\n\n if (isInlineFragment(selection)) {\n fragment = selection;\n } else {\n // Named fragment\n fragment = (fragmentMap || {})[selection.name.value];\n invariant(fragment, `No fragment named ${selection.name.value}.`);\n }\n\n let matches = true;\n if (context.fragmentMatcherFunction && fragment.typeCondition) {\n // TODO we need to rewrite the fragment matchers for this to work properly and efficiently\n // Right now we have to pretend that we're passing in an idValue and that there's a store\n // on the context.\n const id = dataId || 'self';\n const idValue = toIdValue({ id, typename: undefined });\n const fakeContext: ReadStoreContext = {\n // NOTE: fakeContext always uses ObjectCache\n // since this is only to ensure the return value of 'matches'\n store: new ObjectCache({ [id]: result }),\n cacheRedirects: {},\n };\n const match = context.fragmentMatcherFunction(\n idValue,\n fragment.typeCondition.name.value,\n fakeContext,\n );\n if (!isProduction() && match === 'heuristic') {\n invariant.error('WARNING: heuristic fragment matching going on!');\n }\n matches = !!match;\n }\n\n if (matches) {\n this.writeSelectionSetToStore({\n result,\n selectionSet: fragment.selectionSet,\n dataId,\n context,\n });\n }\n }\n });\n\n return store;\n }\n\n private writeFieldToStore({\n field,\n value,\n dataId,\n context,\n }: {\n field: FieldNode;\n value: any;\n dataId: string;\n context: WriteContext;\n }) {\n const { variables, dataIdFromObject, store } = context;\n\n let storeValue: StoreValue;\n let storeObject: StoreObject;\n\n const storeFieldName: string = storeKeyNameFromField(field, variables);\n\n // If this is a scalar value...\n if (!field.selectionSet || value === null) {\n storeValue =\n value != null && typeof value === 'object'\n ? // If the scalar value is a JSON blob, we have to \"escape\" it so it can’t pretend to be\n // an id.\n { type: 'json', json: value }\n : // Otherwise, just store the scalar directly in the store.\n value;\n } else if (Array.isArray(value)) {\n const generatedId = `${dataId}.${storeFieldName}`;\n\n storeValue = this.processArrayValue(\n value,\n generatedId,\n field.selectionSet,\n context,\n );\n } else {\n // It's an object\n let valueDataId = `${dataId}.${storeFieldName}`;\n let generated = true;\n\n // We only prepend the '$' if the valueDataId isn't already a generated\n // id.\n if (!isGeneratedId(valueDataId)) {\n valueDataId = '$' + valueDataId;\n }\n\n if (dataIdFromObject) {\n const semanticId = dataIdFromObject(value);\n\n // We throw an error if the first character of the id is '$. This is\n // because we use that character to designate an Apollo-generated id\n // and we use the distinction between user-desiginated and application-provided\n // ids when managing overwrites.\n invariant(\n !semanticId || !isGeneratedId(semanticId),\n 'IDs returned by dataIdFromObject cannot begin with the \"$\" character.',\n );\n\n if (\n semanticId ||\n (typeof semanticId === 'number' && semanticId === 0)\n ) {\n valueDataId = semanticId;\n generated = false;\n }\n }\n\n if (!isDataProcessed(valueDataId, field, context.processedData)) {\n this.writeSelectionSetToStore({\n dataId: valueDataId,\n result: value,\n selectionSet: field.selectionSet,\n context,\n });\n }\n\n // We take the id and escape it (i.e. wrap it with an enclosing object).\n // This allows us to distinguish IDs from normal scalars.\n const typename = value.__typename;\n storeValue = toIdValue({ id: valueDataId, typename }, generated);\n\n // check if there was a generated id at the location where we're\n // about to place this new id. If there was, we have to merge the\n // data from that id with the data we're about to write in the store.\n storeObject = store.get(dataId);\n const escapedId =\n storeObject && (storeObject[storeFieldName] as IdValue | undefined);\n if (escapedId !== storeValue && isIdValue(escapedId)) {\n const hadTypename = escapedId.typename !== undefined;\n const hasTypename = typename !== undefined;\n const typenameChanged =\n hadTypename && hasTypename && escapedId.typename !== typename;\n\n // If there is already a real id in the store and the current id we\n // are dealing with is generated, we throw an error.\n // One exception we allow is when the typename has changed, which occurs\n // when schema defines a union, both with and without an ID in the same place.\n // checks if we \"lost\" the read id\n invariant(\n !generated || escapedId.generated || typenameChanged,\n `Store error: the application attempted to write an object with no provided id but the store already contains an id of ${\n escapedId.id\n } for this object. The selectionSet that was trying to be written is:\\n${\n JSON.stringify(field)\n }`,\n );\n\n // checks if we \"lost\" the typename\n invariant(\n !hadTypename || hasTypename,\n `Store error: the application attempted to write an object with no provided typename but the store already contains an object with typename of ${\n escapedId.typename\n } for the object of id ${escapedId.id}. The selectionSet that was trying to be written is:\\n${\n JSON.stringify(field)\n }`,\n );\n\n if (escapedId.generated) {\n // We should only merge if it's an object of the same type,\n // otherwise we should delete the generated object\n if (typenameChanged) {\n // Only delete the generated object when the old object was\n // inlined, and the new object is not. This is indicated by\n // the old id being generated, and the new id being real.\n if (!generated) {\n store.delete(escapedId.id);\n }\n } else {\n mergeWithGenerated(escapedId.id, (storeValue as IdValue).id, store);\n }\n }\n }\n }\n\n storeObject = store.get(dataId);\n if (!storeObject || !isEqual(storeValue, storeObject[storeFieldName])) {\n store.set(dataId, {\n ...storeObject,\n [storeFieldName]: storeValue,\n });\n }\n }\n\n private processArrayValue(\n value: any[],\n generatedId: string,\n selectionSet: SelectionSetNode,\n context: WriteContext,\n ): any[] {\n return value.map((item: any, index: any) => {\n if (item === null) {\n return null;\n }\n\n let itemDataId = `${generatedId}.${index}`;\n\n if (Array.isArray(item)) {\n return this.processArrayValue(item, itemDataId, selectionSet, context);\n }\n\n let generated = true;\n\n if (context.dataIdFromObject) {\n const semanticId = context.dataIdFromObject(item);\n\n if (semanticId) {\n itemDataId = semanticId;\n generated = false;\n }\n }\n\n if (!isDataProcessed(itemDataId, selectionSet, context.processedData)) {\n this.writeSelectionSetToStore({\n dataId: itemDataId,\n result: item,\n selectionSet,\n context,\n });\n }\n\n return toIdValue(\n { id: itemDataId, typename: item.__typename },\n generated,\n );\n });\n }\n}\n\n// Checks if the id given is an id that was generated by Apollo\n// rather than by dataIdFromObject.\nfunction isGeneratedId(id: string): boolean {\n return id[0] === '$';\n}\n\nfunction mergeWithGenerated(\n generatedKey: string,\n realKey: string,\n cache: NormalizedCache,\n): boolean {\n if (generatedKey === realKey) {\n return false;\n }\n\n const generated = cache.get(generatedKey);\n const real = cache.get(realKey);\n let madeChanges = false;\n\n Object.keys(generated).forEach(key => {\n const value = generated[key];\n const realValue = real[key];\n\n if (\n isIdValue(value) &&\n isGeneratedId(value.id) &&\n isIdValue(realValue) &&\n !isEqual(value, realValue) &&\n mergeWithGenerated(value.id, realValue.id, cache)\n ) {\n madeChanges = true;\n }\n });\n\n cache.delete(generatedKey);\n const newRealValue = { ...generated, ...real };\n\n if (isEqual(newRealValue, real)) {\n return madeChanges;\n }\n\n cache.set(realKey, newRealValue);\n return true;\n}\n\nfunction isDataProcessed(\n dataId: string,\n field: FieldNode | SelectionSetNode,\n processedData?: { [x: string]: (FieldNode | SelectionSetNode)[] },\n): boolean {\n if (!processedData) {\n return false;\n }\n\n if (processedData[dataId]) {\n if (processedData[dataId].indexOf(field) >= 0) {\n return true;\n } else {\n processedData[dataId].push(field);\n }\n } else {\n processedData[dataId] = [field];\n }\n\n return false;\n}\n","// Make builtins like Map and Set safe to use with non-extensible objects.\nimport './fixPolyfills';\n\nimport { DocumentNode } from 'graphql';\n\nimport { Cache, ApolloCache, Transaction } from 'apollo-cache';\n\nimport { addTypenameToDocument, canUseWeakMap } from 'apollo-utilities';\n\nimport { wrap } from 'optimism';\n\nimport { invariant, InvariantError } from 'ts-invariant';\n\nimport { HeuristicFragmentMatcher } from './fragmentMatcher';\nimport {\n ApolloReducerConfig,\n NormalizedCache,\n NormalizedCacheObject,\n} from './types';\n\nimport { StoreReader } from './readFromStore';\nimport { StoreWriter } from './writeToStore';\nimport { DepTrackingCache } from './depTrackingCache';\nimport { KeyTrie } from 'optimism';\nimport { ObjectCache } from './objectCache';\n\nexport interface InMemoryCacheConfig extends ApolloReducerConfig {\n resultCaching?: boolean;\n freezeResults?: boolean;\n}\n\nconst defaultConfig: InMemoryCacheConfig = {\n fragmentMatcher: new HeuristicFragmentMatcher(),\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n freezeResults: false,\n};\n\nexport function defaultDataIdFromObject(result: any): string | null {\n if (result.__typename) {\n if (result.id !== undefined) {\n return `${result.__typename}:${result.id}`;\n }\n if (result._id !== undefined) {\n return `${result.__typename}:${result._id}`;\n }\n }\n return null;\n}\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nexport class OptimisticCacheLayer extends ObjectCache {\n constructor(\n public readonly optimisticId: string,\n // OptimisticCacheLayer objects always wrap some other parent cache, so\n // this.parent should never be null.\n public readonly parent: NormalizedCache,\n public readonly transaction: Transaction,\n ) {\n super(Object.create(null));\n }\n\n public toObject(): NormalizedCacheObject {\n return {\n ...this.parent.toObject(),\n ...this.data,\n };\n }\n\n // All the other accessor methods of ObjectCache work without knowing about\n // this.parent, but the get method needs to be overridden to implement the\n // fallback this.parent.get(dataId) behavior.\n public get(dataId: string) {\n return hasOwn.call(this.data, dataId)\n ? this.data[dataId]\n : this.parent.get(dataId);\n }\n}\n\nexport class InMemoryCache extends ApolloCache {\n private data: NormalizedCache;\n private optimisticData: NormalizedCache;\n\n protected config: InMemoryCacheConfig;\n private watches = new Set();\n private addTypename: boolean;\n private typenameDocumentCache = new Map();\n private storeReader: StoreReader;\n private storeWriter: StoreWriter;\n private cacheKeyRoot = new KeyTrie(canUseWeakMap);\n\n // Set this while in a transaction to prevent broadcasts...\n // don't forget to turn it back on!\n private silenceBroadcast: boolean = false;\n\n constructor(config: InMemoryCacheConfig = {}) {\n super();\n this.config = { ...defaultConfig, ...config };\n\n // backwards compat\n if ((this.config as any).customResolvers) {\n invariant.warn(\n 'customResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating customResolvers in the next major version.',\n );\n this.config.cacheRedirects = (this.config as any).customResolvers;\n }\n\n if ((this.config as any).cacheResolvers) {\n invariant.warn(\n 'cacheResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating cacheResolvers in the next major version.',\n );\n this.config.cacheRedirects = (this.config as any).cacheResolvers;\n }\n\n this.addTypename = !!this.config.addTypename;\n\n // Passing { resultCaching: false } in the InMemoryCache constructor options\n // will completely disable dependency tracking, which will improve memory\n // usage but worsen the performance of repeated reads.\n this.data = this.config.resultCaching\n ? new DepTrackingCache()\n : new ObjectCache();\n\n // When no optimistic writes are currently active, cache.optimisticData ===\n // cache.data, so there are no additional layers on top of the actual data.\n // When an optimistic update happens, this.optimisticData will become a\n // linked list of OptimisticCacheLayer objects that terminates with the\n // original this.data cache object.\n this.optimisticData = this.data;\n\n this.storeWriter = new StoreWriter();\n this.storeReader = new StoreReader({\n cacheKeyRoot: this.cacheKeyRoot,\n freezeResults: config.freezeResults,\n });\n\n const cache = this;\n const { maybeBroadcastWatch } = cache;\n this.maybeBroadcastWatch = wrap((c: Cache.WatchOptions) => {\n return maybeBroadcastWatch.call(this, c);\n }, {\n makeCacheKey(c: Cache.WatchOptions) {\n if (c.optimistic) {\n // If we're reading optimistic data, it doesn't matter if this.data\n // is a DepTrackingCache, since it will be ignored.\n return;\n }\n\n if (c.previousResult) {\n // If a previousResult was provided, assume the caller would prefer\n // to compare the previous data to the new data to determine whether\n // to broadcast, so we should disable caching by returning here, to\n // give maybeBroadcastWatch a chance to do that comparison.\n return;\n }\n\n if (cache.data instanceof DepTrackingCache) {\n // Return a cache key (thus enabling caching) only if we're currently\n // using a data store that can track cache dependencies.\n return cache.cacheKeyRoot.lookup(\n c.query,\n JSON.stringify(c.variables),\n );\n }\n }\n });\n }\n\n public restore(data: NormalizedCacheObject): this {\n if (data) this.data.replace(data);\n return this;\n }\n\n public extract(optimistic: boolean = false): NormalizedCacheObject {\n return (optimistic ? this.optimisticData : this.data).toObject();\n }\n\n public read(options: Cache.ReadOptions): T | null {\n if (typeof options.rootId === 'string' &&\n typeof this.data.get(options.rootId) === 'undefined') {\n return null;\n }\n\n const { fragmentMatcher } = this.config;\n const fragmentMatcherFunction = fragmentMatcher && fragmentMatcher.match;\n\n return this.storeReader.readQueryFromStore({\n store: options.optimistic ? this.optimisticData : this.data,\n query: this.transformDocument(options.query),\n variables: options.variables,\n rootId: options.rootId,\n fragmentMatcherFunction,\n previousResult: options.previousResult,\n config: this.config,\n }) || null;\n }\n\n public write(write: Cache.WriteOptions): void {\n const { fragmentMatcher } = this.config;\n const fragmentMatcherFunction = fragmentMatcher && fragmentMatcher.match;\n\n this.storeWriter.writeResultToStore({\n dataId: write.dataId,\n result: write.result,\n variables: write.variables,\n document: this.transformDocument(write.query),\n store: this.data,\n dataIdFromObject: this.config.dataIdFromObject,\n fragmentMatcherFunction,\n });\n\n this.broadcastWatches();\n }\n\n public diff(query: Cache.DiffOptions): Cache.DiffResult {\n const { fragmentMatcher } = this.config;\n const fragmentMatcherFunction = fragmentMatcher && fragmentMatcher.match;\n\n return this.storeReader.diffQueryAgainstStore({\n store: query.optimistic ? this.optimisticData : this.data,\n query: this.transformDocument(query.query),\n variables: query.variables,\n returnPartialData: query.returnPartialData,\n previousResult: query.previousResult,\n fragmentMatcherFunction,\n config: this.config,\n });\n }\n\n public watch(watch: Cache.WatchOptions): () => void {\n this.watches.add(watch);\n\n return () => {\n this.watches.delete(watch);\n };\n }\n\n public evict(query: Cache.EvictOptions): Cache.EvictionResult {\n throw new InvariantError(`eviction is not implemented on InMemory Cache`);\n }\n\n public reset(): Promise {\n this.data.clear();\n this.broadcastWatches();\n\n return Promise.resolve();\n }\n\n public removeOptimistic(idToRemove: string) {\n const toReapply: OptimisticCacheLayer[] = [];\n let removedCount = 0;\n let layer = this.optimisticData;\n\n while (layer instanceof OptimisticCacheLayer) {\n if (layer.optimisticId === idToRemove) {\n ++removedCount;\n } else {\n toReapply.push(layer);\n }\n layer = layer.parent;\n }\n\n if (removedCount > 0) {\n // Reset this.optimisticData to the first non-OptimisticCacheLayer object,\n // which is almost certainly this.data.\n this.optimisticData = layer;\n\n // Reapply the layers whose optimistic IDs do not match the removed ID.\n while (toReapply.length > 0) {\n const layer = toReapply.pop()!;\n this.performTransaction(layer.transaction, layer.optimisticId);\n }\n\n this.broadcastWatches();\n }\n }\n\n public performTransaction(\n transaction: Transaction,\n // This parameter is not part of the performTransaction signature inherited\n // from the ApolloCache abstract class, but it's useful because it saves us\n // from duplicating this implementation in recordOptimisticTransaction.\n optimisticId?: string,\n ) {\n const { data, silenceBroadcast } = this;\n this.silenceBroadcast = true;\n\n if (typeof optimisticId === 'string') {\n // Add a new optimistic layer and temporarily make this.data refer to\n // that layer for the duration of the transaction.\n this.data = this.optimisticData = new OptimisticCacheLayer(\n // Note that there can be multiple layers with the same optimisticId.\n // When removeOptimistic(id) is called for that id, all matching layers\n // will be removed, and the remaining layers will be reapplied.\n optimisticId,\n this.optimisticData,\n transaction,\n );\n }\n\n try {\n transaction(this);\n } finally {\n this.silenceBroadcast = silenceBroadcast;\n this.data = data;\n }\n\n // This broadcast does nothing if this.silenceBroadcast is true.\n this.broadcastWatches();\n }\n\n public recordOptimisticTransaction(\n transaction: Transaction,\n id: string,\n ) {\n return this.performTransaction(transaction, id);\n }\n\n public transformDocument(document: DocumentNode): DocumentNode {\n if (this.addTypename) {\n let result = this.typenameDocumentCache.get(document);\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n // If someone calls transformDocument and then mistakenly passes the\n // result back into an API that also calls transformDocument, make sure\n // we don't keep creating new query documents.\n this.typenameDocumentCache.set(result, result);\n }\n return result;\n }\n return document;\n }\n\n protected broadcastWatches() {\n if (!this.silenceBroadcast) {\n this.watches.forEach(c => this.maybeBroadcastWatch(c));\n }\n }\n\n // This method is wrapped in the constructor so that it will be called only\n // if the data that would be broadcast has changed.\n private maybeBroadcastWatch(c: Cache.WatchOptions) {\n c.callback(\n this.diff({\n query: c.query,\n variables: c.variables,\n previousResult: c.previousResult && c.previousResult(),\n optimistic: c.optimistic,\n }),\n );\n }\n}\n","import { visit } from './visitor';\nimport { printBlockString } from './blockString';\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n} // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: function SchemaDefinition(_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray, separator) {\n return maybeArray ? maybeArray.filter(function (x) {\n return x;\n }).join(separator || '') : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return array && array.length !== 0 ? '{\\n' + indent(join(array, '\\n')) + '\\n}' : '';\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\n\n\nfunction wrap(start, maybeString, end) {\n return maybeString ? start + maybeString + (end || '') : '';\n}\n\nfunction indent(maybeString) {\n return maybeString && ' ' + maybeString.replace(/\\n/g, '\\n ');\n}\n\nfunction isMultiline(string) {\n return string.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray && maybeArray.some(isMultiline);\n}\n","/* tslint:disable */\n\nimport { ApolloLink, Observable, RequestHandler, fromError } from 'apollo-link';\nimport {\n serializeFetchParameter,\n selectURI,\n parseAndCheckHttpResponse,\n checkFetcher,\n selectHttpOptionsAndBody,\n createSignalIfSupported,\n fallbackHttpConfig,\n Body,\n HttpOptions,\n UriFunction as _UriFunction,\n} from 'apollo-link-http-common';\nimport { DefinitionNode } from 'graphql';\n\nexport namespace HttpLink {\n //TODO Would much rather be able to export directly\n export interface UriFunction extends _UriFunction {}\n export interface Options extends HttpOptions {\n /**\n * If set to true, use the HTTP GET method for query operations. Mutations\n * will still use the method specified in fetchOptions.method (which defaults\n * to POST).\n */\n useGETForQueries?: boolean;\n }\n}\n\n// For backwards compatibility.\nexport import FetchOptions = HttpLink.Options;\nexport import UriFunction = HttpLink.UriFunction;\n\nexport const createHttpLink = (linkOptions: HttpLink.Options = {}) => {\n let {\n uri = '/graphql',\n // use default global fetch if nothing passed in\n fetch: fetcher,\n includeExtensions,\n useGETForQueries,\n ...requestOptions\n } = linkOptions;\n\n // dev warnings to ensure fetch is present\n checkFetcher(fetcher);\n\n //fetcher is set here rather than the destructuring to ensure fetch is\n //declared before referencing it. Reference in the destructuring would cause\n //a ReferenceError\n if (!fetcher) {\n fetcher = fetch;\n }\n\n const linkConfig = {\n http: { includeExtensions },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n\n return new ApolloLink(operation => {\n let chosenURI = selectURI(operation, uri);\n\n const context = operation.getContext();\n\n // `apollographql-client-*` headers are automatically set if a\n // `clientAwareness` object is found in the context. These headers are\n // set first, followed by the rest of the headers pulled from\n // `context.headers`. If desired, `apollographql-client-*` headers set by\n // the `clientAwareness` object can be overridden by\n // `apollographql-client-*` headers set in `context.headers`.\n const clientAwarenessHeaders = {};\n if (context.clientAwareness) {\n const { name, version } = context.clientAwareness;\n if (name) {\n clientAwarenessHeaders['apollographql-client-name'] = name;\n }\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n\n const contextHeaders = { ...clientAwarenessHeaders, ...context.headers };\n\n const contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: contextHeaders,\n };\n\n //uses fallback, link, and then context to build options\n const { options, body } = selectHttpOptionsAndBody(\n operation,\n fallbackHttpConfig,\n linkConfig,\n contextConfig,\n );\n\n let controller;\n if (!(options as any).signal) {\n const { controller: _controller, signal } = createSignalIfSupported();\n controller = _controller;\n if (controller) (options as any).signal = signal;\n }\n\n // If requested, set method to GET if there are no mutations.\n const definitionIsMutation = (d: DefinitionNode) => {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n if (\n useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)\n ) {\n options.method = 'GET';\n }\n\n if (options.method === 'GET') {\n const { newURI, parseError } = rewriteURIForGET(chosenURI, body);\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n } else {\n try {\n (options as any).body = serializeFetchParameter(body, 'Payload');\n } catch (parseError) {\n return fromError(parseError);\n }\n }\n\n return new Observable(observer => {\n fetcher(chosenURI, options)\n .then(response => {\n operation.setContext({ response });\n return response;\n })\n .then(parseAndCheckHttpResponse(operation))\n .then(result => {\n // we have data and can send it to back up the link chain\n observer.next(result);\n observer.complete();\n return result;\n })\n .catch(err => {\n // fetch was cancelled so it's already been cleaned up in the unsubscribe\n if (err.name === 'AbortError') return;\n // if it is a network error, BUT there is graphql result info\n // fire the next observer before calling error\n // this gives apollo-client (and react-apollo) the `graphqlErrors` and `networErrors`\n // to pass to UI\n // this should only happen if we *also* have data as part of the response key per\n // the spec\n if (err.result && err.result.errors && err.result.data) {\n // if we don't call next, the UI can only show networkError because AC didn't\n // get any graphqlErrors\n // this is graphql execution result info (i.e errors and possibly data)\n // this is because there is no formal spec how errors should translate to\n // http status codes. So an auth error (401) could have both data\n // from a public field, errors from a private field, and a status of 401\n // {\n // user { // this will have errors\n // firstName\n // }\n // products { // this is public so will have data\n // cost\n // }\n // }\n //\n // the result of above *could* look like this:\n // {\n // data: { products: [{ cost: \"$10\" }] },\n // errors: [{\n // message: 'your session has timed out',\n // path: []\n // }]\n // }\n // status code of above would be a 401\n // in the UI you want to show data where you can, errors as data where you can\n // and use correct http status codes\n observer.next(err.result);\n }\n observer.error(err);\n });\n\n return () => {\n // XXX support canceling this request\n // https://developers.google.com/web/updates/2017/09/abortable-fetch\n if (controller) controller.abort();\n };\n });\n });\n};\n\n// For GET operations, returns the given URI rewritten with parameters, or a\n// parse error.\nfunction rewriteURIForGET(chosenURI: string, body: Body) {\n // Implement the standard HTTP GET serialization, plus 'extensions'. Note\n // the extra level of JSON serialization!\n const queryParams = [];\n const addQueryParam = (key: string, value: string) => {\n queryParams.push(`${key}=${encodeURIComponent(value)}`);\n };\n\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n let serializedVariables;\n try {\n serializedVariables = serializeFetchParameter(\n body.variables,\n 'Variables map',\n );\n } catch (parseError) {\n return { parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n let serializedExtensions;\n try {\n serializedExtensions = serializeFetchParameter(\n body.extensions,\n 'Extensions map',\n );\n } catch (parseError) {\n return { parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n\n // Reconstruct the URI with added query params.\n // XXX This assumes that the URI is well-formed and that it doesn't\n // already contain any of these query params. We could instead use the\n // URL API and take a polyfill (whatwg-url@6) for older browsers that\n // don't support URLSearchParams. Note that some browsers (and\n // versions of whatwg-url) support URL but not URLSearchParams!\n let fragment = '',\n preFragment = chosenURI;\n const fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n const queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n const newURI =\n preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI };\n}\n\nexport class HttpLink extends ApolloLink {\n public requester: RequestHandler;\n constructor(opts?: HttpLink.Options) {\n super(createHttpLink(opts).request);\n }\n}\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","module.exports = true;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","exports.f = {}.propertyIsEnumerable;\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n // $FlowFixMe(>=0.90.0)\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(lines);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n while (lines.length > 0 && isBlank(lines[0])) {\n lines.shift();\n }\n\n while (lines.length > 0 && isBlank(lines[lines.length - 1])) {\n lines.pop();\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.join('\\n');\n} // @internal\n\nexport function getBlockStringIndentation(lines) {\n var commonIndent = null;\n\n for (var i = 1; i < lines.length; i++) {\n var line = lines[i];\n var indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n if (commonIndent === null || indent < commonIndent) {\n commonIndent = indent;\n\n if (commonIndent === 0) {\n break;\n }\n }\n }\n\n return commonIndent === null ? 0 : commonIndent;\n}\n\nfunction leadingWhitespace(str) {\n var i = 0;\n\n while (i < str.length && (str[i] === ' ' || str[i] === '\\t')) {\n i++;\n }\n\n return i;\n}\n\nfunction isBlank(str) {\n return leadingWhitespace(str) === str.length;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\n\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.f = Object.getOwnPropertySymbols;\n","module.exports = {};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.distance,t=e.left,p=e.right,a=e.up,l=e.down,i=e.top,u=e.bottom,n=e.big,s=e.mirror,d=e.opposite,_=(r?r.toString():0)+((t?1:0)|(p?2:0)|(i||l?4:0)|(u||a?8:0)|(s?16:0)|(d?32:0)|(o?64:0)|(n?128:0));if(lookup.hasOwnProperty(_))return lookup[_];var f=t||p||a||l||i||u,y=void 0,b=void 0;if(f){if(!s!=!(o&&d)){var v=[p,t,u,i,l,a];t=v[0],p=v[1],i=v[2],u=v[3],a=v[4],l=v[5]}var c=r||(n?\"2000px\":\"100%\");y=t?\"-\"+c:p?c:\"0\",b=l||i?\"-\"+c:a||u?c:\"0\"}return lookup[_]=(0,_globals.animation)((o?\"to\":\"from\")+\" {opacity: 0;\"+(f?\" transform: translate3d(\"+y+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none;} \"),lookup[_]}function Fade(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=o.children,t=(o.out,o.forever),p=o.timeout,a=o.duration,l=void 0===a?_globals.defaults.duration:a,i=o.delay,u=void 0===i?_globals.defaults.delay:i,n=o.count,s=void 0===n?_globals.defaults.count:n,d=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),_={make:make,duration:void 0===p?l:p,delay:u,forever:t,count:s,style:{animationFillMode:\"both\"},reverse:d.left};return e?(0,_wrap2.default)(d,_,_,r):_}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,distance:_propTypes.string,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Fade.propTypes=propTypes,exports.default=Fade,module.exports=exports.default;","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _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; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = require('./_hide');\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","var parser = require('graphql/language/parser');\n\nvar parse = parser.parse;\n\n// Strip insignificant whitespace\n// Note that this could do a lot more, such as reorder fields etc.\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\n\n// A map docString -> graphql document\nvar docCache = {};\n\n// A map fragmentName -> [normalized source]\nvar fragmentSourceMap = {};\n\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\n\n// For testing.\nfunction resetCaches() {\n docCache = {};\n fragmentSourceMap = {};\n}\n\n// Take a unstripped parsed document (query/mutation or even fragment), and\n// check all fragment definitions, checking for name->source uniqueness.\n// We also want to make sure only unique fragments exist in the document.\nvar printFragmentWarnings = true;\nfunction processFragments(ast) {\n var astFragmentMap = {};\n var definitions = [];\n\n for (var i = 0; i < ast.definitions.length; i++) {\n var fragmentDefinition = ast.definitions[i];\n\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n\n // We know something about this fragment\n if (fragmentSourceMap.hasOwnProperty(fragmentName) && !fragmentSourceMap[fragmentName][sourceKey]) {\n\n // this is a problem because the app developer is trying to register another fragment with\n // the same name as one previously registered. So, we tell them about it.\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n\n fragmentSourceMap[fragmentName][sourceKey] = true;\n\n } else if (!fragmentSourceMap.hasOwnProperty(fragmentName)) {\n fragmentSourceMap[fragmentName] = {};\n fragmentSourceMap[fragmentName][sourceKey] = true;\n }\n\n if (!astFragmentMap[sourceKey]) {\n astFragmentMap[sourceKey] = true;\n definitions.push(fragmentDefinition);\n }\n } else {\n definitions.push(fragmentDefinition);\n }\n }\n\n ast.definitions = definitions;\n return ast;\n}\n\nfunction disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\n\nfunction stripLoc(doc, removeLocAtThisLevel) {\n var docType = Object.prototype.toString.call(doc);\n\n if (docType === '[object Array]') {\n return doc.map(function (d) {\n return stripLoc(d, removeLocAtThisLevel);\n });\n }\n\n if (docType !== '[object Object]') {\n throw new Error('Unexpected input.');\n }\n\n // We don't want to remove the root loc field so we can use it\n // for fragment substitution (see below)\n if (removeLocAtThisLevel && doc.loc) {\n delete doc.loc;\n }\n\n // https://github.com/apollographql/graphql-tag/issues/40\n if (doc.loc) {\n delete doc.loc.startToken;\n delete doc.loc.endToken;\n }\n\n var keys = Object.keys(doc);\n var key;\n var value;\n var valueType;\n\n for (key in keys) {\n if (keys.hasOwnProperty(key)) {\n value = doc[keys[key]];\n valueType = Object.prototype.toString.call(value);\n\n if (valueType === '[object Object]' || valueType === '[object Array]') {\n doc[keys[key]] = stripLoc(value, true);\n }\n }\n }\n\n return doc;\n}\n\nvar experimentalFragmentVariables = false;\nfunction parseDocument(doc) {\n var cacheKey = normalize(doc);\n\n if (docCache[cacheKey]) {\n return docCache[cacheKey];\n }\n\n var parsed = parse(doc, { experimentalFragmentVariables: experimentalFragmentVariables });\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n\n // check that all \"new\" fragments inside the documents are consistent with\n // existing fragments of the same name\n parsed = processFragments(parsed);\n parsed = stripLoc(parsed, false);\n docCache[cacheKey] = parsed;\n\n return parsed;\n}\n\nfunction enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\n\nfunction disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\n\n// XXX This should eventually disallow arbitrary string interpolation, like Relay does\nfunction gql(/* arguments */) {\n var args = Array.prototype.slice.call(arguments);\n\n var literals = args[0];\n\n // We always get literals[0] and then matching post literals for each arg given\n var result = (typeof(literals) === \"string\") ? literals : literals[0];\n\n for (var i = 1; i < args.length; i++) {\n if (args[i] && args[i].kind && args[i].kind === 'Document') {\n result += args[i].loc.source.body;\n } else {\n result += args[i];\n }\n\n result += literals[i];\n }\n\n return parseDocument(result);\n}\n\n// Support typescript, which isn't as nice as Babel about default exports\ngql.default = gql;\ngql.resetCaches = resetCaches;\ngql.disableFragmentWarnings = disableFragmentWarnings;\ngql.enableExperimentalFragmentVariables = enableExperimentalFragmentVariables;\ngql.disableExperimentalFragmentVariables = disableExperimentalFragmentVariables;\n\nmodule.exports = gql;\n","const { toString, hasOwnProperty } = Object.prototype;\nconst previousComparisons = new Map>();\n\n/**\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\n */\nexport function equal(a: any, b: any): boolean {\n try {\n return check(a, b);\n } finally {\n previousComparisons.clear();\n }\n}\n\n// Allow default imports as well.\nexport default equal;\n\nfunction check(a: any, b: any): boolean {\n // If the two values are strictly equal, our job is easy.\n if (a === b) {\n return true;\n }\n\n // Object.prototype.toString returns a representation of the runtime type of\n // the given value that is considerably more precise than typeof.\n const aTag = toString.call(a);\n const bTag = toString.call(b);\n\n // If the runtime types of a and b are different, they could maybe be equal\n // under some interpretation of equality, but for simplicity and performance\n // we just return false instead.\n if (aTag !== bTag) {\n return false;\n }\n\n switch (aTag) {\n case '[object Array]':\n // Arrays are a lot like other objects, but we can cheaply compare their\n // lengths as a short-cut before comparing their elements.\n if (a.length !== b.length) return false;\n // Fall through to object case...\n case '[object Object]': {\n if (previouslyCompared(a, b)) return true;\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n // If `a` and `b` have a different number of enumerable keys, they\n // must be different.\n const keyCount = aKeys.length;\n if (keyCount !== bKeys.length) return false;\n\n // Now make sure they have the same keys.\n for (let k = 0; k < keyCount; ++k) {\n if (!hasOwnProperty.call(b, aKeys[k])) {\n return false;\n }\n }\n\n // Finally, check deep equality of all child properties.\n for (let k = 0; k < keyCount; ++k) {\n const key = aKeys[k];\n if (!check(a[key], b[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n case '[object Error]':\n return a.name === b.name && a.message === b.message;\n\n case '[object Number]':\n // Handle NaN, which is !== itself.\n if (a !== a) return b !== b;\n // Fall through to shared +a === +b case...\n case '[object Boolean]':\n case '[object Date]':\n return +a === +b;\n\n case '[object RegExp]':\n case '[object String]':\n return a == `${b}`;\n\n case '[object Map]':\n case '[object Set]': {\n if (a.size !== b.size) return false;\n if (previouslyCompared(a, b)) return true;\n\n const aIterator = a.entries();\n const isMap = aTag === '[object Map]';\n\n while (true) {\n const info = aIterator.next();\n if (info.done) break;\n\n // If a instanceof Set, aValue === aKey.\n const [aKey, aValue] = info.value;\n\n // So this works the same way for both Set and Map.\n if (!b.has(aKey)) {\n return false;\n }\n\n // However, we care about deep equality of values only when dealing\n // with Map structures.\n if (isMap && !check(aValue, b.get(aKey))) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n // Otherwise the values are not equal.\n return false;\n}\n\nfunction previouslyCompared(a: object, b: object): boolean {\n // Though cyclic references can make an object graph appear infinite from the\n // perspective of a depth-first traversal, the graph still contains a finite\n // number of distinct object references. We use the previousComparisons cache\n // to avoid comparing the same pair of object references more than once, which\n // guarantees termination (even if we end up comparing every object in one\n // graph to every object in the other graph, which is extremely unlikely),\n // while still allowing weird isomorphic structures (like rings with different\n // lengths) a chance to pass the equality test.\n let bSet = previousComparisons.get(a);\n if (bSet) {\n // Return true here because we can be sure false will be returned somewhere\n // else if the objects are not equivalent.\n if (bSet.has(b)) return true;\n } else {\n previousComparisons.set(a, bSet = new Set);\n }\n bSet.add(b);\n return false;\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _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; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldUpdate2 = require('./shouldUpdate');\n\nvar _shouldUpdate3 = _interopRequireDefault(_shouldUpdate2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; } // eslint-disable-line import/no-unresolved\n\n\nvar noop = function noop() {};\n\nvar Headroom = function (_Component) {\n _inherits(Headroom, _Component);\n\n _createClass(Headroom, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n if (props.disable && state.state !== 'unfixed') {\n return {\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false,\n state: 'unfixed'\n };\n }\n\n return null;\n }\n }]);\n\n function Headroom(props) {\n _classCallCheck(this, Headroom);\n\n // Class variables.\n var _this = _possibleConstructorReturn(this, (Headroom.__proto__ || Object.getPrototypeOf(Headroom)).call(this, props));\n\n _this.setRef = function (ref) {\n return _this.inner = ref;\n };\n\n _this.setHeightOffset = function () {\n _this.setState({\n height: _this.inner ? _this.inner.offsetHeight : ''\n });\n _this.resizeTicking = false;\n };\n\n _this.getScrollY = function () {\n if (_this.props.parent().pageYOffset !== void 0) {\n return _this.props.parent().pageYOffset;\n } else if (_this.props.parent().scrollTop !== void 0) {\n return _this.props.parent().scrollTop;\n } else {\n return (document.documentElement || document.body.parentNode || document.body).scrollTop;\n }\n };\n\n _this.getViewportHeight = function () {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n };\n\n _this.getDocumentHeight = function () {\n var body = document.body;\n var documentElement = document.documentElement;\n\n return Math.max(body.scrollHeight, documentElement.scrollHeight, body.offsetHeight, documentElement.offsetHeight, body.clientHeight, documentElement.clientHeight);\n };\n\n _this.getElementPhysicalHeight = function (elm) {\n return Math.max(elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getElementHeight = function (elm) {\n return Math.max(elm.scrollHeight, elm.offsetHeight, elm.clientHeight);\n };\n\n _this.getScrollerPhysicalHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getViewportHeight() : _this.getElementPhysicalHeight(parent);\n };\n\n _this.getScrollerHeight = function () {\n var parent = _this.props.parent();\n\n return parent === window || parent === document.body ? _this.getDocumentHeight() : _this.getElementHeight(parent);\n };\n\n _this.isOutOfBound = function (currentScrollY) {\n var pastTop = currentScrollY < 0;\n\n var scrollerPhysicalHeight = _this.getScrollerPhysicalHeight();\n var scrollerHeight = _this.getScrollerHeight();\n\n var pastBottom = currentScrollY + scrollerPhysicalHeight > scrollerHeight;\n\n return pastTop || pastBottom;\n };\n\n _this.handleScroll = function () {\n if (!_this.scrollTicking) {\n _this.scrollTicking = true;\n (0, _raf2.default)(_this.update);\n }\n };\n\n _this.handleResize = function () {\n if (!_this.resizeTicking) {\n _this.resizeTicking = true;\n (0, _raf2.default)(_this.setHeightOffset);\n }\n };\n\n _this.unpin = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned',\n animation: true,\n state: 'unpinned'\n });\n };\n\n _this.unpinSnap = function () {\n _this.props.onUnpin();\n\n _this.setState({\n translateY: '-100%',\n className: 'headroom headroom--unpinned headroom-disable-animation',\n animation: false,\n state: 'unpinned'\n });\n };\n\n _this.pin = function () {\n _this.props.onPin();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--pinned',\n animation: true,\n state: 'pinned'\n });\n };\n\n _this.unfix = function () {\n _this.props.onUnfix();\n\n _this.setState({\n translateY: 0,\n className: 'headroom headroom--unfixed headroom-disable-animation',\n animation: false,\n state: 'unfixed'\n });\n };\n\n _this.update = function () {\n _this.currentScrollY = _this.getScrollY();\n\n if (!_this.isOutOfBound(_this.currentScrollY)) {\n var _shouldUpdate = (0, _shouldUpdate3.default)(_this.lastKnownScrollY, _this.currentScrollY, _this.props, _this.state),\n action = _shouldUpdate.action;\n\n if (action === 'pin') {\n _this.pin();\n } else if (action === 'unpin') {\n _this.unpin();\n } else if (action === 'unpin-snap') {\n _this.unpinSnap();\n } else if (action === 'unfix') {\n _this.unfix();\n }\n }\n\n _this.lastKnownScrollY = _this.currentScrollY;\n _this.scrollTicking = false;\n };\n\n _this.currentScrollY = 0;\n _this.lastKnownScrollY = 0;\n _this.scrollTicking = false;\n _this.resizeTicking = false;\n _this.state = {\n state: 'unfixed',\n translateY: 0,\n className: 'headroom headroom--unfixed'\n };\n return _this;\n }\n\n _createClass(Headroom, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.setHeightOffset();\n if (!this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize);\n }\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state, nextState);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // If children have changed, remeasure height.\n if (prevProps.children !== this.props.children) {\n this.setHeightOffset();\n }\n\n // Add/remove event listeners when re-enabled/disabled\n if (!prevProps.disable && this.props.disable) {\n this.props.parent().removeEventListener('scroll', this.handleScroll);\n this.props.parent().removeEventListener('resize', this.handleResize);\n\n if (prevState.state !== 'unfixed' && this.state.state === 'unfixed') {\n this.props.onUnfix();\n }\n } else if (prevProps.disable && !this.props.disable) {\n this.props.parent().addEventListener('scroll', this.handleScroll);\n\n if (this.props.calcHeightOnResize) {\n this.props.parent().addEventListener('resize', this.handleResize);\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.parent().removeEventListener('scroll', this.handleScroll);\n window.removeEventListener('scroll', this.handleScroll);\n this.props.parent().removeEventListener('resize', this.handleResize);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n userClassName = _props.className,\n divProps = _objectWithoutProperties(_props, ['className']);\n\n delete divProps.onUnpin;\n delete divProps.onPin;\n delete divProps.onUnfix;\n delete divProps.disableInlineStyles;\n delete divProps.disable;\n delete divProps.parent;\n delete divProps.children;\n delete divProps.upTolerance;\n delete divProps.downTolerance;\n delete divProps.pinStart;\n delete divProps.calcHeightOnResize;\n\n var style = divProps.style,\n wrapperStyle = divProps.wrapperStyle,\n rest = _objectWithoutProperties(divProps, ['style', 'wrapperStyle']);\n\n var innerStyle = {\n position: this.props.disable || this.state.state === 'unfixed' ? 'relative' : 'fixed',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 1,\n WebkitTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n MsTransform: 'translate3D(0, ' + this.state.translateY + ', 0)',\n transform: 'translate3D(0, ' + this.state.translateY + ', 0)'\n };\n\n var className = this.state.className;\n\n // Don't add css transitions until after we've done the initial\n // negative transform when transitioning from 'unfixed' to 'unpinned'.\n // If we don't do this, the header will flash into view temporarily\n // while it transitions from 0 — -100%.\n if (this.state.animation) {\n innerStyle = _extends({}, innerStyle, {\n WebkitTransition: 'all .2s ease-in-out',\n MozTransition: 'all .2s ease-in-out',\n OTransition: 'all .2s ease-in-out',\n transition: 'all .2s ease-in-out'\n });\n className += ' headroom--scrolled';\n }\n\n if (!this.props.disableInlineStyles) {\n innerStyle = _extends({}, innerStyle, style);\n } else {\n innerStyle = style;\n }\n\n var wrapperStyles = _extends({}, wrapperStyle, {\n height: this.state.height ? this.state.height : null\n });\n\n var wrapperClassName = userClassName ? userClassName + ' headroom-wrapper' : 'headroom-wrapper';\n\n return _react2.default.createElement(\n 'div',\n { style: wrapperStyles, className: wrapperClassName },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setRef\n }, rest, {\n style: innerStyle,\n className: className\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return Headroom;\n}(_react.Component);\n\nHeadroom.propTypes = {\n className: _propTypes2.default.string,\n parent: _propTypes2.default.func,\n children: _propTypes2.default.any.isRequired,\n disableInlineStyles: _propTypes2.default.bool,\n disable: _propTypes2.default.bool,\n upTolerance: _propTypes2.default.number,\n downTolerance: _propTypes2.default.number,\n onPin: _propTypes2.default.func,\n onUnpin: _propTypes2.default.func,\n onUnfix: _propTypes2.default.func,\n wrapperStyle: _propTypes2.default.object,\n pinStart: _propTypes2.default.number,\n style: _propTypes2.default.object,\n calcHeightOnResize: _propTypes2.default.bool\n};\nHeadroom.defaultProps = {\n parent: function parent() {\n return window;\n },\n disableInlineStyles: false,\n disable: false,\n upTolerance: 5,\n downTolerance: 0,\n onPin: noop,\n onUnpin: noop,\n onUnfix: noop,\n wrapperStyle: {},\n pinStart: 0,\n calcHeightOnResize: true\n};\nexports.default = Headroom;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lottieWeb = require('lottie-web');\n\nvar _lottieWeb2 = _interopRequireDefault(_lottieWeb);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Lottie = function (_React$Component) {\n (0, _inherits3.default)(Lottie, _React$Component);\n\n function Lottie() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3.default)(this, Lottie);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Lottie.__proto__ || (0, _getPrototypeOf2.default)(Lottie)).call.apply(_ref, [this].concat(args))), _this), _this.handleClickToPause = function () {\n // The pause() method is for handling pausing by passing a prop isPaused\n // This method is for handling the ability to pause by clicking on the animation\n if (_this.anim.isPaused) {\n _this.anim.play();\n } else {\n _this.anim.pause();\n }\n }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n }\n\n (0, _createClass3.default)(Lottie, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n options = _props.options,\n eventListeners = _props.eventListeners;\n var loop = options.loop,\n autoplay = options.autoplay,\n animationData = options.animationData,\n rendererSettings = options.rendererSettings,\n segments = options.segments;\n\n\n this.options = {\n container: this.el,\n renderer: 'svg',\n loop: loop !== false,\n autoplay: autoplay !== false,\n segments: segments !== false,\n animationData: animationData,\n rendererSettings: rendererSettings\n };\n\n this.options = (0, _extends3.default)({}, this.options, options);\n\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.registerEvents(eventListeners);\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps /* , nextState */) {\n /* Recreate the animation handle if the data is changed */\n if (this.options.animationData !== nextProps.options.animationData) {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options = (0, _extends3.default)({}, this.options, nextProps.options);\n this.anim = _lottieWeb2.default.loadAnimation(this.options);\n this.registerEvents(nextProps.eventListeners);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isStopped) {\n this.stop();\n } else if (this.props.segments) {\n this.playSegments();\n } else {\n this.play();\n }\n\n this.pause();\n this.setSpeed();\n this.setDirection();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.deRegisterEvents(this.props.eventListeners);\n this.destroy();\n this.options.animationData = null;\n this.anim = null;\n }\n }, {\n key: 'setSpeed',\n value: function setSpeed() {\n this.anim.setSpeed(this.props.speed);\n }\n }, {\n key: 'setDirection',\n value: function setDirection() {\n this.anim.setDirection(this.props.direction);\n }\n }, {\n key: 'play',\n value: function play() {\n this.anim.play();\n }\n }, {\n key: 'playSegments',\n value: function playSegments() {\n this.anim.playSegments(this.props.segments);\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.anim.stop();\n }\n }, {\n key: 'pause',\n value: function pause() {\n if (this.props.isPaused && !this.anim.isPaused) {\n this.anim.pause();\n } else if (!this.props.isPaused && this.anim.isPaused) {\n this.anim.pause();\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.anim.destroy();\n }\n }, {\n key: 'registerEvents',\n value: function registerEvents(eventListeners) {\n var _this2 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this2.anim.addEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: 'deRegisterEvents',\n value: function deRegisterEvents(eventListeners) {\n var _this3 = this;\n\n eventListeners.forEach(function (eventListener) {\n _this3.anim.removeEventListener(eventListener.eventName, eventListener.callback);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props2 = this.props,\n width = _props2.width,\n height = _props2.height,\n ariaRole = _props2.ariaRole,\n ariaLabel = _props2.ariaLabel,\n isClickToPauseDisabled = _props2.isClickToPauseDisabled,\n title = _props2.title;\n\n\n var getSize = function getSize(initial) {\n var size = void 0;\n\n if (typeof initial === 'number') {\n size = initial + 'px';\n } else {\n size = initial || '100%';\n }\n\n return size;\n };\n\n var lottieStyles = (0, _extends3.default)({\n width: getSize(width),\n height: getSize(height),\n overflow: 'hidden',\n margin: '0 auto',\n outline: 'none'\n }, this.props.style);\n\n var onClickHandler = isClickToPauseDisabled ? function () {\n return null;\n } : this.handleClickToPause;\n\n return (\n // Bug with eslint rules https://github.com/airbnb/javascript/issues/1374\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n _react2.default.createElement('div', {\n ref: function ref(c) {\n _this4.el = c;\n },\n style: lottieStyles,\n onClick: onClickHandler,\n title: title,\n role: ariaRole,\n 'aria-label': ariaLabel,\n tabIndex: '0'\n })\n );\n }\n }]);\n return Lottie;\n}(_react2.default.Component);\n\nexports.default = Lottie;\n\n\nLottie.propTypes = {\n eventListeners: _propTypes2.default.arrayOf(_propTypes2.default.object),\n options: _propTypes2.default.object.isRequired,\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n isStopped: _propTypes2.default.bool,\n isPaused: _propTypes2.default.bool,\n speed: _propTypes2.default.number,\n segments: _propTypes2.default.arrayOf(_propTypes2.default.number),\n direction: _propTypes2.default.number,\n ariaRole: _propTypes2.default.string,\n ariaLabel: _propTypes2.default.string,\n isClickToPauseDisabled: _propTypes2.default.bool,\n title: _propTypes2.default.string\n};\n\nLottie.defaultProps = {\n eventListeners: [],\n isStopped: false,\n isPaused: false,\n speed: 1,\n ariaRole: 'button',\n ariaLabel: 'animation',\n isClickToPauseDisabled: false,\n title: ''\n};","if(!t)var t={map:function(t,r){var n={};return r?t.map(function(t,o){return n.index=o,r.call(n,t)}):t.slice()},naturalOrder:function(t,r){return tr?1:0},sum:function(t,r){var n={};return t.reduce(r?function(t,o,e){return n.index=e,t+r.call(n,o)}:function(t,r){return t+r},0)},max:function(r,n){return Math.max.apply(null,n?t.map(r,n):r)}};var r=function(){var r=5,n=8-r,o=1e3;function e(t,n,o){return(t<<2*r)+(n<f/2){for(e=n.copy(),i=n.copy(),u=(r=a-n[s])<=(o=n[h]-a)?Math.min(n[h]-1,~~(a+o/2)):Math.max(n[s],~~(a-1-r/2));!v[u];)u++;for(c=l[u];!c&&v[u-1];)c=l[--u];return e[h]=u,i[s]=e[h]+1,[e,i]}}(u==o?\"r\":u==i?\"g\":\"b\")}}return u.prototype={volume:function(t){return this._volume&&!t||(this._volume=(this.r2-this.r1+1)*(this.g2-this.g1+1)*(this.b2-this.b1+1)),this._volume},count:function(t){var r=this.histo;if(!this._count_set||t){var n,o,i,u=0;for(n=this.r1;n<=this.r2;n++)for(o=this.g1;o<=this.g2;o++)for(i=this.b1;i<=this.b2;i++)u+=r[e(n,o,i)]||0;this._count=u,this._count_set=!0}return this._count},copy:function(){return new u(this.r1,this.r2,this.g1,this.g2,this.b1,this.b2,this.histo)},avg:function(t){var n=this.histo;if(!this._avg||t){var o,i,u,a,s=0,h=1<<8-r,c=0,f=0,v=0;for(i=this.r1;i<=this.r2;i++)for(u=this.g1;u<=this.g2;u++)for(a=this.b1;a<=this.b2;a++)s+=o=n[e(i,u,a)]||0,c+=o*(i+.5)*h,f+=o*(u+.5)*h,v+=o*(a+.5)*h;this._avg=s?[~~(c/s),~~(f/s),~~(v/s)]:[~~(h*(this.r1+this.r2+1)/2),~~(h*(this.g1+this.g2+1)/2),~~(h*(this.b1+this.b2+1)/2)]}return this._avg},contains:function(t){var r=t[0]>>n;return gval=t[1]>>n,bval=t[2]>>n,r>=this.r1&&r<=this.r2&&gval>=this.g1&&gval<=this.g2&&bval>=this.b1&&bval<=this.b2}},a.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n251&&e[1]>251&&e[2]>251&&(r[o].color=[255,255,255])}},{quantize:function(h,c){if(!h.length||c<2||c>256)return!1;var f=function(t){var o,i=new Array(1<<3*r);return t.forEach(function(t){o=e(t[0]>>n,t[1]>>n,t[2]>>n),i[o]=(i[o]||0)+1}),i}(h);f.forEach(function(){});var v=function(t,r){var o,e,i,a=1e6,s=0,h=1e6,c=0,f=1e6,v=0;return t.forEach(function(t){(o=t[0]>>n)s&&(s=o),(e=t[1]>>n)c&&(c=e),(i=t[2]>>n)v&&(v=i)}),new u(a,s,h,c,f,v,r)}(h,f),l=new i(function(r,n){return t.naturalOrder(r.count(),n.count())});function g(t,r){for(var n,e=t.size(),i=0;i=r)return;if(i++>o)return;if((n=t.pop()).count()){var u=s(f,n),a=u[0],h=u[1];if(!a)return;t.push(a),h&&(t.push(h),e++)}else t.push(n),i++}}l.push(v),g(l,.75*c);for(var p=new i(function(r,n){return t.naturalOrder(r.count()*r.volume(),n.count()*n.volume())});l.size();)p.push(l.pop());g(p,c);for(var b=new a;p.size();)b.push(p.pop());return b}}}().quantize,n=function(t){this.canvas=document.createElement(\"canvas\"),this.context=this.canvas.getContext(\"2d\"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};n.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var o=function(){};o.prototype.getColor=function(t,r){return void 0===r&&(r=10),this.getPalette(t,5,r)[0]},o.prototype.getPalette=function(t,o,e){var i=function(t){var r=t.colorCount,n=t.quality;if(void 0!==r&&Number.isInteger(r)){if(1===r)throw new Error(\"colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()\");r=Math.max(r,2),r=Math.min(r,20)}else r=10;return(void 0===n||!Number.isInteger(n)||n<1)&&(n=10),{colorCount:r,quality:n}}({colorCount:o,quality:e}),u=new n(t),a=function(t,r,n){for(var o=t,e=[],i=0,u=void 0,a=void 0,s=void 0,h=void 0,c=void 0;i=125)&&(a>250&&s>250&&h>250||e.push([a,s,h]));return e}(u.getImageData().data,u.width*u.height,i.quality),s=r(a,i.colorCount);return s?s.palette():null},o.prototype.getColorFromUrl=function(t,r,n){var o=this,e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var i=o.getPalette(e,5,n);r(i[0],t)}),e.src=t},o.prototype.getImageData=function(t,r){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"arraybuffer\",n.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var n=new Array(i),o=0;o !props.hasOwnProperty('userId') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * UserId of twitter handle as number\n */\n userId: isRequiredIf(PropTypes.number, props => !props.hasOwnProperty('screenName') && (props.sourceType === 'profile' || props.sourceType === 'likes')),\n /**\n * To show list, used along with slug\n */\n ownerScreenName: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, used along with ownerScreenName\n */\n slug: isRequiredIf(PropTypes.string, props => props.sourceType === 'list' && !props.hasOwnProperty('id')),\n /**\n * To show list, unique list id\n * Also used with collections, in that case its valid collection id\n */\n id: isRequiredIf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), props => (props.sourceType === 'list' && !props.hasOwnProperty('ownerScreenName') && !props.hasOwnProperty('slug')) || props.sourceType === 'collection'),\n /**\n * To show twitter content with url.\n * Supported content includes profiles, likes, lists, and collections.\n */\n url: isRequiredIf(PropTypes.string, props => props.sourceType === 'url'),\n /**\n * To show custom widget\n */\n widgetId: isRequiredIf(PropTypes.string, props => props.sourceType === 'widget'),\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Automatically fit into parent container height\n */\n autoHeight: PropTypes.bool,\n /**\n * With dark or light theme\n */\n theme: PropTypes.oneOf(['dark', 'light']),\n /**\n * With custom link colors. Note: Only Hex colors are supported.\n */\n linkColor: PropTypes.string,\n /**\n * With custom border colors. Note: Only Hex colors are supported.\n */\n borderColor: PropTypes.string,\n /**\n * Hide the header from timeline\n */\n noHeader: PropTypes.bool,\n /**\n * Hide the footer from timeline\n */\n noFooter: PropTypes.bool,\n /**\n * Hide the border from timeline\n */\n noBorders: PropTypes.bool,\n /**\n * Hide the scrollbars\n */\n noScrollbar: PropTypes.bool,\n /**\n * Enable Transparancy\n */\n transparent: PropTypes.bool,\n /**\n * Custom language code. Supported codes here: https://developer.twitter.com/en/docs/twitter-for-websites/twitter-for-websites-supported-languages/overview.html\n */\n lang: PropTypes.string,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n buildChromeOptions(options) {\n options.chrome = ''\n if (this.props.noHeader) { options.chrome = options.chrome + ' noheader' }\n\n if (this.props.noFooter) { options.chrome = options.chrome + ' nofooter' }\n\n if (this.props.noBorders) { options.chrome = options.chrome + ' noborders' }\n\n if (this.props.noScrollbar) { options.chrome = options.chrome + ' noscrollbar' }\n\n if (this.props.transparent) { options.chrome = options.chrome + ' transparent' }\n\n return options\n }\n\n buildOptions() {\n let options = Object.assign({}, this.props.options)\n if (this.props.autoHeight) { options.height = this.refs.embedContainer.parentNode.offsetHeight }\n\n options = Object.assign({}, options, {\n theme: this.props.theme,\n linkColor: this.props.linkColor,\n borderColor: this.props.borderColor,\n lang: this.props.lang\n })\n\n return options\n }\n\n renderWidget(options) {\n const { onLoad } = this.props\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTimeline(\n {\n sourceType: this.props.sourceType,\n screenName: this.props.screenName,\n userId: this.props.userId,\n ownerScreenName: this.props.ownerScreenName,\n slug: this.props.slug,\n id: this.props.id || this.props.widgetId,\n url: this.props.url\n },\n this.refs.embedContainer,\n options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTimelineEmbed, aborting load.')\n return\n }\n\n let options = this.buildOptions()\n /** Append chrome options */\n options = this.buildChromeOptions(options)\n this.renderWidget(options)\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterShareButton extends Component {\n static propTypes = {\n /**\n * Url for sharing\n */\n url: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config. Details at : https://dev.twitter.com/web/tweet-button/parameters\n */\n options: PropTypes.object,\n\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterShareButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createShareButton(\n this.props.url,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterFollowButton extends Component {\n static propTypes = {\n /**\n * Username of twitter user which will be followed on click\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterFollowButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createFollowButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterHashtagButton extends Component {\n static propTypes = {\n /**\n * Tag name for hashtag button\n */\n tag: PropTypes.string.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterHashtagButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createHashtagButton(\n this.props.tag,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMentionButton extends Component {\n static propTypes = {\n /**\n * Username to which you will need to tweet\n */\n screenName: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMentionButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMentionButton(\n this.props.screenName,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterTweetEmbed extends Component {\n static propTypes = {\n /**\n * Tweet id that needs to be shown\n */\n tweetId: PropTypes.string.isRequired,\n /**\n * Additional options to pass to twitter widget plugin\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n renderWidget() {\n const { onLoad } = this.props\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterTweetEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createTweet(\n this.props.tweetId,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n }\n\n componentDidMount() {\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n this.renderWidget()\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterMomentShare extends Component {\n static propTypes = {\n /**\n * id of Twitter moment to show\n */\n momentId: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterMomentShare, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createMoment(\n this.props.momentId,\n this.refs.shareMoment,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterDMButton extends Component {\n static propTypes = {\n /**\n * Twitter user id for DM button\n */\n id: PropTypes.number.isRequired,\n /**\n * Additional options to be added to the button\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterDMButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createDMButton(\n this.props.id,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterVideoEmbed extends Component {\n static propTypes = {\n /**\n * Id of video tweet.\n */\n id: PropTypes.string.isRequired,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterVideoEmbed, aborting load.')\n return\n }\n if (!this.isMountCanceled) {\n window.twttr.widgets.createVideo(\n this.props.id,\n this.refs.embedContainer\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ExecutionEnvironment from 'exenv'\nimport twitterWidgetJs from './twitter-widget-url'\n\nexport default class TwitterOnAirButton extends Component {\n static propTypes = {\n /**\n * Username for which you require periscope on air button\n */\n username: PropTypes.string.isRequired,\n /**\n * Additional options for overriding config.\n */\n options: PropTypes.object,\n /**\n * Placeholder while tweet is loading\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * Function to execute after load, return html element\n */\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props)\n this.state = {\n isLoading: true\n }\n }\n\n componentDidMount() {\n const { onLoad } = this.props\n if (ExecutionEnvironment.canUseDOM) {\n let script = require('scriptjs')\n script(twitterWidgetJs, 'twitter-embed', () => {\n if (!window.twttr) {\n console.error('Failure to load window.twttr in TwitterOnAirButton, aborting load.')\n return\n }\n\n if (!this.isMountCanceled) {\n window.twttr.widgets.createPeriscopeOnAirButton(\n this.props.username,\n this.refs.embedContainer,\n this.props.options\n ).then((element) => {\n this.setState({\n isLoading: false\n })\n if (onLoad) {\n onLoad(element)\n }\n })\n }\n })\n }\n }\n\n componentWillUnmount() {\n this.isMountCanceled = true\n }\n\n render() {\n const { isLoading } = this.state\n const { placeholder } = this.props\n return (\n \n {isLoading && placeholder}\n
\n \n )\n }\n}\n","/** @license React v16.13.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 0 && arguments[0] !== void 0 ? arguments[0] : 0;\n var currentScrollY = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var props = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var state = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};\n\n var scrollDirection = currentScrollY >= lastKnownScrollY ? 'down' : 'up';\n var distanceScrolled = Math.abs(currentScrollY - lastKnownScrollY);\n\n // We're disabled\n if (props.disable) {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're at the top and not fixed yet.\n };\n } else if (currentScrollY <= props.pinStart && state.state !== 'unfixed') {\n return {\n action: 'unfix',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're unfixed and headed down. Carry on.\n };\n } else if (currentScrollY <= state.height && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else if (currentScrollY > state.height + props.pinStart && scrollDirection === 'down' && state.state === 'unfixed') {\n return {\n action: 'unpin-snap',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're past the header and scrolling down.\n // We transition to \"unpinned\" if necessary.\n };\n } else if (scrollDirection === 'down' && ['pinned', 'unfixed'].indexOf(state.state) >= 0 && currentScrollY > state.height + props.pinStart && distanceScrolled > props.downTolerance) {\n return {\n action: 'unpin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, we transition to \"pinned\"\n };\n } else if (scrollDirection === 'up' && distanceScrolled > props.upTolerance && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n // We're scrolling up, and inside the header.\n // We transition to pin regardless of upTolerance\n };\n } else if (scrollDirection === 'up' && currentScrollY <= state.height && ['pinned', 'unfixed'].indexOf(state.state) < 0) {\n return {\n action: 'pin',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n } else {\n return {\n action: 'none',\n scrollDirection: scrollDirection,\n distanceScrolled: distanceScrolled\n };\n }\n};","var replaceStringToArray = require('string-replace-to-array')\n\n// This is based off of https://github.com/twitter/twemoji/blob/gh-pages/2/twemoji.js\n//\n// Ideally we'd use twemoji instead of replicating its logic.\n// The reason we can't is that we need to run our own replace.\n//\n// We could use it for most things (by essentially running twemoji.parse for each\n// regex match, and reading the code from the callback), but the one thing we'd always need\n// to copy and paste into this file is the regex since we need it to run the replace.\n//\n// Another option is to fork twemoji and expose a method in it that could help us, then\n// ask them to pull it in.\n//\n\n// RegExp based on emoji's official Unicode standards\n// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\nvar re = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5\\udeeb\\udeec\\udef4-\\udefa\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd71\\udd73-\\udd76\\udd7a-\\udda2\\udda5-\\uddaa\\uddae-\\uddb4\\uddb7\\uddba\\uddbc-\\uddca\\uddd0\\uddde-\\uddff\\ude70-\\ude73\\ude78-\\ude7a\\ude80-\\ude82\\ude90-\\ude95]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g\n\nfunction toCodePoint(unicodeSurrogates, sep) {\n var\n\t\tr = [],\n\t\tc = 0,\n\t\tp = 0,\n\t\ti = 0\n\t\t\n\twhile (i < unicodeSurrogates.length) {\n\t\tc = unicodeSurrogates.charCodeAt(i++)\n\t\tif (p) {\n\t\t\tr.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16))\n\t\t\tp = 0\n\t\t} else if (0xD800 <= c && c <= 0xDBFF) {\n\t\t\tp = c\n\t\t} else {\n\t\t\tr.push(c.toString(16))\n\t\t}\n\t}\n\treturn r.join(sep || '-')\n}\n\n// avoid runtime RegExp creation for not so smart,\n// not JIT based, and old browsers / engines\nvar UFE0Fg = /\\uFE0F/g\n\n// avoid using a string literal like '\\u200D' here because minifiers expand it inline\nvar U200D = String.fromCharCode(0x200D)\n\n/**\n* Used to both remove the possible variant\n* and to convert utf16 into code points.\n* If there is a zero-width-joiner (U+200D), leave the variants in.\n* @param string the raw text of the emoji match\n*/\nfunction grabTheRightIcon(rawText) {\n\t// if variant is present as \\uFE0F\n\treturn toCodePoint(rawText.indexOf(U200D) < 0 ?\n\t\trawText.replace(UFE0Fg, '') :\n\t\trawText\n\t);\n}\n\nmodule.exports = function replaceEmoji (string, render) {\n\t// Note: the latest regex added an empty matching group, so we ignore it.\n\treturn replaceStringToArray(string, re, function emojiReplacer (match, _, offset) {\n\t\tvar icon = grabTheRightIcon(match)\n\t\treturn render(icon, match, offset)\n\t})\n}\n","// Inspiration: https://github.com/facebook/react/issues/3386\n\nvar invariant = require('invariant'),\n\tisString = require('lodash.isstring'),\n\tflatten = require('lodash.flatten')\n\nfunction replace (string, regexpOrSubstr, newValueOrFn) {\n\tinvariant(typeof string === 'string', 'First param must be a string')\n\tinvariant(typeof regexpOrSubstr === 'string' || regexpOrSubstr instanceof RegExp, 'Second param must be a string pattern or a regular expression')\n\n\tvar fn = (typeof regexpOrSubstr === 'string') ? replaceUsingString : replaceUsingRegexp\n\n\treturn fn(string, regexpOrSubstr, newValueOrFn)\n}\n\nfunction replaceUsingString (string, patternString, newValueOrFn) {\n\tvar index = string.indexOf(patternString)\n\n\tif (index >= 0) {\n\t\tvar arr = []\n\t\tvar endIndex = index + patternString.length\n\n\t\tif (index > 0) {\n\t\t\tarr.push(string.substring(0, index))\n\t\t}\n\n\t\tarr.push(\n\t\t\t(typeof newValueOrFn === 'function') ?\n\t\t\t\tnewValueOrFn(\n\t\t\t\t\tstring.substring(index, endIndex),\n\t\t\t\t\tindex,\n\t\t\t\t\tstring\n\t\t\t\t) :\n\t\t\t\tnewValueOrFn\n\t\t)\n\n\t\tif (endIndex < string.length) {\n\t\t\tarr.push(string.substring(endIndex))\n\t\t}\n\n\t\treturn arr\n\t} else {\n\t\treturn [string]\n\t}\n}\n\nfunction replaceUsingRegexp (string, regexp, newValueOrFn) {\n\tvar output = []\n\n\tvar replacerIsFn = (typeof newValueOrFn === 'function')\n\n\tvar storedLastIndex = regexp.lastIndex\n\tregexp.lastIndex = 0\n\n\tvar result\n\tvar lastIndex = 0\n\twhile (result = regexp.exec(string)) {\n\t\tvar index = result.index\n\n\t\tif (result[0] === '') {\n\t\t\t// When the regexp is an empty string\n\t\t\t// we still want to advance our cursor to the next item.\n\t\t\t// This is the behavior of String.replace.\n\t\t\tregexp.lastIndex++\n\t\t}\n\n\t\tif (index !== lastIndex) {\n\t\t\toutput.push(string.substring(lastIndex, index))\n\t\t}\n\n\t\tvar match = result[0]\n\t\tlastIndex = index + match.length\n\t\t\n\t\tvar out = replacerIsFn ?\n\t\t\tnewValueOrFn.apply(this, result.concat(index, result.input)) :\n\t\t\tnewValueOrFn\n\t\toutput.push(out)\n\n\t\tif (!regexp.global) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (lastIndex < string.length) {\n\t\toutput.push(string.substring(lastIndex))\n\t}\n\n\tregexp.lastIndex = storedLastIndex\n\treturn output\n}\n\nmodule.exports = function stringReplaceToArray (string, regexpOrSubstr, newSubStrOrFn) {\n\tif (isString(string)) {\n\t\treturn replace(string, regexpOrSubstr, newSubStrOrFn)\n\t} else if (!Array.isArray(string) || !string[0]) {\n\t\tthrow new TypeError('First argument must be an array or non-empty string');\n\t} else {\n\t\treturn flatten(string.map(function (string) {\n\t\t\tif (!isString(string)) return string\n\t\t\treturn replace(string, regexpOrSubstr, newSubStrOrFn)\n\t\t}))\n\t}\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/**\n * lodash 4.0.1 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array ? array.length : 0;\n return length ? baseFlatten(array, 1) : [];\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = flatten;\n","var React = require('react'),\n\tassign = require('lodash.assign')\n\nvar pageProtocol = (typeof location === 'undefined') ? '' : ((location.protocol === 'https:') ? 'https:' : 'http:')\n\nvar emojiStyle = {\n\theight: '1em',\n\twidth: '1em',\n\tmargin: '0 .05em 0 .1em',\n\tverticalAlign: '-0.1em'\n}\n\n// Accept protocol with or without a colon\nfunction normalizeProtocol(protocol) {\n\tif (protocol && protocol.length > 0 && protocol.charAt(protocol.length - 1) !== ':') {\n\t\treturn protocol + ':'\n\t}\n\treturn protocol\n}\n\nmodule.exports = function makeTwemojiRenderer(options) {\n\toptions = assign({}, {\n\t\tprotocol: pageProtocol,\n\t\tbaseUrl: '//twemoji.maxcdn.com/2/',\n\t\tsize: '72x72',\n\t\text: '.png',\n\t\tprops: null\n\t}, options)\n\n\treturn function renderTwemoji (icon, match, offset) {\n\t\tvar src = ''\n\t\tif (options.baseUrl.indexOf('http') !== 0) {\n\t\t\tsrc += normalizeProtocol(options.protocol)\n\t\t}\n\n\t\tsrc += options.baseUrl + options.size + '/' + icon + options.ext\n\n\t\treturn React.createElement(\n\t\t\t'img',\n\t\t\tassign({\n\t\t\t\tkey: offset,\n\t\t\t\talt: match,\n\t\t\t\tdraggable: false,\n\t\t\t\tsrc: src,\n\t\t\t\tstyle: emojiStyle\n\t\t\t}, options.props)\n\t\t)\n\t}\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = assign;\n","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){var r={};for(var o in e)t.indexOf(o)>=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}function Reveal(e){function t(e){return e?_?{duration:n,delay:f,count:s,forever:d,className:_,style:{}}:y:i?{duration:void 0===o?u:o,delay:p,count:a,forever:l,className:i,style:{}}:c}var r=e.children,o=e.timeout,u=e.duration,p=e.delay,a=e.count,l=e.forever,n=e.durationOut,f=e.delayOut,s=e.countOut,d=e.foreverOut,i=e.effect,_=e.effectOut,c=e.inEffect,y=e.outEffect,O=_objectWithoutProperties(e,[\"children\",\"timeout\",\"duration\",\"delay\",\"count\",\"forever\",\"durationOut\",\"delayOut\",\"countOut\",\"foreverOut\",\"effect\",\"effectOut\",\"inEffect\",\"outEffect\"]);return(0,_wrap2.default)(O,t(!1),t(!0),r)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t>2,l=a>>1;n=a,r=i.delay+(this.isOn?0:s-a-l),e.style.animationDuration=s-a+(this.isOn?l:-l)+\"ms\",e.style.animationDelay=i.delay+(this.isOn?a-l:0)+\"ms\"}return e.collapse={height:o,transition:\"height \"+n+\"ms ease \"+r+\"ms\",overflow:t.collapseOnly?\"hidden\":void 0},e}},{key:\"animate\",value:function(e){if(this&&this.el&&(this.unlisten(),this.isShown!==this.isOn)){this.isShown=this.isOn;var t=!this.isOn&&e.outEffect,i=e[t?\"outEffect\":\"inEffect\"],s=\"style\"in i&&i.style.animationName||void 0,o=void 0;e.collapseOnly?o={hasAppeared:!0,hasExited:!1,style:{opacity:1}}:((e.outEffect||this.isOn)&&i.make&&(s=i.make),o={hasAppeared:!0,hasExited:!1,collapse:void 0,style:_extends({},i.style,{animationDuration:i.duration+\"ms\",animationDelay:i.delay+\"ms\",animationIterationCount:i.forever?\"infinite\":i.count,opacity:1,animationName:s}),className:i.className}),this.setState(e.collapse?this.collapse(o,e,i):o),t?(this.savedChild=_react2.default.cloneElement(this.getChild()),this.animationEnd(this.invisible,e.cascade,i)):this.savedChild=!1,this.onReveal(e)}}},{key:\"onReveal\",value:function(e){e.onReveal&&this.isOn&&(this.onRevealTimeout&&(this.onRevealTimeout=window.clearTimeout(this.onRevealTimeout)),e.wait?this.onRevealTimeout=window.setTimeout(e.onReveal,e.wait):e.onReveal())}},{key:\"componentWillUnmount\",value:function(){this.unlisten(),_globals.ssr&&(0,_globals.disableSsr)()}},{key:\"handleObserve\",value:function(e,t){_slicedToArray(e,1)[0].intersectionRatio>0&&(t.disconnect(),this.observer=null,this.reveal(this.props,!0))}},{key:\"observe\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.el&&_globals.observerMode){if(this.observer){if(!t)return;this.observer.disconnect()}else if(t)return;this.observer=new IntersectionObserver(this.handleObserve,{threshold:e.fraction}),this.observer.observe(this.el)}}},{key:\"reveal\",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];_globals.globalHide||(0,_globals.hideAll)(),this&&this.el&&(e||(e=this.props),_globals.ssr&&(0,_globals.disableSsr)(),this.isOn&&this.isShown&&void 0!==e.spy?(this.isShown=!1,this.setState({style:{}}),window.setTimeout(function(){return t.reveal(e)},200)):i||this.inViewport(e)||e.force?this.animate(e):_globals.observerMode?this.observe(e):this.listen())}},{key:\"componentDidMount\",value:function(){var e=this;if(this.el&&!this.props.disabled){this.props.collapseOnly||(\"make\"in this.props.inEffect&&this.props.inEffect.make(!1,this.props),void 0!==this.props.when&&this.props.outEffect&&\"make\"in this.props.outEffect&&this.props.outEffect.make(!0,this.props));var i=this.context.transitionGroup,s=i&&!i.isMounting?!(\"enter\"in this.props&&!1===this.props.enter):this.props.appear;return this.isOn&&((void 0!==this.props.when||void 0!==this.props.spy)&&!s||_globals.ssr&&!_globals.fadeOutEnabled&&!this.props.ssrFadeout&&this.props.outEffect&&!this.props.ssrReveal&&t.getTop(this.el)o-window.innerHeight&&s=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,n){var r=n.left,t=n.right,e=n.up,a=n.down,p=n.top,i=n.bottom,s=n.mirror,l=n.opposite,u=(r?1:0)|(t?2:0)|(p||a?4:0)|(i||e?8:0)|(s?16:0)|(l?32:0)|(o?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(o&&l)){var d=[t,r,i,p,a,e];r=d[0],t=d[1],p=d[2],i=d[3],e=d[4],a=d[5]}var f=r||t,c=p||i||e||a,m=f||c,y=void 0,v=void 0,_=void 0,b=void 0,x=void 0,T=void 0,g=void 0,h=void 0,k=void 0,w=void 0,q=void 0,O=void 0,P=void 0,j=void 0;return o?(b=f?(t?\"-\":\"\")+\"20px\":0,x=c?(e||i?\"\":\"-\")+\"10px\":\"0\",T=(a||p?\"\":\"-\")+\"20px\",P=f?(r?\"-\":\"\")+\"2000px\":\"0\",j=c?(a||p?\"-\":\"\")+\"2000px\":\"0\"):(v=f?(r?\"-\":\"\")+\"3000px\":\"0\",_=c?(a||p?\"-\":\"\")+\"3000px\":\"0\",g=f?(t?\"-\":\"\")+\"25px\":\"0\",h=c?(e||i?\"-\":\"\")+\"25px\":\"0\",k=f?(r?\"-\":\"\")+\"10px\":\"0\",w=c?(a||p?\"-\":\"\")+\"10px\":\"0\",q=f?(t?\"-\":\"\")+\"5px\":\"0\",O=c?(e||i?\"-\":\"\")+\"5px\":\"0\"),y=m?o?\"\\n 20% {\\n transform: translate3d(\"+b+\", \"+x+\", 0);\\n }\\n \"+(c?\"40%, 45% {\\n opacity: 1;\\n transform: translate3d(0, \"+T+\", 0);\\n }\":\"\")+\"\\n to {\\n opacity: 0;\\n transform: translate3d(\"+P+\", \"+j+\", 0);\\n }\\n \":\"from, 60%, 75%, 90%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n from {\\n opacity: 0;\\n transform: translate3d(\"+v+\", \"+_+\", 0);\\n }\\n 60% {\\n opacity: 1;\\n transform: translate3d(\"+g+\", \"+h+\", 0);\\n }\\n 75% {\\n transform: translate3d(\"+k+\", \"+w+\", 0);\\n }\\n 90% {\\n transform: translate3d(\"+q+\", \"+O+\", 0);\\n }\\n to {\\n transform: none;\\n }\":o?\"20% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 50%, 55% {\\n opacity: 1;\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n to {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\":\"from, 20%, 40%, 60%, 80%, to {\\n animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\\n }\\n 0% {\\n opacity: 0;\\n transform: scale3d(.3, .3, .3);\\n }\\n 20% {\\n transform: scale3d(1.1, 1.1, 1.1);\\n }\\n 40% {\\n transform: scale3d(.9, .9, .9);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(1.03, 1.03, 1.03);\\n }\\n 80% {\\n transform: scale3d(.97, .97, .97);\\n }\\n to {\\n opacity: 1;\\n transform: scale3d(1, 1, 1);\\n }\",lookup[u]=(0,_globals.animation)(y),lookup[u]}function Bounce(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,n=o.children,r=(o.out,o.forever),t=o.timeout,e=o.duration,a=void 0===e?_globals.defaults.duration:e,p=o.delay,i=void 0===p?_globals.defaults.delay:p,s=o.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:i,forever:r,count:l,style:{animationFillMode:\"both\"},reverse:u.left};return(0,_wrap2.default)(u,d,d,n)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Bounce.propTypes=propTypes,exports.default=Bounce,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,a=e.top,u=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(a||l?4:0)|(u||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];if(!n!=!(o&&s)){var _=[t,r,u,a,l,p];r=_[0],t=_[1],a=_[2],u=_[3],p=_[4],l=_[5]}var y=i?\"2000px\":\"100%\",b=r?\"-\"+y:t?y:\"0\",f=l||a?\"-\"+y:p||u?y:\"0\";return lookup[d]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" {opacity: 0;transform: translate3d(\"+b+\", \"+f+\", 0) rotate3d(0, 0, 1, -120deg);}\\n\\t \"+(o?\"from\":\"to\")+\" {opacity: 1;transform: none}\\n \"),lookup[d]}function Roll(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,a=o.delay,u=void 0===a?_globals.defaults.delay:a,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Roll.propTypes=propTypes,exports.default=Roll,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,l=e.down,u=e.top,a=e.bottom,i=e.big,n=e.mirror,s=e.opposite,d=(r?1:0)|(t?2:0)|(u||l?4:0)|(a||p?8:0)|(n?16:0)|(s?32:0)|(o?64:0)|(i?128:0);if(lookup.hasOwnProperty(d))return lookup[d];var _=r||t||p||l||u||a,f=void 0,b=void 0;if(_){if(!n!=!(o&&s)){var y=[t,r,a,u,l,p];r=y[0],t=y[1],u=y[2],a=y[3],p=y[4],l=y[5]}var m=i?\"2000px\":\"100%\";f=r?\"-\"+m:t?m:\"0\",b=l||u?\"-\"+m:p||a?m:\"0\"}return lookup[d]=(0,_globals.animation)((o?\"to\":\"from\")+\" {\"+(_?\" transform: translate3d(\"+f+\", \"+b+\", 0);\":\"\")+\"}\\n \"+(o?\"from\":\"to\")+\" {transform: none;} \"),lookup[d]}function Slide(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,l=void 0===p?_globals.defaults.duration:p,u=o.delay,a=void 0===u?_globals.defaults.delay:u,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?l:t,delay:a,forever:r,count:n,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,big:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Slide.propTypes=propTypes,exports.default=Slide,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,o){var t={};for(var r in e)o.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}function make(e,o){var t=o.left,r=o.right,n=o.top,p=o.bottom,i=o.x,a=o.y,s=o.mirror,l=o.opposite,u=(t?1:0)|(r||a?2:0)|(n||i?4:0)|(p?8:0)|(s?16:0)|(l?32:0)|(e?64:0);if(lookup.hasOwnProperty(u))return lookup[u];if(!s!=!(e&&l)){var d=[r,t,p,n,a,i];t=d[0],r=d[1],n=d[2],p=d[3],i=d[4],a=d[5]}var f=void 0;if(i||a||t||r||n||p){var m=i||n||p?(p?\"-\":\"\")+\"1\":\"0\",c=a||r||t?(t?\"-\":\"\")+\"1\":\"0\";f=e?\"from {\\n transform: perspective(400px);\\n }\\n 30% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -15deg);\\n opacity: 1;\\n }\\n to {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n opacity: 0;\\n }\":\"from {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 90deg);\\n animation-timing-function: ease-in;\\n opacity: 0;\\n }\\n 40% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -20deg);\\n animation-timing-function: ease-in;\\n }\\n 60% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, 10deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: perspective(400px) rotate3d(\"+m+\", \"+c+\", 0, -5deg);\\n }\\n to {\\n transform: perspective(400px);\\n }\"}else f=\"from {\\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n animation-timing-function: ease-out;\\n opacity: \"+(e?\"1\":\"0\")+\";\\n }\\n 40% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n animation-timing-function: ease-out;\\n }\\n 50% {\\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n animation-timing-function: ease-in;\\n }\\n to {\\n transform: perspective(400px);\\n animation-timing-function: ease-in;\\n opacity: \"+(e?\"0\":\"1\")+\";\\n }\";return lookup[u]=(0,_globals.animation)(f),lookup[u]}function Flip(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,o=e.children,t=(e.out,e.forever),r=e.timeout,n=e.duration,p=void 0===n?_globals.defaults.duration:n,i=e.delay,a=void 0===i?_globals.defaults.delay:i,s=e.count,l=void 0===s?_globals.defaults.count:s,u=_objectWithoutProperties(e,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===r?p:r,delay:a,forever:t,count:l,style:{animationFillMode:\"both\",backfaceVisibility:\"visible\"}};return(0,_wrap2.default)(u,d,d,o)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Flip.propTypes=propTypes,exports.default=Flip,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,a=e.down,l=e.top,u=e.bottom,i=e.mirror,n=e.opposite,s=(r?1:0)|(t?2:0)|(l||a?4:0)|(u||p?8:0)|(i?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!i!=!(o&&n)){var d=[t,r,u,l,a,p];r=d[0],t=d[1],l=d[2],u=d[3],p=d[4],a=d[5]}var f=\"-200deg\",_=\"center\";return(a||l)&&r&&(f=\"-45deg\"),((a||l)&&t||(p||u)&&r)&&(f=\"45deg\"),(p||u)&&t&&(f=\"-90deg\"),(r||t)&&(_=(r?\"left\":\"right\")+\" bottom\"),lookup[s]=(0,_globals.animation)(\"\\n \"+(o?\"to\":\"from\")+\" { opacity: 0; transform-origin: \"+_+\"; transform: rotate3d(0, 0, 1, \"+f+\");}\\n \"+(o?\"from\":\"to\")+\" { opacity: 1; transform-origin: \"+_+\"; transform: none;}\\n \"),lookup[s]}function Rotate(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,a=void 0===p?_globals.defaults.duration:p,l=o.delay,u=void 0===l?_globals.defaults.delay:l,i=o.count,n=void 0===i?_globals.defaults.count:i,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?a:t,delay:u,forever:r,count:n,style:{animationFillMode:\"both\"}};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Rotate.propTypes=propTypes,exports.default=Rotate,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.mirror,n=e.opposite,a=(r?1:0)|(t?2:0)|(p?16:0)|(n?32:0)|(o?64:0);if(lookup.hasOwnProperty(a))return lookup[a];if(!p!=!(o&&n)){var i=[t,r];r=i[0],t=i[1]}var l=r?\"-100%\":t?\"100%\":\"0\",u=o?\"from {\\n opacity: 1;\\n }\\n to {\\n transform: translate3d(\"+l+\", 0, 0) skewX(30deg);\\n opacity: 0;\\n }\\n \":\"from {\\n transform: translate3d(\"+l+\", 0, 0) skewX(-30deg);\\n opacity: 0;\\n }\\n 60% {\\n transform: skewX(20deg);\\n opacity: 1;\\n }\\n 80% {\\n transform: skewX(-5deg);\\n opacity: 1;\\n }\\n to {\\n transform: none;\\n opacity: 1;\\n }\";return lookup[a]=(0,_globals.animation)(u),lookup[a]}function LightSpeed(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"}};s.left,s.right,s.mirror,s.opposite;return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_propTypes=require(\"prop-types\"),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};LightSpeed.propTypes=propTypes,exports.default=LightSpeed,module.exports=exports.default;","\"use strict\";function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,e){var r={};for(var t in o)e.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t]);return r}function make(o,e){var r=e.left,t=e.right,p=e.up,n=e.down,a=e.top,i=e.bottom,l=e.mirror,u=e.opposite,s=(r?1:0)|(t?2:0)|(a||n?4:0)|(i||p?8:0)|(l?16:0)|(u?32:0)|(o?64:0);if(lookup.hasOwnProperty(s))return lookup[s];if(!l!=!(o&&u)){var d=[t,r,i,a,n,p];r=d[0],t=d[1],a=d[2],i=d[3],p=d[4],n=d[5]}var f=r||t,c=a||i||p||n,m=f||c,y=void 0,b=void 0,_=void 0,v=void 0,T=void 0;return m?o?(b=f?(r?\"\":\"-\")+\"42px\":\"0\",_=c?(n||a?\"-\":\"\")+\"60px\":\"0\",v=f?(t?\"\":\"-\")+\"2000px\":\"0\",T=c?(p||i?\"\":\"-\")+\"2000px\":\"0\",y=\"40% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+b+\", \"+_+\", 0);\\n }\\n to {\\n opacity: 0;\\n transform: scale(.1) translate3d(\"+v+\", \"+T+\", 0);\\n transform-origin: \"+(c?\"center bottom\":(r?\"left\":\"right\")+\" center\")+\";\\n }\"):(b=f?(r?\"-\":\"\")+\"1000px\":\"0\",_=c?(n||a?\"-\":\"\")+\"1000px\":\"0\",v=f?(t?\"-\":\"\")+\"10px\":\"0\",T=c?(p||i?\"-\":\"\")+\"60px\":\"0\",y=\"from {\\n opacity: 0;\\n transform: scale3d(.1, .1, .1) translate3d(\"+b+\", \"+_+\", 0);\\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\\n }\\n 60% {\\n opacity: 1;\\n transform: scale3d(.475, .475, .475) translate3d(\"+v+\", \"+T+\", 0);\\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\\n }\"):y=(o?\"to\":\"from\")+\" {opacity: 0; transform: scale3d(.1, .1, .1);} \"+(o?\"from\":\"to\")+\" { opacity: 1; transform: none;}\",lookup[s]=(0,_globals.animation)(y),lookup[s]}function Zoom(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_globals.defaults,e=o.children,r=(o.out,o.forever),t=o.timeout,p=o.duration,n=void 0===p?_globals.defaults.duration:p,a=o.delay,i=void 0===a?_globals.defaults.delay:a,l=o.count,u=void 0===l?_globals.defaults.count:l,s=_objectWithoutProperties(o,[\"children\",\"out\",\"forever\",\"timeout\",\"duration\",\"delay\",\"count\"]),d={make:make,duration:void 0===t?n:t,delay:i,forever:r,count:u,style:{animationFillMode:\"both\"},reverse:s.left};return(0,_wrap2.default)(s,d,d,e)}Object.defineProperty(exports,\"__esModule\",{value:!0});var _propTypes=require(\"prop-types\"),_wrap=require(\"./wrap\"),_wrap2=_interopRequireDefault(_wrap),_globals=require(\"./globals\"),propTypes={out:_propTypes.bool,left:_propTypes.bool,right:_propTypes.bool,top:_propTypes.bool,bottom:_propTypes.bool,mirror:_propTypes.bool,opposite:_propTypes.bool,duration:_propTypes.number,timeout:_propTypes.number,delay:_propTypes.number,count:_propTypes.number,forever:_propTypes.bool},lookup={};Zoom.propTypes=propTypes,exports.default=Zoom,module.exports=exports.default;","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 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\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","(typeof navigator !== \"undefined\") && (function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function() {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}((window || {}), function(window) {\n\t\"use strict\";\r\nvar svgNS = \"http://www.w3.org/2000/svg\";\r\n\r\nvar locationHref = '';\r\n\r\nvar initialDefaultFrame = -999999;\r\n\r\nvar subframeEnabled = true;\r\nvar expressionsPlugin;\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\nvar cachedColors = {};\r\nvar bm_rounder = Math.round;\r\nvar bm_rnd;\r\nvar bm_pow = Math.pow;\r\nvar bm_sqrt = Math.sqrt;\r\nvar bm_abs = Math.abs;\r\nvar bm_floor = Math.floor;\r\nvar bm_max = Math.max;\r\nvar bm_min = Math.min;\r\nvar blitter = 10;\r\n\r\nvar BMMath = {};\r\n(function(){\r\n var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\r\n var i, len = propertyNames.length;\r\n for(i=0;i 1) {\r\n hsv[1] = 1;\r\n }\r\n else if (hsv[1] <= 0) {\r\n hsv[1] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addBrightnessToRGB(color,offset){\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[2] += offset;\r\n if (hsv[2] > 1) {\r\n hsv[2] = 1;\r\n }\r\n else if (hsv[2] < 0) {\r\n hsv[2] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addHueToRGB(color,offset) {\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[0] += offset/360;\r\n if (hsv[0] > 1) {\r\n hsv[0] -= 1;\r\n }\r\n else if (hsv[0] < 0) {\r\n hsv[0] += 1;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nvar rgbToHex = (function(){\r\n var colorMap = [];\r\n var i;\r\n var hex;\r\n for(i=0;i<256;i+=1){\r\n hex = i.toString(16);\r\n colorMap[i] = hex.length == 1 ? '0' + hex : hex;\r\n }\r\n\r\n return function(r, g, b) {\r\n if(r<0){\r\n r = 0;\r\n }\r\n if(g<0){\r\n g = 0;\r\n }\r\n if(b<0){\r\n b = 0;\r\n }\r\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\r\n };\r\n}());\r\nfunction BaseEvent(){}\r\nBaseEvent.prototype = {\r\n\ttriggerEvent: function (eventName, args) {\r\n\t if (this._cbs[eventName]) {\r\n\t var len = this._cbs[eventName].length;\r\n\t for (var i = 0; i < len; i++){\r\n\t this._cbs[eventName][i](args);\r\n\t }\r\n\t }\r\n\t},\r\n\taddEventListener: function (eventName, callback) {\r\n\t if (!this._cbs[eventName]){\r\n\t this._cbs[eventName] = [];\r\n\t }\r\n\t this._cbs[eventName].push(callback);\r\n\r\n\t\treturn function() {\r\n\t\t\tthis.removeEventListener(eventName, callback);\r\n\t\t}.bind(this);\r\n\t},\r\n\tremoveEventListener: function (eventName,callback){\r\n\t if (!callback){\r\n\t this._cbs[eventName] = null;\r\n\t }else if(this._cbs[eventName]){\r\n\t var i = 0, len = this._cbs[eventName].length;\r\n\t while(i 0) || (val > -0.000001 && val < 0)) {\r\n return _rnd(val * v) / v;\r\n }\r\n return val;\r\n }\r\n\r\n function to2dCSS() {\r\n //Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\r\n /*if(this.isIdentity()) {\r\n return '';\r\n }*/\r\n var props = this.props;\r\n var _a = roundMatrixProperty(props[0]);\r\n var _b = roundMatrixProperty(props[1]);\r\n var _c = roundMatrixProperty(props[4]);\r\n var _d = roundMatrixProperty(props[5]);\r\n var _e = roundMatrixProperty(props[12]);\r\n var _f = roundMatrixProperty(props[13]);\r\n return \"matrix(\" + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + \")\";\r\n }\r\n\r\n return function(){\r\n this.reset = reset;\r\n this.rotate = rotate;\r\n this.rotateX = rotateX;\r\n this.rotateY = rotateY;\r\n this.rotateZ = rotateZ;\r\n this.skew = skew;\r\n this.skewFromAxis = skewFromAxis;\r\n this.shear = shear;\r\n this.scale = scale;\r\n this.setTransform = setTransform;\r\n this.translate = translate;\r\n this.transform = transform;\r\n this.applyToPoint = applyToPoint;\r\n this.applyToX = applyToX;\r\n this.applyToY = applyToY;\r\n this.applyToZ = applyToZ;\r\n this.applyToPointArray = applyToPointArray;\r\n this.applyToTriplePoints = applyToTriplePoints;\r\n this.applyToPointStringified = applyToPointStringified;\r\n this.toCSS = toCSS;\r\n this.to2dCSS = to2dCSS;\r\n this.clone = clone;\r\n this.cloneFromProps = cloneFromProps;\r\n this.equals = equals;\r\n this.inversePoints = inversePoints;\r\n this.inversePoint = inversePoint;\r\n this.getInverseMatrix = getInverseMatrix;\r\n this._t = this.transform;\r\n this.isIdentity = isIdentity;\r\n this._identity = true;\r\n this._identityCalculated = false;\r\n\r\n this.props = createTypedArray('float32', 16);\r\n this.reset();\r\n };\r\n}());\r\n\r\n/*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\r\n\r\n(function (pool, math) {\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\n var global = this,\r\n width = 256, // each RC4 output is 0 <= x < 256\r\n chunks = 6, // at least six RC4 outputs for each double\r\n digits = 52, // there are 52 significant digits in a double\r\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\r\n startdenom = math.pow(width, chunks),\r\n significance = math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1,\r\n nodecrypto; // node.js crypto module, initialized at the bottom.\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\n function seedrandom(seed, options, callback) {\r\n var key = [];\r\n options = (options === true) ? { entropy: true } : (options || {});\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n options.entropy ? [seed, tostring(pool)] :\r\n (seed === null) ? autoseed() : seed, 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n var prng = function() {\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n\r\n prng.int32 = function() { return arc4.g(4) | 0; };\r\n prng.quick = function() { return arc4.g(4) / 0x100000000; };\r\n prng.double = prng;\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Calling convention: what to return as a function of prng, seed, is_math.\r\n return (options.pass || callback ||\r\n function(prng, seed, is_math_call, state) {\r\n if (state) {\r\n // Load the arc4 state from the given state if it has an S array.\r\n if (state.S) { copy(state, arc4); }\r\n // Only provide the .state method if requested via options.state.\r\n prng.state = function() { return copy(arc4, {}); };\r\n }\r\n\r\n // If called as a method of Math (Math.seedrandom()), mutate\r\n // Math.random because that is how seedrandom.js has worked since v1.0.\r\n if (is_math_call) { math[rngname] = prng; return seed; }\r\n\r\n // Otherwise, it is a newer calling convention, so return the\r\n // prng directly.\r\n else return prng;\r\n })(\r\n prng,\r\n shortseed,\r\n 'global' in options ? options.global : (this == math),\r\n options.state);\r\n }\r\n math['seed' + rngname] = seedrandom;\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n function ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability, the function call below automatically\r\n // discards an initial batch of values. This is called RC4-drop[256].\r\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\r\n };\r\n }\r\n\r\n//\r\n// copy()\r\n// Copies internal state of ARC4 to or from a plain object.\r\n//\r\n function copy(f, t) {\r\n t.i = f.i;\r\n t.j = f.j;\r\n t.S = f.S.slice();\r\n return t;\r\n }\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\n function flatten(obj, depth) {\r\n var result = [], typ = (typeof obj), prop;\r\n if (depth && typ == 'object') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\r\n }\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\n function mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n }\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto and Node crypto\r\n// module if available.\r\n//\r\n function autoseed() {\r\n try {\r\n if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }\r\n var out = new Uint8Array(width);\r\n (global.crypto || global.msCrypto).getRandomValues(out);\r\n return tostring(out);\r\n } catch (e) {\r\n var browser = global.navigator,\r\n plugins = browser && browser.plugins;\r\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\r\n }\r\n }\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\n function tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n }\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to interfere with deterministic PRNG state later,\r\n// seedrandom will not call math.random on its own again after\r\n// initialization.\r\n//\r\n mixkey(math.random(), pool);\r\n\r\n//\r\n// Nodejs and AMD support: export the implementation as a module using\r\n// either convention.\r\n//\r\n\r\n// End anonymous scope, and pass initial values.\r\n})(\r\n [], // pool: entropy pool starts empty\r\n BMMath // math: package containing random, pow, and seedrandom\r\n);\r\nvar BezierFactory = (function(){\r\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\r\n\r\n var ob = {};\r\n ob.getBezierEasing = getBezierEasing;\r\n var beziers = {};\r\n\r\n function getBezierEasing(a,b,c,d,nm){\r\n var str = nm || ('bez_' + a+'_'+b+'_'+c+'_'+d).replace(/\\./g, 'p');\r\n if(beziers[str]){\r\n return beziers[str];\r\n }\r\n var bezEasing = new BezierEasing([a,b,c,d]);\r\n beziers[str] = bezEasing;\r\n return bezEasing;\r\n }\r\n\r\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\r\n var NEWTON_ITERATIONS = 4;\r\n var NEWTON_MIN_SLOPE = 0.001;\r\n var SUBDIVISION_PRECISION = 0.0000001;\r\n var SUBDIVISION_MAX_ITERATIONS = 10;\r\n\r\n var kSplineTableSize = 11;\r\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\r\n\r\n var float32ArraySupported = typeof Float32Array === \"function\";\r\n\r\n function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\r\n function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\r\n function C (aA1) { return 3.0 * aA1; }\r\n\r\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\r\n function calcBezier (aT, aA1, aA2) {\r\n return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT;\r\n }\r\n\r\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\r\n function getSlope (aT, aA1, aA2) {\r\n return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\r\n }\r\n\r\n function binarySubdivide (aX, aA, aB, mX1, mX2) {\r\n var currentX, currentT, i = 0;\r\n do {\r\n currentT = aA + (aB - aA) / 2.0;\r\n currentX = calcBezier(currentT, mX1, mX2) - aX;\r\n if (currentX > 0.0) {\r\n aB = currentT;\r\n } else {\r\n aA = currentT;\r\n }\r\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\r\n return currentT;\r\n }\r\n\r\n function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {\r\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\r\n var currentSlope = getSlope(aGuessT, mX1, mX2);\r\n if (currentSlope === 0.0) return aGuessT;\r\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\r\n aGuessT -= currentX / currentSlope;\r\n }\r\n return aGuessT;\r\n }\r\n\r\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\r\n function BezierEasing (points) {\r\n this._p = points;\r\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\r\n this._precomputed = false;\r\n\r\n this.get = this.get.bind(this);\r\n }\r\n\r\n BezierEasing.prototype = {\r\n\r\n get: function (x) {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n if (!this._precomputed) this._precompute();\r\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\r\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\r\n if (x === 0) return 0;\r\n if (x === 1) return 1;\r\n return calcBezier(this._getTForX(x), mY1, mY2);\r\n },\r\n\r\n // Private part\r\n\r\n _precompute: function () {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n this._precomputed = true;\r\n if (mX1 !== mY1 || mX2 !== mY2)\r\n this._calcSampleValues();\r\n },\r\n\r\n _calcSampleValues: function () {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2];\r\n for (var i = 0; i < kSplineTableSize; ++i) {\r\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\r\n }\r\n },\r\n\r\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\r\n _getTForX: function (aX) {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2],\r\n mSampleValues = this._mSampleValues;\r\n\r\n var intervalStart = 0.0;\r\n var currentSample = 1;\r\n var lastSample = kSplineTableSize - 1;\r\n\r\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\r\n intervalStart += kSampleStepSize;\r\n }\r\n --currentSample;\r\n\r\n // Interpolate to provide an initial guess for t\r\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample+1] - mSampleValues[currentSample]);\r\n var guessForT = intervalStart + dist * kSampleStepSize;\r\n\r\n var initialSlope = getSlope(guessForT, mX1, mX2);\r\n if (initialSlope >= NEWTON_MIN_SLOPE) {\r\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\r\n } else if (initialSlope === 0.0) {\r\n return guessForT;\r\n } else {\r\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\r\n }\r\n }\r\n };\r\n\r\n return ob;\r\n\r\n}());\r\n(function () {\r\n var lastTime = 0;\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n if(!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function (callback, element) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function () {\r\n callback(currTime + timeToCall);\r\n },\r\n timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n if(!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\nfunction extendPrototype(sources,destination){\r\n var i, len = sources.length, sourcePrototype;\r\n for (i = 0;i < len;i += 1) {\r\n sourcePrototype = sources[i].prototype;\r\n for (var attr in sourcePrototype) {\r\n if (sourcePrototype.hasOwnProperty(attr)) destination.prototype[attr] = sourcePrototype[attr];\r\n }\r\n }\r\n}\r\n\r\nfunction getDescriptor(object, prop) {\r\n return Object.getOwnPropertyDescriptor(object, prop);\r\n}\r\n\r\nfunction createProxyFunction(prototype) {\r\n\tfunction ProxyFunction(){}\r\n\tProxyFunction.prototype = prototype;\r\n\treturn ProxyFunction;\r\n}\r\nfunction bezFunction(){\r\n\r\n var easingFunctions = [];\r\n var math = Math;\r\n\r\n function pointOnLine2D(x1,y1, x2,y2, x3,y3){\r\n var det1 = (x1*y2) + (y1*x3) + (x2*y3) - (x3*y2) - (y3*x1) - (x2*y1);\r\n return det1 > -0.001 && det1 < 0.001;\r\n }\r\n\r\n function pointOnLine3D(x1,y1,z1, x2,y2,z2, x3,y3,z3){\r\n if(z1 === 0 && z2 === 0 && z3 === 0) {\r\n return pointOnLine2D(x1,y1, x2,y2, x3,y3);\r\n }\r\n var dist1 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));\r\n var dist2 = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2) + Math.pow(z3 - z1, 2));\r\n var dist3 = Math.sqrt(Math.pow(x3 - x2, 2) + Math.pow(y3 - y2, 2) + Math.pow(z3 - z2, 2));\r\n var diffDist;\r\n if(dist1 > dist2){\r\n if(dist1 > dist3){\r\n diffDist = dist1 - dist2 - dist3;\r\n } else {\r\n diffDist = dist3 - dist2 - dist1;\r\n }\r\n } else if(dist3 > dist2){\r\n diffDist = dist3 - dist2 - dist1;\r\n } else {\r\n diffDist = dist2 - dist1 - dist3;\r\n }\r\n return diffDist > -0.0001 && diffDist < 0.0001;\r\n }\r\n\r\n var getBezierLength = (function(){\r\n\r\n return function(pt1,pt2,pt3,pt4){\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i, len;\r\n var ptCoord,perc,addedLength = 0;\r\n var ptDistance;\r\n var point = [],lastPoint = [];\r\n var lengthData = bezier_length_pool.newElement();\r\n len = pt3.length;\r\n for(k=0;k lengthPos ? -1 : 1;\r\n var flag = true;\r\n while(flag){\r\n if(lengths[initPos] <= lengthPos && lengths[initPos+1] > lengthPos){\r\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos+1] - lengths[initPos]);\r\n flag = false;\r\n }else{\r\n initPos += dir;\r\n }\r\n if(initPos < 0 || initPos >= len - 1){\r\n //FIX for TypedArrays that don't store floating point values with enough accuracy\r\n if(initPos === len - 1) {\r\n return percents[initPos];\r\n }\r\n flag = false;\r\n }\r\n }\r\n return percents[initPos] + (percents[initPos+1] - percents[initPos])*lPerc;\r\n }\r\n }\r\n\r\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\r\n var t1 = getDistancePerc(percent,bezierData);\r\n var u0 = 1;\r\n var u1 = 1 - t1;\r\n var ptX = Math.round((u1*u1*u1* pt1[0] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[0] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[0] + t1*t1*t1* pt2[0])* 1000) / 1000;\r\n var ptY = Math.round((u1*u1*u1* pt1[1] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[1] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[1] + t1*t1*t1* pt2[1])* 1000) / 1000;\r\n return [ptX, ptY];\r\n }\r\n\r\n function getSegmentArray() {\r\n\r\n }\r\n\r\n var bezier_segment_points = createTypedArray('float32', 8);\r\n\r\n function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc, bezierData){\r\n\r\n startPerc = startPerc < 0 ? 0 : startPerc > 1 ? 1 : startPerc;\r\n var t0 = getDistancePerc(startPerc,bezierData);\r\n endPerc = endPerc > 1 ? 1 : endPerc;\r\n var t1 = getDistancePerc(endPerc,bezierData);\r\n var i, len = pt1.length;\r\n var u0 = 1 - t0;\r\n var u1 = 1 - t1;\r\n var u0u0u0 = u0*u0*u0;\r\n var t0u0u0_3 = t0*u0*u0*3;\r\n var t0t0u0_3 = t0*t0*u0*3;\r\n var t0t0t0 = t0*t0*t0;\r\n //\r\n var u0u0u1 = u0*u0*u1;\r\n var t0u0u1_3 = t0*u0*u1 + u0*t0*u1 + u0*u0*t1;\r\n var t0t0u1_3 = t0*t0*u1 + u0*t0*t1 + t0*u0*t1;\r\n var t0t0t1 = t0*t0*t1;\r\n //\r\n var u0u1u1 = u0*u1*u1;\r\n var t0u1u1_3 = t0*u1*u1 + u0*t1*u1 + u0*u1*t1;\r\n var t0t1u1_3 = t0*t1*u1 + u0*t1*t1 + t0*u1*t1;\r\n var t0t1t1 = t0*t1*t1;\r\n //\r\n var u1u1u1 = u1*u1*u1;\r\n var t1u1u1_3 = t1*u1*u1 + u1*t1*u1 + u1*u1*t1;\r\n var t1t1u1_3 = t1*t1*u1 + u1*t1*t1 + t1*u1*t1;\r\n var t1t1t1 = t1*t1*t1;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n convertPathsToAbsoluteValues(arr[i].ks.k);\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;janimVersion[0]){\r\n return true;\r\n } else if(animVersion[0] > minimum[0]){\r\n return false;\r\n }\r\n if(minimum[1]>animVersion[1]){\r\n return true;\r\n } else if(animVersion[1] > minimum[1]){\r\n return false;\r\n }\r\n if(minimum[2]>animVersion[2]){\r\n return true;\r\n } else if(animVersion[2] > minimum[2]){\r\n return false;\r\n }\r\n }\r\n\r\n var checkText = (function(){\r\n var minimumVersion = [4,4,14];\r\n\r\n function updateTextLayer(textLayer){\r\n var documentData = textLayer.t.d;\r\n textLayer.t.d = {\r\n k: [\r\n {\r\n s:documentData,\r\n t:0\r\n }\r\n ]\r\n };\r\n }\r\n\r\n function iterateLayers(layers){\r\n var i, len = layers.length;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n arr[i].ks.k.c = arr[i].closed;\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;j 0) {\r\n shouldLoadFont = false;\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var s = createTag('style');\r\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n s.setAttribute('f-origin', fontArr[i].origin);\r\n s.setAttribute('f-family', fontArr[i].fFamily);\r\n s.type = \"text/css\";\r\n s.innerText = \"@font-face {\" + \"font-family: \"+fontArr[i].fFamily+\"; font-style: normal; src: url('\"+fontArr[i].fPath+\"');}\";\r\n defs.appendChild(s);\r\n }\r\n } else if(fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1){\r\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var l = createTag('link');\r\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n l.setAttribute('f-origin', fontArr[i].origin);\r\n l.type = \"text/css\";\r\n l.rel = \"stylesheet\";\r\n l.href = fontArr[i].fPath;\r\n document.body.appendChild(l);\r\n }\r\n } else if(fontArr[i].fOrigin === 't' || fontArr[i].origin === 2){\r\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (fontArr[i].fPath === loadedSelector[j].src) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var sc = createTag('link');\r\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n sc.setAttribute('f-origin', fontArr[i].origin);\r\n sc.setAttribute('rel','stylesheet');\r\n sc.setAttribute('href',fontArr[i].fPath);\r\n defs.appendChild(sc);\r\n }\r\n }\r\n fontArr[i].helper = createHelper(defs,fontArr[i]);\r\n fontArr[i].cache = {};\r\n this.fonts.push(fontArr[i]);\r\n }\r\n if (_pendingFonts === 0) {\r\n this.isLoaded = true;\r\n } else {\r\n //On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\r\n //Adding this timeout seems to fix it\r\n setTimeout(this.checkLoadedFonts.bind(this), 100);\r\n }\r\n }\r\n\r\n function addChars(chars){\r\n if(!chars){\r\n return;\r\n }\r\n if(!this.chars){\r\n this.chars = [];\r\n }\r\n var i, len = chars.length;\r\n var j, jLen = this.chars.length, found;\r\n for(i=0;i= nextKeyData.t - offsetTime){\r\n if(keyData.h){\r\n keyData = nextKeyData;\r\n }\r\n iterationIndex = 0;\r\n break;\r\n }\r\n if ((nextKeyData.t - offsetTime) > frameNum){\r\n iterationIndex = i;\r\n break;\r\n }\r\n if (i < len - 1){\r\n i += 1;\r\n } else {\r\n iterationIndex = 0;\r\n flag = false;\r\n }\r\n }\r\n\r\n var k, kLen, perc, jLen, j, fnc;\r\n var nextKeyTime = nextKeyData.t - offsetTime;\r\n var keyTime = keyData.t - offsetTime;\r\n var endValue;\r\n if (keyData.to) {\r\n if (!keyData.bezierData) {\r\n keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\r\n }\r\n var bezierData = keyData.bezierData;\r\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\r\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\r\n kLen = bezierData.points[ind].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[ind].point[k];\r\n }\r\n // caching._lastKeyframeIndex = -1;\r\n } else {\r\n if (keyData.__fnct) {\r\n fnc = keyData.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n var distanceInLine = bezierData.segmentLength*perc;\r\n\r\n var segmentPerc;\r\n var addedLength = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;\r\n j = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;\r\n flag = true;\r\n jLen = bezierData.points.length;\r\n while (flag) {\r\n addedLength += bezierData.points[j].partialLength;\r\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k];\r\n }\r\n break;\r\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\r\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\r\n }\r\n break;\r\n }\r\n if (j < jLen - 1){\r\n j += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n caching._lastPoint = j;\r\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\r\n caching._lastKeyframeIndex = i;\r\n }\r\n } else {\r\n var outX, outY, inX, inY, keyValue;\r\n len = keyData.s.length;\r\n endValue = nextKeyData.s || keyData.e;\r\n if (this.sh && keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n newValue[0] = endValue[0];\r\n newValue[1] = endValue[1];\r\n newValue[2] = endValue[2];\r\n } else if (frameNum <= keyTime) {\r\n newValue[0] = keyData.s[0];\r\n newValue[1] = keyData.s[1];\r\n newValue[2] = keyData.s[2];\r\n } else {\r\n var quatStart = createQuaternion(keyData.s);\r\n var quatEnd = createQuaternion(endValue);\r\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\r\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\r\n }\r\n \r\n } else {\r\n for(i = 0; i < len; i += 1) {\r\n if (keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n perc = 1;\r\n } else if(frameNum < keyTime) {\r\n perc = 0;\r\n } else {\r\n if(keyData.o.x.constructor === Array) {\r\n if (!keyData.__fnct) {\r\n keyData.__fnct = [];\r\n }\r\n if (!keyData.__fnct[i]) {\r\n outX = (typeof keyData.o.x[i] === 'undefined') ? keyData.o.x[0] : keyData.o.x[i];\r\n outY = (typeof keyData.o.y[i] === 'undefined') ? keyData.o.y[0] : keyData.o.y[i];\r\n inX = (typeof keyData.i.x[i] === 'undefined') ? keyData.i.x[0] : keyData.i.x[i];\r\n inY = (typeof keyData.i.y[i] === 'undefined') ? keyData.i.y[0] : keyData.i.y[i];\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct[i] = fnc;\r\n } else {\r\n fnc = keyData.__fnct[i];\r\n }\r\n } else {\r\n if (!keyData.__fnct) {\r\n outX = keyData.o.x;\r\n outY = keyData.o.y;\r\n inX = keyData.i.x;\r\n inY = keyData.i.y;\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct = fnc;\r\n } else {\r\n fnc = keyData.__fnct;\r\n }\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime ));\r\n }\r\n }\r\n\r\n endValue = nextKeyData.s || keyData.e;\r\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\r\n\r\n if (this.propType === 'multidimensional') {\r\n newValue[i] = keyValue;\r\n } else {\r\n newValue = keyValue;\r\n }\r\n }\r\n }\r\n }\r\n caching.lastIndex = iterationIndex;\r\n return newValue;\r\n }\r\n\r\n //based on @Toji's https://github.com/toji/gl-matrix/\r\n function slerp(a, b, t) {\r\n var out = [];\r\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\r\n bx = b[0], by = b[1], bz = b[2], bw = b[3]\r\n\r\n var omega, cosom, sinom, scale0, scale1;\r\n\r\n cosom = ax * bx + ay * by + az * bz + aw * bw;\r\n if (cosom < 0.0) {\r\n cosom = -cosom;\r\n bx = -bx;\r\n by = -by;\r\n bz = -bz;\r\n bw = -bw;\r\n }\r\n if ((1.0 - cosom) > 0.000001) {\r\n omega = Math.acos(cosom);\r\n sinom = Math.sin(omega);\r\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\r\n scale1 = Math.sin(t * omega) / sinom;\r\n } else {\r\n scale0 = 1.0 - t;\r\n scale1 = t;\r\n }\r\n out[0] = scale0 * ax + scale1 * bx;\r\n out[1] = scale0 * ay + scale1 * by;\r\n out[2] = scale0 * az + scale1 * bz;\r\n out[3] = scale0 * aw + scale1 * bw;\r\n\r\n return out;\r\n }\r\n\r\n function quaternionToEuler(out, quat) {\r\n var qx = quat[0];\r\n var qy = quat[1];\r\n var qz = quat[2];\r\n var qw = quat[3];\r\n var heading = Math.atan2(2*qy*qw-2*qx*qz , 1 - 2*qy*qy - 2*qz*qz)\r\n var attitude = Math.asin(2*qx*qy + 2*qz*qw) \r\n var bank = Math.atan2(2*qx*qw-2*qy*qz , 1 - 2*qx*qx - 2*qz*qz);\r\n out[0] = heading/degToRads;\r\n out[1] = attitude/degToRads;\r\n out[2] = bank/degToRads;\r\n }\r\n\r\n function createQuaternion(values) {\r\n var heading = values[0] * degToRads;\r\n var attitude = values[1] * degToRads;\r\n var bank = values[2] * degToRads;\r\n var c1 = Math.cos(heading / 2);\r\n var c2 = Math.cos(attitude / 2);\r\n var c3 = Math.cos(bank / 2);\r\n var s1 = Math.sin(heading / 2);\r\n var s2 = Math.sin(attitude / 2);\r\n var s3 = Math.sin(bank / 2);\r\n var w = c1 * c2 * c3 - s1 * s2 * s3;\r\n var x = s1 * s2 * c3 + c1 * c2 * s3;\r\n var y = s1 * c2 * c3 + c1 * s2 * s3;\r\n var z = c1 * s2 * c3 - s1 * c2 * s3;\r\n\r\n return [x,y,z,w];\r\n }\r\n\r\n function getValueAtCurrentTime(){\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length- 1].t-this.offsetTime;\r\n if(!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))){\r\n if(this._caching.lastFrame >= frameNum) {\r\n this._caching._lastKeyframeIndex = -1;\r\n this._caching.lastIndex = 0;\r\n }\r\n\r\n var renderResult = this.interpolateValue(frameNum, this._caching);\r\n this.pv = renderResult;\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function setVValue(val) {\r\n var multipliedValue;\r\n if(this.propType === 'unidimensional') {\r\n multipliedValue = val * this.mult;\r\n if(math_abs(this.v - multipliedValue) > 0.00001) {\r\n this.v = multipliedValue;\r\n this._mdf = true;\r\n }\r\n } else {\r\n var i = 0, len = this.v.length;\r\n while (i < len) {\r\n multipliedValue = val[i] * this.mult;\r\n if (math_abs(this.v[i] - multipliedValue) > 0.00001) {\r\n this.v[i] = multipliedValue;\r\n this._mdf = true;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\r\n return;\r\n }\r\n if(this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = this._isFirstFrame;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = this.kf ? this.pv : this.data.k;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this._isFirstFrame = false;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n function ValueProperty(elem, data, mult, container){\r\n this.propType = 'unidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this.v = mult ? data.k * mult : data.k;\r\n this.pv = data.k;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.vel = 0;\r\n this.effectsSequence = [];\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function MultiDimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.frameId = -1;\r\n var i, len = data.k.length;\r\n this.v = createTypedArray('float32', len);\r\n this.pv = createTypedArray('float32', len);\r\n var arr = createTypedArray('float32', len);\r\n this.vel = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.v[i] = data.k[i] * this.mult;\r\n this.pv[i] = data.k[i];\r\n }\r\n this._isFirstFrame = true;\r\n this.effectsSequence = [];\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.frameId = -1;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1};\r\n this.k = true;\r\n this.kf = true;\r\n this.data = data;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.v = initFrame;\r\n this.pv = initFrame;\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedMultidimensionalProperty(elem, data, mult, container){\r\n this.propType = 'multidimensional';\r\n var i, len = data.k.length;\r\n var s, e,to,ti;\r\n for (i = 0; i < len - 1; i += 1) {\r\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\r\n s = data.k[i].s;\r\n e = data.k[i + 1].s;\r\n to = data.k[i].to;\r\n ti = data.k[i].ti;\r\n if((s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0] + to[0],s[1] + to[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0] + ti[0],e[1] + ti[1])) || (s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0] + to[0],s[1] + to[1],s[2] + to[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0] + ti[0],e[1] + ti[1],e[2] + ti[2]))){\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n if(s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\r\n if(s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n }\r\n }\r\n }\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.k = true;\r\n this.kf = true;\r\n this._isFirstFrame = true;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.frameId = -1;\r\n var arrLen = data.k[0].s.length;\r\n this.v = createTypedArray('float32', arrLen);\r\n this.pv = createTypedArray('float32', arrLen);\r\n for (i = 0; i < arrLen; i += 1) {\r\n this.v[i] = initFrame;\r\n this.pv[i] = initFrame;\r\n }\r\n this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32', arrLen)};\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function getProp(elem,data,type, mult, container) {\r\n var p;\r\n if(!data.k.length){\r\n p = new ValueProperty(elem,data, mult, container);\r\n }else if(typeof(data.k[0]) === 'number'){\r\n p = new MultiDimensionalProperty(elem,data, mult, container);\r\n }else{\r\n switch(type){\r\n case 0:\r\n p = new KeyframedValueProperty(elem,data,mult, container);\r\n break;\r\n case 1:\r\n p = new KeyframedMultidimensionalProperty(elem,data,mult, container);\r\n break;\r\n }\r\n }\r\n if(p.effectsSequence.length){\r\n container.addDynamicProperty(p);\r\n }\r\n return p;\r\n }\r\n\r\n var ob = {\r\n getProp: getProp\r\n };\r\n return ob;\r\n}());\r\nvar TransformPropertyFactory = (function() {\r\n\r\n var defaultVector = [0,0]\r\n\r\n function applyToMatrix(mat) {\r\n var _mdf = this._mdf;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || _mdf;\r\n if (this.a) {\r\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.s) {\r\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk) {\r\n mat.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r) {\r\n mat.rotate(-this.r.v);\r\n } else {\r\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n }\r\n if (this.data.p.s) {\r\n if (this.data.p.z) {\r\n mat.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n mat.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n function processKeys(forceRender){\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n if(this._isDirty) {\r\n this.precalculateMatrix();\r\n this._isDirty = false;\r\n }\r\n\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf || forceRender) {\r\n this.v.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if(this.appliedTransformations < 2) {\r\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n this.v.rotate(-this.r.v);\r\n } else if (!this.r && this.appliedTransformations < 4){\r\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n }\r\n if (this.autoOriented) {\r\n var v1,v2, frameRate = this.elem.globalData.frameRate;\r\n if(this.p && this.p.keyframes && this.p.getValueAtTime) {\r\n if (this.p._caching.lastFrame+this.p.offsetTime <= this.p.keyframes[0].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate,0);\r\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\r\n } else if(this.p._caching.lastFrame+this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);\r\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\r\n } else {\r\n v1 = this.p.pv;\r\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\r\n }\r\n } else if(this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n v1 = [];\r\n v2 = [];\r\n var px = this.px, py = this.py, frameRate;\r\n if (px._caching.lastFrame+px.offsetTime <= px.keyframes[0].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate,0);\r\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate,0);\r\n v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate,0);\r\n } else if(px._caching.lastFrame+px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate),0);\r\n v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate),0);\r\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n } else {\r\n v1 = [px.pv, py.pv];\r\n v2[0] = px.getValueAtTime((px._caching.lastFrame+px.offsetTime - 0.01) / frameRate,px.offsetTime);\r\n v2[1] = py.getValueAtTime((py._caching.lastFrame+py.offsetTime - 0.01) / frameRate,py.offsetTime);\r\n }\r\n } else {\r\n v1 = v2 = defaultVector\r\n }\r\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\r\n }\r\n if(this.data.p && this.data.p.s){\r\n if(this.data.p.z) {\r\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n this.v.translate(this.px.v, this.py.v, 0);\r\n }\r\n }else{\r\n this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);\r\n }\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function precalculateMatrix() {\r\n if(!this.a.k) {\r\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n this.appliedTransformations = 1;\r\n } else {\r\n return;\r\n }\r\n if(!this.s.effectsSequence.length) {\r\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n this.appliedTransformations = 2;\r\n } else {\r\n return;\r\n }\r\n if(this.sk) {\r\n if(!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\r\n this.appliedTransformations = 3;\r\n } else {\r\n return;\r\n }\r\n }\r\n if (this.r) {\r\n if(!this.r.effectsSequence.length) {\r\n this.pre.rotate(-this.r.v);\r\n this.appliedTransformations = 4;\r\n } else {\r\n return;\r\n }\r\n } else if(!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\r\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\r\n this.appliedTransformations = 4;\r\n }\r\n }\r\n\r\n function autoOrient(){\r\n //\r\n //var prevP = this.getValueAtTime();\r\n }\r\n\r\n function addDynamicProperty(prop) {\r\n this._addDynamicProperty(prop);\r\n this.elem.addDynamicProperty(prop);\r\n this._isDirty = true;\r\n }\r\n\r\n function TransformProperty(elem,data,container){\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.propType = 'transform';\r\n this.data = data;\r\n this.v = new Matrix();\r\n //Precalculated matrix with non animated properties\r\n this.pre = new Matrix();\r\n this.appliedTransformations = 0;\r\n this.initDynamicPropertyContainer(container || elem);\r\n if(data.p && data.p.s){\r\n this.px = PropertyFactory.getProp(elem,data.p.x,0,0,this);\r\n this.py = PropertyFactory.getProp(elem,data.p.y,0,0,this);\r\n if(data.p.z){\r\n this.pz = PropertyFactory.getProp(elem,data.p.z,0,0,this);\r\n }\r\n }else{\r\n this.p = PropertyFactory.getProp(elem,data.p || {k:[0,0,0]},1,0,this);\r\n }\r\n if(data.rx) {\r\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\r\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\r\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\r\n if(data.or.k[0].ti) {\r\n var i, len = data.or.k.length;\r\n for(i=0;i= this._maxLength) {\r\n\t\tthis.doubleArrayLength();\r\n\t}\r\n\tswitch(type){\r\n\t\tcase 'v':\r\n\t\t\tarr = this.v;\r\n\t\t\tbreak;\r\n\t\tcase 'i':\r\n\t\t\tarr = this.i;\r\n\t\t\tbreak;\r\n\t\tcase 'o':\r\n\t\t\tarr = this.o;\r\n\t\t\tbreak;\r\n\t}\r\n\tif(!arr[pos] || (arr[pos] && !replace)){\r\n\t\tarr[pos] = point_pool.newElement();\r\n\t}\r\n\tarr[pos][0] = x;\r\n\tarr[pos][1] = y;\r\n};\r\n\r\nShapePath.prototype.setTripleAt = function(vX,vY,oX,oY,iX,iY,pos, replace) {\r\n\tthis.setXYAt(vX,vY,'v',pos, replace);\r\n\tthis.setXYAt(oX,oY,'o',pos, replace);\r\n\tthis.setXYAt(iX,iY,'i',pos, replace);\r\n};\r\n\r\nShapePath.prototype.reverse = function() {\r\n\tvar newPath = new ShapePath();\r\n\tnewPath.setPathData(this.c, this._length);\r\n\tvar vertices = this.v, outPoints = this.o, inPoints = this.i;\r\n\tvar init = 0;\r\n\tif (this.c) {\r\n\t\tnewPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\r\n init = 1;\r\n }\r\n var cnt = this._length - 1;\r\n var len = this._length;\r\n\r\n var i;\r\n for (i = init; i < len; i += 1) {\r\n \tnewPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\r\n cnt -= 1;\r\n }\r\n return newPath;\r\n};\r\nvar ShapePropertyFactory = (function(){\r\n\r\n var initFrame = -999999;\r\n\r\n function interpolateShape(frameNum, previousValue, caching) {\r\n var iterationIndex = caching.lastIndex;\r\n var keyPropS,keyPropE,isHold, j, k, jLen, kLen, perc, vertexValue;\r\n var kf = this.keyframes;\r\n if(frameNum < kf[0].t-this.offsetTime){\r\n keyPropS = kf[0].s[0];\r\n isHold = true;\r\n iterationIndex = 0;\r\n }else if(frameNum >= kf[kf.length - 1].t-this.offsetTime){\r\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\r\n /*if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n }*/\r\n isHold = true;\r\n }else{\r\n var i = iterationIndex;\r\n var len = kf.length- 1,flag = true,keyData,nextKeyData;\r\n while(flag){\r\n keyData = kf[i];\r\n nextKeyData = kf[i+1];\r\n if((nextKeyData.t - this.offsetTime) > frameNum){\r\n break;\r\n }\r\n if(i < len - 1){\r\n i += 1;\r\n }else{\r\n flag = false;\r\n }\r\n }\r\n isHold = keyData.h === 1;\r\n iterationIndex = i;\r\n if(!isHold){\r\n if(frameNum >= nextKeyData.t-this.offsetTime){\r\n perc = 1;\r\n }else if(frameNum < keyData.t-this.offsetTime){\r\n perc = 0;\r\n }else{\r\n var fnc;\r\n if(keyData.__fnct){\r\n fnc = keyData.__fnct;\r\n }else{\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum-(keyData.t-this.offsetTime))/((nextKeyData.t-this.offsetTime)-(keyData.t-this.offsetTime)));\r\n }\r\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\r\n }\r\n keyPropS = keyData.s[0];\r\n }\r\n jLen = previousValue._length;\r\n kLen = keyPropS.i[0].length;\r\n caching.lastIndex = iterationIndex;\r\n\r\n for(j=0;j endTime && frameNum > endTime)))){\r\n ////\r\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\r\n this.interpolateShape(frameNum, this.pv, this._caching);\r\n ////\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function resetShape(){\r\n this.paths = this.localShapeCollection;\r\n }\r\n\r\n function shapesEqual(shape1, shape2) {\r\n if(shape1._length !== shape2._length || shape1.c !== shape2.c){\r\n return false;\r\n }\r\n var i, len = shape1._length;\r\n for(i = 0; i < len; i += 1) {\r\n if(shape1.v[i][0] !== shape2.v[i][0] \r\n || shape1.v[i][1] !== shape2.v[i][1] \r\n || shape1.o[i][0] !== shape2.o[i][0] \r\n || shape1.o[i][1] !== shape2.o[i][1] \r\n || shape1.i[i][0] !== shape2.i[i][0] \r\n || shape1.i[i][1] !== shape2.i[i][1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function setVValue(newPath) {\r\n if(!shapesEqual(this.v, newPath)) {\r\n this.v = shape_pool.clone(newPath);\r\n this.localShapeCollection.releaseShapes();\r\n this.localShapeCollection.addShape(this.v);\r\n this._mdf = true;\r\n this.paths = this.localShapeCollection;\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n } else if (!this.effectsSequence.length) {\r\n this._mdf = false;\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\r\n var i, len = this.effectsSequence.length;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n };\r\n\r\n function ShapeProperty(elem, data, type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.container = elem;\r\n this.elem = elem;\r\n this.data = data;\r\n this.k = false;\r\n this.kf = false;\r\n this._mdf = false;\r\n var pathData = type === 3 ? data.pt.k : data.ks.k;\r\n this.v = shape_pool.clone(pathData);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.reset = resetShape;\r\n this.effectsSequence = [];\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n ShapeProperty.prototype.interpolateShape = interpolateShape;\r\n ShapeProperty.prototype.getValue = processEffectsSequence;\r\n ShapeProperty.prototype.setVValue = setVValue;\r\n ShapeProperty.prototype.addEffect = addEffect;\r\n\r\n function KeyframedShapeProperty(elem,data,type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.container = elem;\r\n this.offsetTime = elem.data.st;\r\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\r\n this.k = true;\r\n this.kf = true;\r\n var i, len = this.keyframes[0].s[0].i.length;\r\n var jLen = this.keyframes[0].s[0].i[0].length;\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(this.keyframes[0].s[0].c, len);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.lastFrame = initFrame;\r\n this.reset = resetShape;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0};\r\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\r\n }\r\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\r\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\r\n KeyframedShapeProperty.prototype.setVValue = setVValue;\r\n KeyframedShapeProperty.prototype.addEffect = addEffect;\r\n\r\n var EllShapeProperty = (function(){\r\n\r\n var cPoint = roundCorner;\r\n\r\n function EllShapeProperty(elem,data) {\r\n /*this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n };*/\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 4);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.localShapeCollection.addShape(this.v);\r\n this.d = data.d;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,0,this);\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertEllToPath();\r\n }\r\n };\r\n\r\n EllShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function (){\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n\r\n if(this._mdf){\r\n this.convertEllToPath();\r\n }\r\n },\r\n convertEllToPath: function() {\r\n var p0 = this.p.v[0], p1 = this.p.v[1], s0 = this.s.v[0]/2, s1 = this.s.v[1]/2;\r\n var _cw = this.d !== 3;\r\n var _v = this.v;\r\n _v.v[0][0] = p0;\r\n _v.v[0][1] = p1 - s1;\r\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.v[1][1] = p1;\r\n _v.v[2][0] = p0;\r\n _v.v[2][1] = p1 + s1;\r\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.v[3][1] = p1;\r\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.i[0][1] = p1 - s1;\r\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.i[1][1] = p1 - s1 * cPoint;\r\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.i[2][1] = p1 + s1;\r\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.i[3][1] = p1 + s1 * cPoint;\r\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.o[0][1] = p1 - s1;\r\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.o[1][1] = p1 + s1 * cPoint;\r\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.o[2][1] = p1 + s1;\r\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.o[3][1] = p1 - s1 * cPoint;\r\n }\r\n }\r\n\r\n extendPrototype([DynamicPropertyContainer], EllShapeProperty);\r\n\r\n return EllShapeProperty;\r\n }());\r\n\r\n var StarShapeProperty = (function() {\r\n\r\n function StarShapeProperty(elem,data) {\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 0);\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.data = data;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n if(data.sy === 1){\r\n this.ir = PropertyFactory.getProp(elem,data.ir,0,0,this);\r\n this.is = PropertyFactory.getProp(elem,data.is,0,0.01,this);\r\n this.convertToPath = this.convertStarToPath;\r\n } else {\r\n this.convertToPath = this.convertPolygonToPath;\r\n }\r\n this.pt = PropertyFactory.getProp(elem,data.pt,0,0,this);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.r = PropertyFactory.getProp(elem,data.r,0,degToRads,this);\r\n this.or = PropertyFactory.getProp(elem,data.or,0,0,this);\r\n this.os = PropertyFactory.getProp(elem,data.os,0,0.01,this);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertToPath();\r\n }\r\n };\r\n\r\n StarShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function() {\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if(this._mdf){\r\n this.convertToPath();\r\n }\r\n },\r\n convertStarToPath: function() {\r\n var numPts = Math.floor(this.pt.v)*2;\r\n var angle = Math.PI*2/numPts;\r\n /*this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts;*/\r\n var longFlag = true;\r\n var longRad = this.or.v;\r\n var shortRad = this.ir.v;\r\n var longRound = this.os.v;\r\n var shortRound = this.is.v;\r\n var longPerimSegment = 2*Math.PI*longRad/(numPts*2);\r\n var shortPerimSegment = 2*Math.PI*shortRad/(numPts*2);\r\n var i, rad,roundness,perimSegment, currentAng = -Math.PI/ 2;\r\n currentAng += this.r.v;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n this.v._length = 0;\r\n for(i=0;i= 1) {\r\n segments.push({\r\n s: s - 1,\r\n e: e - 1\r\n });\r\n } else {\r\n segments.push({\r\n s: s,\r\n e: 1\r\n });\r\n segments.push({\r\n s: 0,\r\n e: e - 1\r\n });\r\n }\r\n var shapeSegments = [];\r\n var i, len = segments.length, segmentOb;\r\n for (i = 0; i < len; i += 1) {\r\n segmentOb = segments[i];\r\n if (segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength) {\r\n \r\n } else {\r\n var shapeS, shapeE;\r\n if (segmentOb.s * totalModifierLength <= addedLength) {\r\n shapeS = 0;\r\n } else {\r\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\r\n }\r\n if(segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\r\n shapeE = 1;\r\n } else {\r\n shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);\r\n }\r\n shapeSegments.push([shapeS, shapeE]);\r\n }\r\n }\r\n if (!shapeSegments.length) {\r\n shapeSegments.push([0, 0]);\r\n }\r\n return shapeSegments;\r\n};\r\n\r\nTrimModifier.prototype.releasePathsData = function(pathsData) {\r\n var i, len = pathsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n segments_length_pool.release(pathsData[i]);\r\n }\r\n pathsData.length = 0;\r\n return pathsData;\r\n};\r\n\r\nTrimModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var s, e;\r\n if (this._mdf || _isFirstFrame) {\r\n var o = (this.o.v % 360) / 360;\r\n if (o < 0) {\r\n o += 1;\r\n }\r\n s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + o;\r\n e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + o;\r\n if (s === e) {\r\n\r\n }\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n s = Math.round(s * 10000) * 0.0001;\r\n e = Math.round(e * 10000) * 0.0001;\r\n this.sValue = s;\r\n this.eValue = e;\r\n } else {\r\n s = this.sValue;\r\n e = this.eValue;\r\n }\r\n var shapePaths;\r\n var i, len = this.shapes.length, j, jLen;\r\n var pathsData, pathData, totalShapeLength, totalModifierLength = 0;\r\n\r\n if (e === s) {\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].localShapeCollection.releaseShapes();\r\n this.shapes[i].shape._mdf = true;\r\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\r\n if (this._mdf) {\r\n this.shapes[i].pathsData.length = 0;\r\n }\r\n }\r\n } else if (!((e === 1 && s === 0) || (e===0 && s === 1))){\r\n var segments = [], shapeData, localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\r\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n } else {\r\n shapePaths = shapeData.shape.paths;\r\n jLen = shapePaths._length;\r\n totalShapeLength = 0;\r\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\r\n totalShapeLength = shapeData.totalShapeLength;\r\n } else {\r\n pathsData = this.releasePathsData(shapeData.pathsData);\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\r\n pathsData.push(pathData);\r\n totalShapeLength += pathData.totalLength;\r\n }\r\n shapeData.totalShapeLength = totalShapeLength;\r\n shapeData.pathsData = pathsData;\r\n }\r\n\r\n totalModifierLength += totalShapeLength;\r\n shapeData.shape._mdf = true;\r\n }\r\n }\r\n var shapeS = s, shapeE = e, addedLength = 0, edges;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shapeData = this.shapes[i];\r\n if (shapeData.shape._mdf) {\r\n localShapeCollection = shapeData.localShapeCollection;\r\n localShapeCollection.releaseShapes();\r\n //if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\r\n if (this.m === 2 && len > 1) {\r\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\r\n addedLength += shapeData.totalShapeLength;\r\n } else {\r\n edges = [[shapeS, shapeE]];\r\n }\r\n jLen = edges.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n shapeS = edges[j][0];\r\n shapeE = edges[j][1];\r\n segments.length = 0;\r\n if (shapeE <= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength * shapeE\r\n });\r\n } else if (shapeS >= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * (shapeS - 1),\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n } else {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength\r\n });\r\n segments.push({\r\n s:0,\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n }\r\n var newShapesData = this.addShapes(shapeData,segments[0]);\r\n if (segments[0].s !== segments[0].e) {\r\n if (segments.length > 1) {\r\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\r\n if (lastShapeInCollection.c) {\r\n var lastShape = newShapesData.pop();\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\r\n } else {\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1]);\r\n }\r\n } \r\n this.addPaths(newShapesData, localShapeCollection);\r\n }\r\n \r\n }\r\n shapeData.shape.paths = localShapeCollection;\r\n }\r\n }\r\n } else if (this._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n //Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\r\n //Don't remove this even if it's losing cached info.\r\n this.shapes[i].pathsData.length = 0;\r\n this.shapes[i].shape._mdf = true;\r\n }\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addPaths = function(newPaths, localShapeCollection) {\r\n var i, len = newPaths.length;\r\n for (i = 0; i < len; i += 1) {\r\n localShapeCollection.addShape(newPaths[i]);\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addSegment = function(pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\r\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\r\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\r\n }\r\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addSegmentFromArray = function(points, shapePath, pos, newShape) {\r\n shapePath.setXYAt(points[1], points[5], 'o', pos);\r\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(points[0], points[4], 'v', pos);\r\n }\r\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addShapes = function(shapeData, shapeSegment, shapePath) {\r\n var pathsData = shapeData.pathsData;\r\n var shapePaths = shapeData.shape.paths.shapes;\r\n var i, len = shapeData.shape.paths._length, j, jLen;\r\n var addedLength = 0;\r\n var currentLengthData,segmentCount;\r\n var lengths;\r\n var segment;\r\n var shapes = [];\r\n var initPos;\r\n var newShape = true;\r\n if (!shapePath) {\r\n shapePath = shape_pool.newElement();\r\n segmentCount = 0;\r\n initPos = 0;\r\n } else {\r\n segmentCount = shapePath._length;\r\n initPos = shapePath._length;\r\n }\r\n shapes.push(shapePath);\r\n for (i = 0; i < len; i += 1) {\r\n lengths = pathsData[i].lengths;\r\n shapePath.c = shapePaths[i].c;\r\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\r\n for (j = 1; j < jLen; j +=1) {\r\n currentLengthData = lengths[j-1];\r\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\r\n addedLength += currentLengthData.addedLength;\r\n shapePath.c = false;\r\n } else if(addedLength > shapeSegment.e) {\r\n shapePath.c = false;\r\n break;\r\n } else {\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength)/currentLengthData.addedLength,(shapeSegment.e - addedLength)/currentLengthData.addedLength, lengths[j-1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n }\r\n if (shapePaths[i].c && lengths.length) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength <= shapeSegment.e) {\r\n var segmentLength = lengths[j - 1].addedLength;\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n } else {\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n if (shapePath._length) {\r\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\r\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1],'o', shapePath._length - 1);\r\n }\r\n if (addedLength > shapeSegment.e) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n shapePath = shape_pool.newElement();\r\n newShape = true;\r\n shapes.push(shapePath);\r\n segmentCount = 0;\r\n }\r\n }\r\n return shapes;\r\n};\r\n\r\n\r\nShapeModifiers.registerModifier('tm', TrimModifier);\r\nfunction RoundCornersModifier(){}\r\nextendPrototype([ShapeModifier],RoundCornersModifier);\r\nRoundCornersModifier.prototype.initModifierProperties = function(elem,data){\r\n this.getValue = this.processKeys;\r\n this.rd = PropertyFactory.getProp(elem,data.r,0,null,this);\r\n this._isAnimated = !!this.rd.effectsSequence.length;\r\n};\r\n\r\nRoundCornersModifier.prototype.processPath = function(path, round){\r\n var cloned_path = shape_pool.newElement();\r\n cloned_path.c = path.c;\r\n var i, len = path._length;\r\n var currentV,currentI,currentO,closerV, newV,newO,newI,distance,newPosPerc,index = 0;\r\n var vX,vY,oX,oY,iX,iY;\r\n for(i=0;i0){\r\n pos -= 1;\r\n //this._elements.unshift(arr.splice(pos,1)[0]);\r\n this._elements.unshift(arr[pos]);\r\n cont += 1;\r\n }\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.getValue(true);\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.resetElements = function(elements){\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._processed = false;\r\n if(elements[i].ty === 'gr'){\r\n this.resetElements(elements[i].it);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.cloneElements = function(elements){\r\n var i, len = elements.length;\r\n var newElements = JSON.parse(JSON.stringify(elements));\r\n this.resetElements(newElements);\r\n return newElements;\r\n};\r\n\r\nRepeaterModifier.prototype.changeGroupRender = function(elements, renderFlag) {\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._render = renderFlag;\r\n if(elements[i].ty === 'gr') {\r\n this.changeGroupRender(elements[i].it, renderFlag);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var items, itemsTransform, i, dir, cont;\r\n if(this._mdf || _isFirstFrame){\r\n var copies = Math.ceil(this.c.v);\r\n if(this._groups.length < copies){\r\n while(this._groups.length < copies){\r\n var group = {\r\n it:this.cloneElements(this._elements),\r\n ty:'gr'\r\n };\r\n group.it.push({\"a\":{\"a\":0,\"ix\":1,\"k\":[0,0]},\"nm\":\"Transform\",\"o\":{\"a\":0,\"ix\":7,\"k\":100},\"p\":{\"a\":0,\"ix\":2,\"k\":[0,0]},\"r\":{\"a\":1,\"ix\":6,\"k\":[{s:0,e:0,t:0},{s:0,e:0,t:1}]},\"s\":{\"a\":0,\"ix\":3,\"k\":[100,100]},\"sa\":{\"a\":0,\"ix\":5,\"k\":0},\"sk\":{\"a\":0,\"ix\":4,\"k\":0},\"ty\":\"tr\"});\r\n \r\n this.arr.splice(0,0,group);\r\n this._groups.splice(0,0,group);\r\n this._currentCopies += 1;\r\n }\r\n this.elem.reloadShapes();\r\n }\r\n cont = 0;\r\n var renderFlag;\r\n for(i = 0; i <= this._groups.length - 1; i += 1){\r\n renderFlag = cont < copies;\r\n this._groups[i]._render = renderFlag;\r\n this.changeGroupRender(this._groups[i].it, renderFlag);\r\n cont += 1;\r\n }\r\n \r\n this._currentCopies = copies;\r\n ////\r\n\r\n var offset = this.o.v;\r\n var offsetModulo = offset%1;\r\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\r\n var k;\r\n var tMat = this.tr.v.props;\r\n var pProps = this.pMatrix.props;\r\n var rProps = this.rMatrix.props;\r\n var sProps = this.sMatrix.props;\r\n this.pMatrix.reset();\r\n this.rMatrix.reset();\r\n this.sMatrix.reset();\r\n this.tMatrix.reset();\r\n this.matrix.reset();\r\n var iteration = 0;\r\n\r\n if(offset > 0) {\r\n while(iterationroundOffset){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\r\n iteration -= 1;\r\n }\r\n if(offsetModulo){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, - offsetModulo, true);\r\n iteration -= offsetModulo;\r\n }\r\n }\r\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\r\n dir = this.data.m === 1 ? 1 : -1;\r\n cont = this._currentCopies;\r\n var j, jLen;\r\n while(cont){\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n jLen = itemsTransform.length;\r\n items[items.length - 1].transform.mProps._mdf = true;\r\n items[items.length - 1].transform.op._mdf = true;\r\n items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\r\n if(iteration !== 0){\r\n if((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n }\r\n this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);\r\n this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);\r\n this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);\r\n \r\n for(j=0;j 0.01){\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.checkCollapsable = function() {\r\n if (this.o.length/2 !== this.c.length/4) {\r\n return false;\r\n }\r\n if (this.data.k.k[0].s) {\r\n var i = 0, len = this.data.k.k.length;\r\n while (i < len) {\r\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n } else if(!this.comparePoints(this.data.k.k, this.data.p)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.getValue = function(forceRender){\r\n this.prop.getValue();\r\n this._mdf = false;\r\n this._cmdf = false;\r\n this._omdf = false;\r\n if(this.prop._mdf || forceRender){\r\n var i, len = this.data.p*4;\r\n var mult, val;\r\n for(i=0;i= currentLength + animatorOffset || !points) {\r\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\r\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\r\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -(alignment[1] * yOff / 100));\r\n flag = false;\r\n } else if (points) {\r\n segmentLength += currentPoint.partialLength;\r\n pointInd += 1;\r\n if (pointInd >= points.length) {\r\n pointInd = 0;\r\n segmentInd += 1;\r\n if (!segments[segmentInd]) {\r\n if (mask.v.c) {\r\n pointInd = 0;\r\n segmentInd = 0;\r\n points = segments[segmentInd].points;\r\n } else {\r\n segmentLength -= currentPoint.partialLength;\r\n points = null;\r\n }\r\n } else {\r\n points = segments[segmentInd].points;\r\n }\r\n }\r\n if (points) {\r\n prevPoint = currentPoint;\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n }\r\n }\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n } else {\r\n offf = letters[i].an/2 - letters[i].add;\r\n matrixHelper.translate(-offf,0,0);\r\n\r\n // Grouping alignment\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -alignment[1]*yOff/100, 0);\r\n }\r\n\r\n lineLength += letters[i].l/2;\r\n for(j=0;j 1;\r\n if(this.kf) {\r\n this.addEffect(this.getKeyframeValue.bind(this));\r\n }\r\n return this.kf;\r\n}\r\n\r\nTextProperty.prototype.addEffect = function(effectFunction) {\r\n\tthis.effectsSequence.push(effectFunction);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.getValue = function(_finalValue) {\r\n if((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\r\n return;\r\n }\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var currentValue = this.currentData;\r\n var currentIndex = this.keysIndex;\r\n if(this.lock) {\r\n this.setCurrentData(this.currentData);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\r\n for(i = 0; i < len; i += 1) {\r\n //Checking if index changed to prevent creating a new object every time the expression updates.\r\n if(currentIndex !== this.keysIndex) {\r\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\r\n } else {\r\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\r\n }\r\n }\r\n if(currentValue !== finalValue) {\r\n this.setCurrentData(finalValue);\r\n }\r\n this.pv = this.v = this.currentData;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n}\r\n\r\nTextProperty.prototype.getKeyframeValue = function() {\r\n var textKeys = this.data.d.k, textDocumentData;\r\n var frameNum = this.elem.comp.renderedFrame;\r\n var i = 0, len = textKeys.length;\r\n while(i <= len - 1) {\r\n textDocumentData = textKeys[i].s;\r\n if(i === len - 1 || textKeys[i+1].t > frameNum){\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if(this.keysIndex !== i) {\r\n this.keysIndex = i;\r\n }\r\n return this.data.d.k[this.keysIndex].s;\r\n};\r\n\r\nTextProperty.prototype.buildFinalText = function(text) {\r\n var combinedCharacters = FontManager.getCombinedCharacterCodes();\r\n var charactersArray = [];\r\n var i = 0, len = text.length;\r\n var charCode;\r\n while (i < len) {\r\n charCode = text.charCodeAt(i);\r\n if (combinedCharacters.indexOf(charCode) !== -1) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n } else {\r\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\r\n charCode = text.charCodeAt(i + 1);\r\n if (charCode >= 0xDC00 && charCode <= 0xDFFF) {\r\n charactersArray.push(text.substr(i, 2));\r\n ++i;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n }\r\n i += 1;\r\n }\r\n return charactersArray;\r\n}\r\n\r\nTextProperty.prototype.completeTextData = function(documentData) {\r\n documentData.__complete = true;\r\n var fontManager = this.elem.globalData.fontManager;\r\n var data = this.data;\r\n var letters = [];\r\n var i, len;\r\n var newLineFlag, index = 0, val;\r\n var anchorGrouping = data.m.g;\r\n var currentSize = 0, currentPos = 0, currentLine = 0, lineWidths = [];\r\n var lineWidth = 0;\r\n var maxLineWidth = 0;\r\n var j, jLen;\r\n var fontData = fontManager.getFontByName(documentData.f);\r\n var charData, cLength = 0;\r\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\r\n\r\n var fWeight = 'normal', fStyle = 'normal';\r\n len = styles.length;\r\n var styleName;\r\n for(i=0;i boxWidth && finalText[i] !== ' '){\r\n if(lastSpaceIndex === -1){\r\n len += 1;\r\n } else {\r\n i = lastSpaceIndex;\r\n }\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize*1.2;\r\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0,\"\\r\");\r\n //finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\r\n lastSpaceIndex = -1;\r\n lineWidth = 0;\r\n }else {\r\n lineWidth += cLength;\r\n lineWidth += trackingOffset;\r\n }\r\n }\r\n currentHeight += fontData.ascent*documentData.finalSize/100;\r\n if(this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\r\n documentData.finalSize -= 1;\r\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\r\n } else {\r\n documentData.finalText = finalText;\r\n len = documentData.finalText.length;\r\n flag = false;\r\n }\r\n }\r\n\r\n }\r\n lineWidth = - trackingOffset;\r\n cLength = 0;\r\n var uncollapsedSpaces = 0;\r\n var currentChar;\r\n for (i = 0;i < len ;i += 1) {\r\n newLineFlag = false;\r\n currentChar = documentData.finalText[i];\r\n charCode = currentChar.charCodeAt(0);\r\n if (charCode === 13 || charCode === 3) {\r\n uncollapsedSpaces = 0;\r\n lineWidths.push(lineWidth);\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidth = - 2 * trackingOffset;\r\n val = '';\r\n newLineFlag = true;\r\n currentLine += 1;\r\n }else{\r\n val = currentChar;\r\n }\r\n if(fontManager.chars){\r\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\r\n cLength = newLineFlag ? 0 : charData.w*documentData.finalSize/100;\r\n }else{\r\n //var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n //tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\r\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n }\r\n\r\n //\r\n if(currentChar === ' '){\r\n uncollapsedSpaces += cLength + trackingOffset;\r\n } else {\r\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\r\n uncollapsedSpaces = 0;\r\n }\r\n letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag, anIndexes:[], val: val, line: currentLine, animatorJustifyOffset: 0});\r\n if(anchorGrouping == 2){\r\n currentSize += cLength;\r\n if(val === '' || val === ' ' || i === len - 1){\r\n if(val === '' || val === ' '){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n index += 1;\r\n currentSize = 0;\r\n }\r\n }else if(anchorGrouping == 3){\r\n currentSize += cLength;\r\n if(val === '' || i === len - 1){\r\n if(val === ''){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n currentSize = 0;\r\n index += 1;\r\n }\r\n }else{\r\n letters[index].ind = index;\r\n letters[index].extra = 0;\r\n index += 1;\r\n }\r\n }\r\n documentData.l = letters;\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidths.push(lineWidth);\r\n if(documentData.sz){\r\n documentData.boxWidth = documentData.sz[0];\r\n documentData.justifyOffset = 0;\r\n }else{\r\n documentData.boxWidth = maxLineWidth;\r\n switch(documentData.j){\r\n case 1:\r\n documentData.justifyOffset = - documentData.boxWidth;\r\n break;\r\n case 2:\r\n documentData.justifyOffset = - documentData.boxWidth/2;\r\n break;\r\n default:\r\n documentData.justifyOffset = 0;\r\n }\r\n }\r\n documentData.lineWidths = lineWidths;\r\n\r\n var animators = data.a, animatorData, letterData;\r\n jLen = animators.length;\r\n var based, ind, indexes = [];\r\n for(j=0;j 0) {\r\n x1 = this.ne.v / 100.0;\r\n }\r\n else {\r\n y1 = -this.ne.v / 100.0;\r\n }\r\n if(this.xe.v > 0) {\r\n x2 = 1.0 - this.xe.v / 100.0;\r\n }\r\n else {\r\n y2 = 1.0 + this.xe.v / 100.0;\r\n }\r\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\r\n\r\n var mult = 0;\r\n var s = this.finalS;\r\n var e = this.finalE;\r\n var type = this.data.sh;\r\n if (type === 2){\r\n if (e === s) {\r\n mult = ind >= e ? 1 : 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n mult = easer(mult);\r\n } else if(type === 3) {\r\n if (e === s) {\r\n mult = ind >= e ? 0 : 1;\r\n }else{\r\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s),1));\r\n }\r\n\r\n mult = easer(mult);\r\n } else if (type === 4) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n if (mult < 0.5) {\r\n mult *= 2;\r\n } else {\r\n mult = 1 - 2 * (mult - 0.5);\r\n }\r\n }\r\n mult = easer(mult);\r\n } else if (type === 5) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n var tot = e - s;\r\n /*ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind;*/\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n var x = -tot/2+ind;\r\n var a = tot/2;\r\n mult = Math.sqrt(1 - (x * x) / (a * a));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 6) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2;\r\n }\r\n mult = easer(mult);\r\n } else {\r\n if (ind >= floor(s)) {\r\n if (ind - s < 0) {\r\n mult = max(0, min(min(e, 1) - (s - ind), 1));\r\n } else {\r\n mult = max(0, min(e - ind, 1));\r\n }\r\n }\r\n mult = easer(mult);\r\n }\r\n return mult*this.a.v;\r\n },\r\n getValue: function(newCharsFlag) {\r\n this.iterateDynamicProperties();\r\n this._mdf = newCharsFlag || this._mdf;\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\r\n if(newCharsFlag && this.data.r === 2) {\r\n this.e.v = this._currentTextLength;\r\n }\r\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\r\n var o = this.o.v/divisor;\r\n var s = this.s.v/divisor + o;\r\n var e = (this.e.v/divisor) + o;\r\n if(s>e){\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n this.finalS = s;\r\n this.finalE = e;\r\n }\r\n }\r\n extendPrototype([DynamicPropertyContainer], TextSelectorProp);\r\n\r\n function getTextSelectorProp(elem, data,arr) {\r\n return new TextSelectorProp(elem, data, arr);\r\n }\r\n\r\n return {\r\n getTextSelectorProp: getTextSelectorProp\r\n };\r\n}());\r\n\r\n \r\nvar pool_factory = (function() {\r\n\treturn function(initialLength, _create, _release, _clone) {\r\n\r\n\t\tvar _length = 0;\r\n\t\tvar _maxLength = initialLength;\r\n\t\tvar pool = createSizedArray(_maxLength);\r\n\r\n\t\tvar ob = {\r\n\t\t\tnewElement: newElement,\r\n\t\t\trelease: release\r\n\t\t};\r\n\r\n\t\tfunction newElement(){\r\n\t\t\tvar element;\r\n\t\t\tif(_length){\r\n\t\t\t\t_length -= 1;\r\n\t\t\t\telement = pool[_length];\r\n\t\t\t} else {\r\n\t\t\t\telement = _create();\r\n\t\t\t}\r\n\t\t\treturn element;\r\n\t\t}\r\n\r\n\t\tfunction release(element) {\r\n\t\t\tif(_length === _maxLength) {\r\n\t\t\t\tpool = pooling.double(pool);\r\n\t\t\t\t_maxLength = _maxLength*2;\r\n\t\t\t}\r\n\t\t\tif (_release) {\r\n\t\t\t\t_release(element);\r\n\t\t\t}\r\n\t\t\tpool[_length] = element;\r\n\t\t\t_length += 1;\r\n\t\t}\r\n\r\n\t\tfunction clone() {\r\n\t\t\tvar clonedElement = newElement();\r\n\t\t\treturn _clone(clonedElement);\r\n\t\t}\r\n\r\n\t\treturn ob;\r\n\t};\r\n}());\r\n\r\nvar pooling = (function(){\r\n\r\n\tfunction double(arr){\r\n\t\treturn arr.concat(createSizedArray(arr.length));\r\n\t}\r\n\r\n\treturn {\r\n\t\tdouble: double\r\n\t};\r\n}());\r\nvar point_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn createTypedArray('float32', 2);\r\n\t}\r\n\treturn pool_factory(8, create);\r\n}());\r\nvar shape_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn new ShapePath();\r\n\t}\r\n\r\n\tfunction release(shapePath) {\r\n\t\tvar len = shapePath._length, i;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tpoint_pool.release(shapePath.v[i]);\r\n\t\t\tpoint_pool.release(shapePath.i[i]);\r\n\t\t\tpoint_pool.release(shapePath.o[i]);\r\n\t\t\tshapePath.v[i] = null;\r\n\t\t\tshapePath.i[i] = null;\r\n\t\t\tshapePath.o[i] = null;\r\n\t\t}\r\n\t\tshapePath._length = 0;\r\n\t\tshapePath.c = false;\r\n\t}\r\n\r\n\tfunction clone(shape) {\r\n\t\tvar cloned = factory.newElement();\r\n\t\tvar i, len = shape._length === undefined ? shape.v.length : shape._length;\r\n\t\tcloned.setLength(len);\r\n\t\tcloned.c = shape.c;\r\n\t\tvar pt;\r\n\t\t\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tcloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1], i);\r\n\t\t}\r\n\t\treturn cloned;\r\n\t}\r\n\r\n\tvar factory = pool_factory(4, create, release);\r\n\tfactory.clone = clone;\r\n\r\n\treturn factory;\r\n}());\r\nvar shapeCollection_pool = (function(){\r\n\tvar ob = {\r\n\t\tnewShapeCollection: newShapeCollection,\r\n\t\trelease: release\r\n\t};\r\n\r\n\tvar _length = 0;\r\n\tvar _maxLength = 4;\r\n\tvar pool = createSizedArray(_maxLength);\r\n\r\n\tfunction newShapeCollection(){\r\n\t\tvar shapeCollection;\r\n\t\tif(_length){\r\n\t\t\t_length -= 1;\r\n\t\t\tshapeCollection = pool[_length];\r\n\t\t} else {\r\n\t\t\tshapeCollection = new ShapeCollection();\r\n\t\t}\r\n\t\treturn shapeCollection;\r\n\t}\r\n\r\n\tfunction release(shapeCollection) {\r\n\t\tvar i, len = shapeCollection._length;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tshape_pool.release(shapeCollection.shapes[i]);\r\n\t\t}\r\n\t\tshapeCollection._length = 0;\r\n\r\n\t\tif(_length === _maxLength) {\r\n\t\t\tpool = pooling.double(pool);\r\n\t\t\t_maxLength = _maxLength*2;\r\n\t\t}\r\n\t\tpool[_length] = shapeCollection;\r\n\t\t_length += 1;\r\n\t}\r\n\r\n\treturn ob;\r\n}());\r\nvar segments_length_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn {\r\n\t\t\tlengths: [],\r\n\t\t\ttotalLength: 0\r\n\t\t};\r\n\t}\r\n\r\n\tfunction release(element) {\r\n\t\tvar i, len = element.lengths.length;\r\n\t\tfor(i=0;i= 0; i--) {\r\n if (!this.elements[i]) {\r\n data = this.layers[i];\r\n if(data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st))\r\n {\r\n this.buildItem(i);\r\n }\r\n }\r\n this.completeLayers = this.elements[i] ? this.completeLayers:false;\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.createItem = function(layer){\r\n switch(layer.ty){\r\n case 2:\r\n return this.createImage(layer);\r\n case 0:\r\n return this.createComp(layer);\r\n case 1:\r\n return this.createSolid(layer);\r\n case 3:\r\n return this.createNull(layer);\r\n case 4:\r\n return this.createShape(layer);\r\n case 5:\r\n return this.createText(layer);\r\n case 6:\r\n return this.createAudio(layer);\r\n case 13:\r\n return this.createCamera(layer);\r\n }\r\n return this.createNull(layer);\r\n};\r\n\r\nBaseRenderer.prototype.createCamera = function(){\r\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\r\n};\r\n\r\nBaseRenderer.prototype.createAudio = function(data){\r\n return new AudioElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.buildAllItems = function(){\r\n var i, len = this.layers.length;\r\n for(i=0;i= 0; i--) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newElement = element.getBaseElement();\r\n if(!newElement){\r\n return;\r\n }\r\n var i = 0;\r\n var nextElement;\r\n while(ielementRel && fillType === 'meet' || animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))/2*this.renderConfig.dpr;\r\n } else if(xPos === 'xMax' && ((animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))*this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.tx = 0;\r\n }\r\n if(yPos === 'YMid' && ((animationRel>elementRel && fillType==='meet') || (animationRelelementRel && fillType==='meet') || (animationRel= 0; i-=1) {\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.globalData.canvasContext = null;\r\n this.animationItem.container = null;\r\n this.destroyed = true;\r\n};\r\n\r\nCanvasRenderer.prototype.renderFrame = function(num, forceRender){\r\n if((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1){\r\n return;\r\n }\r\n this.renderedFrame = num;\r\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\r\n this.globalData.frameId += 1;\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\r\n this.globalData.projectInterface.currentFrame = num;\r\n\r\n // console.log('--------');\r\n // console.log('NEW: ',num);\r\n var i, len = this.layers.length;\r\n if(!this.completeLayers){\r\n this.checkLayers(num);\r\n }\r\n\r\n for (i = 0; i < len; i++) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n if(this.renderConfig.clearCanvas === true){\r\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\r\n }else{\r\n this.save();\r\n }\r\n for (i = len - 1; i >= 0; i-=1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n if(this.renderConfig.clearCanvas !== true){\r\n this.restore();\r\n }\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.buildItem = function(pos){\r\n var elements = this.elements;\r\n if(elements[pos] || this.layers[pos].ty == 99){\r\n return;\r\n }\r\n var element = this.createItem(this.layers[pos], this,this.globalData);\r\n elements[pos] = element;\r\n element.initExpressions();\r\n /*if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n }*/\r\n};\r\n\r\nCanvasRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.hide = function(){\r\n this.animationItem.container.style.display = 'none';\r\n};\r\n\r\nCanvasRenderer.prototype.show = function(){\r\n this.animationItem.container.style.display = 'block';\r\n};\r\n\r\nfunction HybridRenderer(animationItem, config){\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.renderConfig = {\r\n className: (config && config.className) || '',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n hideOnTransparent: (config && config.hideOnTransparent === false) ? false : true,\r\n filterSize: {\r\n width: config && config.filterSize && config.filterSize.width || '400%',\r\n height: config && config.filterSize && config.filterSize.height || '400%',\r\n x: config && config.filterSize && config.filterSize.x || '-100%',\r\n y: config && config.filterSize && config.filterSize.y || '-100%',\r\n }\r\n };\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig\r\n };\r\n this.pendingElements = [];\r\n this.elements = [];\r\n this.threeDElements = [];\r\n this.destroyed = false;\r\n this.camera = null;\r\n this.supports3d = true;\r\n this.rendererType = 'html';\r\n\r\n}\r\n\r\nextendPrototype([BaseRenderer],HybridRenderer);\r\n\r\nHybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\r\n\r\nHybridRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newDOMElement = element.getBaseElement();\r\n if(!newDOMElement){\r\n return;\r\n }\r\n var layer = this.layers[pos];\r\n if(!layer.ddd || !this.supports3d){\r\n if(this.threeDElements) {\r\n this.addTo3dContainer(newDOMElement,pos);\r\n } else {\r\n var i = 0;\r\n var nextDOMElement, nextLayer, tmpDOMElement;\r\n while(i= pos) {\r\n return this.threeDElements[i].perspectiveElem;\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.createThreeDContainer = function(pos, type){\r\n var perspectiveElem = createTag('div');\r\n styleDiv(perspectiveElem);\r\n var container = createTag('div');\r\n styleDiv(container);\r\n if(type === '3d') {\r\n perspectiveElem.style.width = this.globalData.compSize.w+'px';\r\n perspectiveElem.style.height = this.globalData.compSize.h+'px';\r\n perspectiveElem.style.transformOrigin = perspectiveElem.style.mozTransformOrigin = perspectiveElem.style.webkitTransformOrigin = \"50% 50%\";\r\n container.style.transform = container.style.webkitTransform = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n }\r\n \r\n perspectiveElem.appendChild(container);\r\n //this.resizerElem.appendChild(perspectiveElem);\r\n var threeDContainerData = {\r\n container:container,\r\n perspectiveElem:perspectiveElem,\r\n startPos: pos,\r\n endPos: pos,\r\n type: type\r\n };\r\n this.threeDElements.push(threeDContainerData);\r\n return threeDContainerData;\r\n};\r\n\r\nHybridRenderer.prototype.build3dContainers = function(){\r\n var i, len = this.layers.length;\r\n var lastThreeDContainerData;\r\n var currentContainer = '';\r\n for(i=0;i= 0; i --) {\r\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.addTo3dContainer = function(elem,pos){\r\n var i = 0, len = this.threeDElements.length;\r\n while(ielementRel){\r\n sx = elementWidth/(this.globalData.compSize.w);\r\n sy = elementWidth/(this.globalData.compSize.w);\r\n tx = 0;\r\n ty = ((elementHeight-this.globalData.compSize.h*(elementWidth/this.globalData.compSize.w))/2);\r\n }else{\r\n sx = elementHeight/(this.globalData.compSize.h);\r\n sy = elementHeight/(this.globalData.compSize.h);\r\n tx = (elementWidth-this.globalData.compSize.w*(elementHeight/this.globalData.compSize.h))/2;\r\n ty = 0;\r\n }\r\n this.resizerElem.style.transform = this.resizerElem.style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)';\r\n};\r\n\r\nHybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\r\n\r\nHybridRenderer.prototype.hide = function(){\r\n this.resizerElem.style.display = 'none';\r\n};\r\n\r\nHybridRenderer.prototype.show = function(){\r\n this.resizerElem.style.display = 'block';\r\n};\r\n\r\nHybridRenderer.prototype.initItems = function(){\r\n this.buildAllItems();\r\n if(this.camera){\r\n this.camera.setup();\r\n } else {\r\n var cWidth = this.globalData.compSize.w;\r\n var cHeight = this.globalData.compSize.h;\r\n var i, len = this.threeDElements.length;\r\n for(i=0;i 0){\r\n this.maskElement.setAttribute('id', layerId);\r\n this.element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\r\n defs.appendChild(this.maskElement);\r\n }\r\n if (this.viewData.length) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n\r\n}\r\n\r\nMaskElement.prototype.getMaskProperty = function(pos){\r\n return this.viewData[pos].prop;\r\n};\r\n\r\nMaskElement.prototype.renderFrame = function (isFirstFrame) {\r\n var finalMat = this.element.finalTransform.mat;\r\n var i, len = this.masksProperties.length;\r\n for (i = 0; i < len; i++) {\r\n if(this.viewData[i].prop._mdf || isFirstFrame){\r\n this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);\r\n }\r\n if(this.viewData[i].op._mdf || isFirstFrame){\r\n this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v);\r\n }\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if(this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)){\r\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS())\r\n }\r\n if(this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)){\r\n var feMorph = this.storedData[i].expan;\r\n if(this.storedData[i].x.v < 0){\r\n if(this.storedData[i].lastOperator !== 'erode'){\r\n this.storedData[i].lastOperator = 'erode';\r\n this.storedData[i].elem.setAttribute('filter','url(' + locationHref + '#'+this.storedData[i].filterId+')');\r\n }\r\n feMorph.setAttribute('radius',-this.storedData[i].x.v);\r\n }else{\r\n if(this.storedData[i].lastOperator !== 'dilate'){\r\n this.storedData[i].lastOperator = 'dilate';\r\n this.storedData[i].elem.setAttribute('filter',null);\r\n }\r\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v*2);\r\n\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nMaskElement.prototype.getMaskelement = function () {\r\n return this.maskElement;\r\n};\r\n\r\nMaskElement.prototype.createLayerSolidPath = function(){\r\n var path = 'M0,0 ';\r\n path += ' h' + this.globalData.compSize.w ;\r\n path += ' v' + this.globalData.compSize.h ;\r\n path += ' h-' + this.globalData.compSize.w ;\r\n path += ' v-' + this.globalData.compSize.h + ' ';\r\n return path;\r\n};\r\n\r\nMaskElement.prototype.drawPath = function(pathData,pathNodes,viewData){\r\n var pathString = \" M\"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n var i, len;\r\n len = pathNodes._length;\r\n for(i=1;i 1){\r\n pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n }\r\n //pathNodes.__renderedString = pathString;\r\n\r\n if(viewData.lastPath !== pathString){\r\n var pathShapeValue = '';\r\n if(viewData.elem){\r\n if(pathNodes.c){\r\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\r\n }\r\n viewData.elem.setAttribute('d',pathShapeValue);\r\n }\r\n viewData.lastPath = pathString;\r\n }\r\n};\r\n\r\nMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n this.globalData = null;\r\n this.maskElement = null;\r\n this.data = null;\r\n this.masksProperties = null;\r\n};\r\n\r\n/**\r\n * @file \r\n * Handles AE's layer parenting property.\r\n *\r\n */\r\n\r\nfunction HierarchyElement(){}\r\n\r\nHierarchyElement.prototype = {\r\n\t/**\r\n * @function \r\n * Initializes hierarchy properties\r\n *\r\n */\r\n\tinitHierarchy: function() {\r\n\t\t//element's parent list\r\n\t this.hierarchy = [];\r\n\t //if element is parent of another layer _isParent will be true\r\n\t this._isParent = false;\r\n\t this.checkParenting();\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */ \r\n\tsetHierarchy: function(hierarchy){\r\n\t this.hierarchy = hierarchy;\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer as parent.\r\n *\r\n */ \r\n\tsetAsParent: function() {\r\n\t this._isParent = true;\r\n\t},\r\n\t/**\r\n * @function \r\n * Searches layer's parenting chain\r\n *\r\n */ \r\n\tcheckParenting: function(){\r\n\t if (this.data.parent !== undefined){\r\n\t this.comp.buildElementParenting(this, this.data.parent, []);\r\n\t }\r\n\t}\r\n};\r\n/**\r\n * @file \r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\r\n\r\nfunction FrameElement(){}\r\n\r\nFrameElement.prototype = {\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n */\r\n initFrame: function(){\r\n //set to true when inpoint is rendered\r\n this._isFirstFrame = false;\r\n //list of animated properties\r\n this.dynamicProperties = [];\r\n // If layer has been modified in current tick this will be true\r\n this._mdf = false;\r\n },\r\n /**\r\n * @function \r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n * \r\n */\r\n prepareProperties: function(num, isVisible) {\r\n var i, len = this.dynamicProperties.length;\r\n for (i = 0;i < len; i += 1) {\r\n if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n },\r\n addDynamicProperty: function(prop) {\r\n if(this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n }\r\n }\r\n};\r\nfunction TransformElement(){}\r\n\r\nTransformElement.prototype = {\r\n initTransform: function() {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {o:0},\r\n _matMdf: false,\r\n _opMdf: false,\r\n mat: new Matrix()\r\n };\r\n if (this.data.ao) {\r\n this.finalTransform.mProp.autoOriented = true;\r\n }\r\n\r\n //TODO: check TYPE 11: Guided elements\r\n if (this.data.ty !== 11) {\r\n //this.createElements();\r\n }\r\n },\r\n renderTransform: function() {\r\n\r\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\r\n\r\n if (this.hierarchy) {\r\n var mat;\r\n var finalMat = this.finalTransform.mat;\r\n var i = 0, len = this.hierarchy.length;\r\n //Checking if any of the transformation matrices in the hierarchy chain has changed.\r\n if (!this.finalTransform._matMdf) {\r\n while (i < len) {\r\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n \r\n if (this.finalTransform._matMdf) {\r\n mat = this.finalTransform.mProp.v.props;\r\n finalMat.cloneFromProps(mat);\r\n for (i = 0; i < len; i += 1) {\r\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\r\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\r\n }\r\n }\r\n }\r\n },\r\n globalToLocal: function(pt) {\r\n var transforms = [];\r\n transforms.push(this.finalTransform);\r\n var flag = true;\r\n var comp = this.comp;\r\n while (flag) {\r\n if (comp.finalTransform) {\r\n if (comp.data.hasMask) {\r\n transforms.splice(0, 0, comp.finalTransform);\r\n }\r\n comp = comp.comp;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n var i, len = transforms.length,ptNew;\r\n for (i = 0; i < len; i += 1) {\r\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\r\n //ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\r\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\r\n }\r\n return pt;\r\n },\r\n mHelper: new Matrix()\r\n};\r\nfunction RenderableElement(){\r\n\r\n}\r\n\r\nRenderableElement.prototype = {\r\n initRenderable: function() {\r\n //layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\r\n this.isInRange = false;\r\n //layer's display state\r\n this.hidden = false;\r\n // If layer's transparency equals 0, it can be hidden\r\n this.isTransparent = false;\r\n //list of animated components\r\n this.renderableComponents = [];\r\n },\r\n addRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) === -1) {\r\n this.renderableComponents.push(component);\r\n }\r\n },\r\n removeRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) !== -1) {\r\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\r\n }\r\n },\r\n prepareRenderableFrame: function(num) {\r\n this.checkLayerLimits(num);\r\n },\r\n checkTransparency: function(){\r\n if(this.finalTransform.mProp.o.v <= 0) {\r\n if(!this.isTransparent && this.globalData.renderConfig.hideOnTransparent){\r\n this.isTransparent = true;\r\n this.hide();\r\n }\r\n } else if(this.isTransparent) {\r\n this.isTransparent = false;\r\n this.show();\r\n }\r\n },\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * \r\n */\r\n checkLayerLimits: function(num) {\r\n if(this.data.ip - this.data.st <= num && this.data.op - this.data.st > num)\r\n {\r\n if(this.isInRange !== true){\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n this.isInRange = true;\r\n this.show();\r\n }\r\n } else {\r\n if(this.isInRange !== false){\r\n this.globalData._mdf = true;\r\n this.isInRange = false;\r\n this.hide();\r\n }\r\n }\r\n },\r\n renderRenderable: function() {\r\n var i, len = this.renderableComponents.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\r\n }\r\n /*this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame);*/\r\n },\r\n sourceRectAtTime: function(){\r\n return {\r\n top:0,\r\n left:0,\r\n width:100,\r\n height:100\r\n };\r\n },\r\n getLayerSize: function(){\r\n if(this.data.ty === 5){\r\n return {w:this.data.textData.width,h:this.data.textData.height};\r\n }else{\r\n return {w:this.data.width,h:this.data.height};\r\n }\r\n }\r\n};\r\nfunction RenderableDOMElement() {}\r\n\r\n(function(){\r\n var _prototype = {\r\n initElement: function(data,globalData,comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n },\r\n hide: function(){\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'none';\r\n this.hidden = true;\r\n }\r\n },\r\n show: function(){\r\n if (this.isInRange && !this.isTransparent){\r\n if (!this.data.hd) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'block';\r\n }\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function() {\r\n //If it is exported as hidden (data.hd === true) no need to render\r\n //If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n renderInnerContent: function() {},\r\n prepareFrame: function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n this.checkTransparency();\r\n },\r\n destroy: function(){\r\n this.innerElem = null;\r\n this.destroyBaseElement();\r\n }\r\n };\r\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\r\n}());\r\nfunction ProcessedElement(element, position) {\r\n\tthis.elem = element;\r\n\tthis.pos = position;\r\n}\r\nfunction SVGStyleData(data, level) {\r\n\tthis.data = data;\r\n\tthis.type = data.ty;\r\n\tthis.d = '';\r\n\tthis.lvl = level;\r\n\tthis._mdf = false;\r\n\tthis.closed = data.hd === true;\r\n\tthis.pElem = createNS('path');\r\n\tthis.msElem = null;\r\n}\r\n\r\nSVGStyleData.prototype.reset = function() {\r\n\tthis.d = '';\r\n\tthis._mdf = false;\r\n};\r\nfunction SVGShapeData(transformers, level, shape) {\r\n this.caches = [];\r\n this.styles = [];\r\n this.transformers = transformers;\r\n this.lStr = '';\r\n this.sh = shape;\r\n this.lvl = level;\r\n //TODO find if there are some cases where _isAnimated can be false. \r\n // For now, since shapes add up with other shapes. They have to be calculated every time.\r\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\r\n this._isAnimated = !!shape.k;\r\n // TODO: commenting this for now since all shapes are animated\r\n var i = 0, len = transformers.length;\r\n while(i < len) {\r\n \tif(transformers[i].mProps.dynamicProperties.length) {\r\n \t\tthis._isAnimated = true;\r\n \t\tbreak;\r\n \t}\r\n \ti += 1;\r\n }\r\n}\r\n\r\nSVGShapeData.prototype.setAsAnimated = function() {\r\n this._isAnimated = true;\r\n}\r\nfunction SVGTransformData(mProps, op, container) {\r\n\tthis.transform = {\r\n\t\tmProps: mProps,\r\n\t\top: op,\r\n\t\tcontainer: container\r\n\t};\r\n\tthis.elements = [];\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\r\n}\r\nfunction SVGStrokeStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.w = PropertyFactory.getProp(elem,data.w,0,null,this);\r\n\tthis.d = new DashProperty(elem,data.d||{},'svg',this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\r\nfunction SVGFillStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGFillStyleData);\r\nfunction SVGGradientFillStyleData(elem, data, styleOb){\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.initGradientData(elem, data, styleOb);\r\n}\r\n\r\nSVGGradientFillStyleData.prototype.initGradientData = function(elem, data, styleOb){\r\n this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,null,this);\r\n this.e = PropertyFactory.getProp(elem,data.e,1,null,this);\r\n this.h = PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);\r\n this.a = PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);\r\n this.g = new GradientProperty(elem,data.g,this);\r\n this.style = styleOb;\r\n this.stops = [];\r\n this.setGradientData(styleOb.pElem, data);\r\n this.setGradientOpacity(data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientData = function(pathElement,data){\r\n\r\n var gradientId = createElementID();\r\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n gfill.setAttribute('id',gradientId);\r\n gfill.setAttribute('spreadMethod','pad');\r\n gfill.setAttribute('gradientUnits','userSpaceOnUse');\r\n var stops = [];\r\n var stop, j, jLen;\r\n jLen = data.g.p*4;\r\n for(j=0;j 0) {\r\n\t redraw = itemData.transformers[k].mProps._mdf || redraw;\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t if(redraw) {\r\n\t iterations = lvl - itemData.styles[l].lvl;\r\n\t k = itemData.transformers.length-1;\r\n\t while(iterations > 0) {\r\n\t props = itemData.transformers[k].mProps.v.props;\r\n\t mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t }\r\n\t } else {\r\n\t mat = _identityMatrix;\r\n\t }\r\n\t paths = itemData.sh.paths;\r\n\t jLen = paths._length;\r\n\t if(redraw){\r\n\t pathStringTransformed = '';\r\n\t for(j=0;j= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n\t var dist = rad * percent;\r\n\t var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n\t var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n\t gfill.setAttribute('fx', x);\r\n\t gfill.setAttribute('fy', y);\r\n\t if (hasOpacity && !itemData.g._collapsable) {\r\n\t itemData.of.setAttribute('fx', x);\r\n\t itemData.of.setAttribute('fy', y);\r\n\t }\r\n\t }\r\n\t //gfill.setAttribute('fy','200');\r\n\t }\r\n\t};\r\n\r\n\tfunction renderStroke(styleData, itemData, isFirstFrame) {\r\n\t var styleElem = itemData.style;\r\n\t var d = itemData.d;\r\n\t if (d && (d._mdf || isFirstFrame) && d.dashStr) {\r\n\t styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\r\n\t styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\r\n\t }\r\n\t if(itemData.c && (itemData.c._mdf || isFirstFrame)){\r\n\t styleElem.pElem.setAttribute('stroke','rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');\r\n\t }\r\n\t if(itemData.o._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\r\n\t }\r\n\t if(itemData.w._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\r\n\t if(styleElem.msElem){\r\n\t styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\r\n\t }\r\n\t }\r\n\t};\r\n\r\n\treturn ob;\r\n}())\r\nfunction ShapeTransformManager() {\r\n\tthis.sequences = {};\r\n\tthis.sequenceList = [];\r\n this.transform_key_count = 0;\r\n}\r\n\r\nShapeTransformManager.prototype = {\r\n\taddTransformSequence: function(transforms) {\r\n\t\tvar i, len = transforms.length;\r\n\t\tvar key = '_';\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tkey += transforms[i].transform.key + '_';\r\n\t\t}\r\n\t\tvar sequence = this.sequences[key];\r\n\t\tif(!sequence) {\r\n\t\t\tsequence = {\r\n\t\t\t\ttransforms: [].concat(transforms),\r\n\t\t\t\tfinalTransform: new Matrix(),\r\n\t\t\t\t_mdf: false\r\n\t\t\t};\r\n\t\t\tthis.sequences[key] = sequence;\r\n\t\t\tthis.sequenceList.push(sequence);\r\n\t\t}\r\n\t\treturn sequence;\r\n\t},\r\n\tprocessSequence: function(sequence, isFirstFrame) {\r\n\t\tvar i = 0, len = sequence.transforms.length, _mdf = isFirstFrame;\r\n\t\twhile (i < len && !isFirstFrame) {\r\n\t\t\tif (sequence.transforms[i].transform.mProps._mdf) {\r\n\t\t\t\t_mdf = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\ti += 1\r\n\t\t}\r\n\t\tif (_mdf) {\r\n\t\t\tvar props;\r\n\t\t\tsequence.finalTransform.reset();\r\n\t\t\tfor (i = len - 1; i >= 0; i -= 1) {\r\n\t\t props = sequence.transforms[i].transform.mProps.v.props;\r\n\t\t sequence.finalTransform.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tsequence._mdf = _mdf;\r\n\t\t\r\n\t},\r\n\tprocessSequences: function(isFirstFrame) {\r\n\t\tvar i, len = this.sequenceList.length;\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tthis.processSequence(this.sequenceList[i], isFirstFrame);\r\n\t\t}\r\n\r\n\t},\r\n\tgetNewKey: function() {\r\n\t\treturn '_' + this.transform_key_count++;\r\n\t}\r\n}\r\nfunction CVShapeData(element, data, styles, transformsManager) {\r\n this.styledShapes = [];\r\n this.tr = [0,0,0,0,0,0];\r\n var ty = 4;\r\n if(data.ty == 'rc'){\r\n ty = 5;\r\n }else if(data.ty == 'el'){\r\n ty = 6;\r\n }else if(data.ty == 'sr'){\r\n ty = 7;\r\n }\r\n this.sh = ShapePropertyFactory.getShapeProp(element,data,ty,element);\r\n var i , len = styles.length,styledShape;\r\n for (i = 0; i < len; i += 1) {\r\n if (!styles[i].closed) {\r\n styledShape = {\r\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\r\n trNodes: []\r\n }\r\n this.styledShapes.push(styledShape);\r\n styles[i].elements.push(styledShape);\r\n }\r\n }\r\n}\r\n\r\nCVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\r\nfunction BaseElement(){\r\n}\r\n\r\nBaseElement.prototype = {\r\n checkMasks: function(){\r\n if(!this.data.hasMask){\r\n return false;\r\n }\r\n var i = 0, len = this.data.masksProperties.length;\r\n while(i=0;i-=1){\r\n this.shapeModifiers[i].processShapes(this._isFirstFrame);\r\n }\r\n },\r\n lcEnum: {\r\n '1': 'butt',\r\n '2': 'round',\r\n '3': 'square'\r\n },\r\n ljEnum: {\r\n '1': 'miter',\r\n '2': 'round',\r\n '3': 'bevel'\r\n },\r\n searchProcessedElement: function(elem){\r\n var elements = this.processedElements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n if (elements[i].elem === elem) {\r\n return elements[i].pos;\r\n }\r\n i += 1;\r\n }\r\n return 0;\r\n },\r\n addProcessedElement: function(elem, pos){\r\n var elements = this.processedElements;\r\n var i = elements.length;\r\n while(i) {\r\n i -= 1;\r\n if (elements[i].elem === elem) {\r\n elements[i].pos = pos;\r\n return;\r\n }\r\n }\r\n elements.push(new ProcessedElement(elem, pos));\r\n },\r\n prepareFrame: function(num) {\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n }\r\n};\r\nfunction ITextElement(){\r\n}\r\n\r\nITextElement.prototype.initElement = function(data,globalData,comp){\r\n this.lettersChangedFlag = true;\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\r\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n this.textAnimator.searchProperties(this.dynamicProperties);\r\n};\r\n\r\nITextElement.prototype.prepareFrame = function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if(this.textProperty._mdf || this.textProperty._isFirstFrame) {\r\n this.buildNewText();\r\n this.textProperty._isFirstFrame = false;\r\n this.textProperty._mdf = false;\r\n }\r\n};\r\n\r\nITextElement.prototype.createPathShape = function(matrixHelper, shapes) {\r\n var j,jLen = shapes.length;\r\n var k, kLen, pathNodes;\r\n var shapeStr = '';\r\n for(j=0;j= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\r\n if(this.elements[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.renderInnerContent = function() {\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i += 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.setElements = function(elems){\r\n this.elements = elems;\r\n};\r\n\r\nICompElement.prototype.getElements = function(){\r\n return this.elements;\r\n};\r\n\r\nICompElement.prototype.destroyElements = function(){\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].destroy();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.destroy = function(){\r\n this.destroyElements();\r\n this.destroyBaseElement();\r\n};\r\n\r\nfunction IImageElement(data,globalData,comp){\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data,globalData,comp);\r\n this.sourceRect = {top:0,left:0,width:this.assetData.w,height:this.assetData.h};\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement], IImageElement);\r\n\r\nIImageElement.prototype.createContent = function(){\r\n\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n\r\n this.innerElem = createNS('image');\r\n this.innerElem.setAttribute('width',this.assetData.w+\"px\");\r\n this.innerElem.setAttribute('height',this.assetData.h+\"px\");\r\n this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\r\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);\r\n \r\n this.layerElement.appendChild(this.innerElem);\r\n};\r\n\r\nIImageElement.prototype.sourceRectAtTime = function() {\r\n\treturn this.sourceRect;\r\n}\r\nfunction ISolidElement(data,globalData,comp){\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([IImageElement], ISolidElement);\r\n\r\nISolidElement.prototype.createContent = function(){\r\n\r\n var rect = createNS('rect');\r\n ////rect.style.width = this.data.sw;\r\n ////rect.style.height = this.data.sh;\r\n ////rect.style.fill = this.data.sc;\r\n rect.setAttribute('width',this.data.sw);\r\n rect.setAttribute('height',this.data.sh);\r\n rect.setAttribute('fill',this.data.sc);\r\n this.layerElement.appendChild(rect);\r\n};\r\nfunction AudioElement(data,globalData,comp){\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n\tthis.initBaseData(data, globalData, comp);\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n\tvar assetPath = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(assetPath);\r\n this._currentTime = 0;\r\n this.globalData.audioController.addAudio(this);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nAudioElement.prototype.prepareFrame = function(num) {\r\n this.prepareRenderableFrame(num, true);\r\n this.prepareProperties(num, true);\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n this._currentTime = timeRemapped;\r\n } else {\r\n this._currentTime = num / this.data.sr;\r\n }\r\n};\r\n\r\nextendPrototype([RenderableElement,BaseElement,FrameElement], AudioElement);\r\n\r\nAudioElement.prototype.renderFrame = function() {\r\n\tif (this.isInRange && this._canPlay) {\r\n\t\tif (!this._isPlaying) {\r\n\t\t\tthis.audio.play();\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate);\r\n\t\t\tthis._isPlaying = true;\r\n\t\t} else if (!this.audio.playing()\r\n\t\t\t|| Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1\r\n\t\t) {\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate)\r\n\t\t}\r\n\t}\r\n};\r\n\r\nAudioElement.prototype.show = function() {\r\n\t// this.audio.play()\r\n};\r\n\r\nAudioElement.prototype.hide = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n};\r\n\r\nAudioElement.prototype.pause = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n};\r\n\r\nAudioElement.prototype.resume = function() {\r\n\tthis._canPlay = true;\r\n};\r\n\r\nAudioElement.prototype.setRate = function(rateValue) {\r\n\tthis.audio.rate(rateValue);\r\n};\r\n\r\nAudioElement.prototype.volume = function(volumeValue) {\r\n\tthis.audio.volume(volumeValue);\r\n};\r\n\r\nAudioElement.prototype.getBaseElement = function() {\r\n\treturn null;\r\n};\r\n\r\nAudioElement.prototype.destroy = function() {\r\n};\r\n\r\nAudioElement.prototype.sourceRectAtTime = function() {\r\n};\r\n\r\nAudioElement.prototype.initExpressions = function() {\r\n};\r\n\r\n\r\nfunction SVGCompElement(data,globalData,comp){\r\n this.layers = data.layers;\r\n this.supports3d = true;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n //this.layerElement = createNS('g');\r\n this.initElement(data,globalData,comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\r\nfunction SVGTextElement(data,globalData,comp){\r\n this.textSpans = [];\r\n this.renderType = 'svg';\r\n this.initElement(data,globalData,comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], SVGTextElement);\r\n\r\nSVGTextElement.prototype.createContent = function(){\r\n\r\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\r\n this.textContainer = createNS('text');\r\n }\r\n};\r\n\r\nSVGTextElement.prototype.buildTextContents = function(textArray) {\r\n var i = 0, len = textArray.length;\r\n var textContents = [], currentTextContent = '';\r\n while (i < len) {\r\n if(textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\r\n textContents.push(currentTextContent);\r\n currentTextContent = '';\r\n } else {\r\n currentTextContent += textArray[i];\r\n }\r\n i += 1;\r\n }\r\n textContents.push(currentTextContent);\r\n return textContents;\r\n}\r\n\r\nSVGTextElement.prototype.buildNewText = function(){\r\n var i, len;\r\n\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\r\n if(documentData.fc) {\r\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\r\n }else{\r\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\r\n }\r\n if(documentData.sc){\r\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\r\n this.layerElement.setAttribute('stroke-width', documentData.sw);\r\n }\r\n this.layerElement.setAttribute('font-size', documentData.finalSize);\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if(fontData.fClass){\r\n this.layerElement.setAttribute('class',fontData.fClass);\r\n } else {\r\n this.layerElement.setAttribute('font-family', fontData.fFamily);\r\n var fWeight = documentData.fWeight, fStyle = documentData.fStyle;\r\n this.layerElement.setAttribute('font-style', fStyle);\r\n this.layerElement.setAttribute('font-weight', fWeight);\r\n }\r\n this.layerElement.setAttribute('aria-label', documentData.t);\r\n\r\n var letters = documentData.l || [];\r\n var usesGlyphs = !!this.globalData.fontManager.chars;\r\n len = letters.length;\r\n\r\n var tSpan;\r\n var matrixHelper = this.mHelper;\r\n var shapes, shapeStr = '', singleShape = this.data.singleShape;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n if(singleShape && !usesGlyphs && !documentData.sz) {\r\n var tElement = this.textContainer;\r\n var justify = 'start';\r\n switch(documentData.j) {\r\n case 1:\r\n justify = 'end';\r\n break;\r\n case 2:\r\n justify = 'middle';\r\n break;\r\n }\r\n tElement.setAttribute('text-anchor',justify);\r\n tElement.setAttribute('letter-spacing',trackingOffset);\r\n var textContent = this.buildTextContents(documentData.finalText);\r\n len = textContent.length;\r\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\r\n for ( i = 0; i < len; i += 1) {\r\n tSpan = this.textSpans[i] || createNS('tspan');\r\n tSpan.textContent = textContent[i];\r\n tSpan.setAttribute('x', 0);\r\n tSpan.setAttribute('y', yPos);\r\n tSpan.style.display = 'inherit';\r\n tElement.appendChild(tSpan);\r\n this.textSpans[i] = tSpan;\r\n yPos += documentData.finalLineHeight;\r\n }\r\n \r\n this.layerElement.appendChild(tElement);\r\n } else {\r\n var cachedSpansLength = this.textSpans.length;\r\n var shapeData, charData;\r\n for (i = 0; i < len; i += 1) {\r\n if(!usesGlyphs || !singleShape || i === 0){\r\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs?'path':'text');\r\n if (cachedSpansLength <= i) {\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin','round');\r\n tSpan.setAttribute('stroke-miterlimit','4');\r\n this.textSpans[i] = tSpan;\r\n this.layerElement.appendChild(tSpan);\r\n }\r\n tSpan.style.display = 'inherit';\r\n }\r\n \r\n matrixHelper.reset();\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n if(letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n xPos += letters[i].l || 0;\r\n //xPos += letters[i].val === ' ' ? 0 : trackingOffset;\r\n xPos += trackingOffset;\r\n }\r\n if(usesGlyphs) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n if(!singleShape){\r\n tSpan.setAttribute('d',this.createPathShape(matrixHelper,shapes));\r\n } else {\r\n shapeStr += this.createPathShape(matrixHelper,shapes);\r\n }\r\n } else {\r\n if(singleShape) {\r\n tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\r\n }\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\",\"preserve\");\r\n }\r\n //\r\n }\r\n if (singleShape && tSpan) {\r\n tSpan.setAttribute('d',shapeStr);\r\n }\r\n }\r\n while (i < this.textSpans.length){\r\n this.textSpans[i].style.display = 'none';\r\n i += 1;\r\n }\r\n \r\n this._sizeChanged = true;\r\n};\r\n\r\nSVGTextElement.prototype.sourceRectAtTime = function(time){\r\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\r\n this.renderInnerContent();\r\n if(this._sizeChanged){\r\n this._sizeChanged = false;\r\n var textBox = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: textBox.y,\r\n left: textBox.x,\r\n width: textBox.width,\r\n height: textBox.height\r\n };\r\n }\r\n return this.bbox;\r\n};\r\n\r\nSVGTextElement.prototype.renderInnerContent = function(){\r\n\r\n if(!this.data.singleShape){\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if(this.lettersChangedFlag || this.textAnimator.lettersChangedFlag){\r\n this._sizeChanged = true;\r\n var i,len;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter, textSpan;\r\n for(i=0;i 1 && areAnimated) {\r\n this.setShapesAsAnimated(tempShapes);\r\n }\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.setShapesAsAnimated = function(shapes){\r\n var i, len = shapes.length;\r\n for(i = 0; i < len; i += 1) {\r\n shapes[i].setAsAnimated();\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.createStyleElement = function(data, level){\r\n //TODO: prevent drawing of hidden styles\r\n var elementData;\r\n var styleOb = new SVGStyleData(data, level);\r\n\r\n var pathElement = styleOb.pElem;\r\n if(data.ty === 'st') {\r\n elementData = new SVGStrokeStyleData(this, data, styleOb);\r\n } else if(data.ty === 'fl') {\r\n elementData = new SVGFillStyleData(this, data, styleOb);\r\n } else if(data.ty === 'gf' || data.ty === 'gs') {\r\n var gradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\r\n elementData = new gradientConstructor(this, data, styleOb);\r\n this.globalData.defs.appendChild(elementData.gf);\r\n if (elementData.maskId) {\r\n this.globalData.defs.appendChild(elementData.ms);\r\n this.globalData.defs.appendChild(elementData.of);\r\n pathElement.setAttribute('mask','url(' + locationHref + '#' + elementData.maskId + ')');\r\n }\r\n }\r\n \r\n if(data.ty === 'st' || data.ty === 'gs') {\r\n pathElement.setAttribute('stroke-linecap', this.lcEnum[data.lc] || 'round');\r\n pathElement.setAttribute('stroke-linejoin',this.ljEnum[data.lj] || 'round');\r\n pathElement.setAttribute('fill-opacity','0');\r\n if(data.lj === 1) {\r\n pathElement.setAttribute('stroke-miterlimit',data.ml);\r\n }\r\n }\r\n\r\n if(data.r === 2) {\r\n pathElement.setAttribute('fill-rule', 'evenodd');\r\n }\r\n\r\n if(data.ln){\r\n pathElement.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n pathElement.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n this.stylesList.push(styleOb);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = new ShapeGroupData();\r\n if(data.ln){\r\n elementData.gr.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n elementData.gr.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createTransformElement = function(data, container) {\r\n var transformProperty = TransformPropertyFactory.getTransformProperty(this,data,this);\r\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createShapeElement = function(data, ownTransformers, level) {\r\n var ty = 4;\r\n if(data.ty === 'rc'){\r\n ty = 5;\r\n }else if(data.ty === 'el'){\r\n ty = 6;\r\n }else if(data.ty === 'sr'){\r\n ty = 7;\r\n }\r\n var shapeProperty = ShapePropertyFactory.getShapeProp(this,data,ty,this);\r\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.addToAnimatedContents = function(data, element) {\r\n var i = 0, len = this.animatedContents.length;\r\n while(i < len) {\r\n if(this.animatedContents[i].element === element) {\r\n return;\r\n }\r\n i += 1;\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(data),\r\n element: element,\r\n data: data\r\n });\r\n};\r\n\r\nSVGShapeElement.prototype.setElementStyles = function(elementData){\r\n var arr = elementData.styles;\r\n var j, jLen = this.stylesList.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (!this.stylesList[j].closed) {\r\n arr.push(this.stylesList[j]);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.reloadShapes = function(){\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for( i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n len = this.dynamicProperties.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n};\r\n\r\nSVGShapeElement.prototype.searchShapes = function(arr,itemsData,prevViewData,container, level, transformers, render){\r\n var ownTransformers = [].concat(transformers);\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], styleOb, currentTransform, modifier, processedPos;\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._render = render;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st' || arr[i].ty == 'gf' || arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], level);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n if(arr[i]._render){\r\n container.appendChild(itemsData[i].style.pElem);\r\n }\r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j horizontal & vertical\r\n // 2 -> horizontal only\r\n // 3 -> vertical only\r\n //\r\n var dimensions = this.filterManager.effectElements[1].p.v;\r\n var sigmaX = (dimensions == 3) ? 0 : sigma;\r\n var sigmaY = (dimensions == 2) ? 0 : sigma;\r\n\r\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + \" \" + sigmaY);\r\n\r\n // Repeat edges mapping:\r\n //\r\n // 0 -> off -> duplicate\r\n // 1 -> on -> wrap\r\n var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate';\r\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\r\n }\r\n}\r\nfunction SVGStrokeEffect(elem, filterManager){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.elem = elem;\r\n this.paths = [];\r\n}\r\n\r\nSVGStrokeEffect.prototype.initialize = function(){\r\n\r\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n var path,groupPath, i, len;\r\n if(this.filterManager.effectElements[1].p.v === 1){\r\n len = this.elem.maskManager.masksProperties.length;\r\n i = 0;\r\n } else {\r\n i = this.filterManager.effectElements[0].p.v - 1;\r\n len = i + 1;\r\n }\r\n groupPath = createNS('g'); \r\n groupPath.setAttribute('fill','none');\r\n groupPath.setAttribute('stroke-linecap','round');\r\n groupPath.setAttribute('stroke-dashoffset',1);\r\n for(i;i= max){\r\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\r\n } else {\r\n colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));\r\n }\r\n table[pos++] = colorValue;\r\n cnt += 256/(segments-1);\r\n }\r\n return table.join(' ');\r\n};\r\n\r\nSVGProLevelsFilter.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n var val, cnt, perc, bezier;\r\n var effectElements = this.filterManager.effectElements;\r\n if(this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)){\r\n val = this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);\r\n this.feFuncRComposed.setAttribute('tableValues',val);\r\n this.feFuncGComposed.setAttribute('tableValues',val);\r\n this.feFuncBComposed.setAttribute('tableValues',val);\r\n }\r\n\r\n\r\n if(this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)){\r\n val = this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);\r\n this.feFuncR.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)){\r\n val = this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);\r\n this.feFuncG.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)){\r\n val = this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);\r\n this.feFuncB.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)){\r\n val = this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);\r\n this.feFuncA.setAttribute('tableValues',val);\r\n }\r\n \r\n }\r\n};\r\nfunction SVGDropShadowEffect(filter, filterManager) {\r\n var filterSize = filterManager.container.globalData.renderConfig.filterSize\r\n filter.setAttribute('x', filterSize.x);\r\n filter.setAttribute('y', filterSize.y);\r\n filter.setAttribute('width', filterSize.width);\r\n filter.setAttribute('height', filterSize.height);\r\n this.filterManager = filterManager;\r\n\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n feGaussianBlur.setAttribute('in','SourceAlpha');\r\n feGaussianBlur.setAttribute('result','drop_shadow_1');\r\n feGaussianBlur.setAttribute('stdDeviation','0');\r\n this.feGaussianBlur = feGaussianBlur;\r\n filter.appendChild(feGaussianBlur);\r\n\r\n var feOffset = createNS('feOffset');\r\n feOffset.setAttribute('dx','25');\r\n feOffset.setAttribute('dy','0');\r\n feOffset.setAttribute('in','drop_shadow_1');\r\n feOffset.setAttribute('result','drop_shadow_2');\r\n this.feOffset = feOffset;\r\n filter.appendChild(feOffset);\r\n var feFlood = createNS('feFlood');\r\n feFlood.setAttribute('flood-color','#00ff00');\r\n feFlood.setAttribute('flood-opacity','1');\r\n feFlood.setAttribute('result','drop_shadow_3');\r\n this.feFlood = feFlood;\r\n filter.appendChild(feFlood);\r\n\r\n var feComposite = createNS('feComposite');\r\n feComposite.setAttribute('in','drop_shadow_3');\r\n feComposite.setAttribute('in2','drop_shadow_2');\r\n feComposite.setAttribute('operator','in');\r\n feComposite.setAttribute('result','drop_shadow_4');\r\n filter.appendChild(feComposite);\r\n\r\n\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in','SourceGraphic');\r\n this.feMergeNode = feMergeNode;\r\n this.feMerge = feMerge;\r\n this.originalNodeAdded = false;\r\n feMerge.appendChild(feMergeNode);\r\n}\r\n\r\nSVGDropShadowEffect.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n if(forceRender || this.filterManager.effectElements[4].p._mdf){\r\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\r\n }\r\n if(forceRender || this.filterManager.effectElements[0].p._mdf){\r\n var col = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)));\r\n }\r\n if(forceRender || this.filterManager.effectElements[1].p._mdf){\r\n this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v/255);\r\n }\r\n if(forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf){\r\n var distance = this.filterManager.effectElements[3].p.v;\r\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\r\n var x = distance * Math.cos(angle);\r\n var y = distance * Math.sin(angle);\r\n this.feOffset.setAttribute('dx', x);\r\n this.feOffset.setAttribute('dy', y);\r\n }\r\n /*if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n }*/\r\n }\r\n};\r\nvar _svgMatteSymbols = [];\r\n\r\nfunction SVGMatte3Effect(filterElem, filterManager, elem){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.filterElem = filterElem;\r\n this.elem = elem;\r\n elem.matteElement = createNS('g');\r\n elem.matteElement.appendChild(elem.layerElement);\r\n elem.matteElement.appendChild(elem.transformedElement);\r\n elem.baseElement = elem.matteElement;\r\n}\r\n\r\nSVGMatte3Effect.prototype.findSymbol = function(mask) {\r\n var i = 0, len = _svgMatteSymbols.length;\r\n while(i < len) {\r\n if(_svgMatteSymbols[i] === mask) {\r\n return _svgMatteSymbols[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nSVGMatte3Effect.prototype.replaceInParent = function(mask, symbolId) {\r\n var parentNode = mask.layerElement.parentNode;\r\n if(!parentNode) {\r\n return;\r\n }\r\n var children = parentNode.children;\r\n var i = 0, len = children.length;\r\n while (i < len) {\r\n if (children[i] === mask.layerElement) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n var nextChild;\r\n if (i <= len - 2) {\r\n nextChild = children[i + 1];\r\n }\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n if(nextChild) {\r\n parentNode.insertBefore(useElem, nextChild);\r\n } else {\r\n parentNode.appendChild(useElem);\r\n }\r\n};\r\n\r\nSVGMatte3Effect.prototype.setElementAsMask = function(elem, mask) {\r\n if(!this.findSymbol(mask)) {\r\n var symbolId = createElementID();\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', mask.layerId);\r\n masker.setAttribute('mask-type', 'alpha');\r\n _svgMatteSymbols.push(mask);\r\n var defs = elem.globalData.defs;\r\n defs.appendChild(masker);\r\n var symbol = createNS('symbol');\r\n symbol.setAttribute('id', symbolId);\r\n this.replaceInParent(mask, symbolId);\r\n symbol.appendChild(mask.layerElement);\r\n defs.appendChild(symbol);\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n masker.appendChild(useElem);\r\n mask.data.hd = false;\r\n mask.show();\r\n }\r\n elem.setMatte(mask.layerId);\r\n};\r\n\r\nSVGMatte3Effect.prototype.initialize = function() {\r\n var ind = this.filterManager.effectElements[0].p.v;\r\n var elements = this.elem.comp.elements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n \tif (elements[i] && elements[i].data.ind === ind) {\r\n \t\tthis.setElementAsMask(this.elem, elements[i]);\r\n \t}\r\n \ti += 1;\r\n }\r\n this.initialized = true;\r\n};\r\n\r\nSVGMatte3Effect.prototype.renderFrame = function() {\r\n\tif(!this.initialized) {\r\n\t\tthis.initialize();\r\n\t}\r\n};\r\nfunction SVGEffects(elem){\r\n var i, len = elem.data.ef ? elem.data.ef.length : 0;\r\n var filId = createElementID();\r\n var fil = filtersFactory.createFilter(filId);\r\n var count = 0;\r\n this.filters = [];\r\n var filterManager;\r\n for(i=0;i canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {\r\n heightCrop = imgH;\r\n widthCrop = heightCrop*canvasRel;\r\n } else {\r\n widthCrop = imgW;\r\n heightCrop = widthCrop/canvasRel;\r\n }\r\n ctx.drawImage(this.img,(imgW-widthCrop)/2,(imgH-heightCrop)/2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);\r\n this.img = canvas;\r\n }\r\n\r\n};\r\n\r\nCVImageElement.prototype.renderInnerContent = function(parentMatrix){\r\n this.canvasContext.drawImage(this.img, 0, 0);\r\n};\r\n\r\nCVImageElement.prototype.destroy = function(){\r\n this.img = null;\r\n};\r\nfunction CVCompElement(data, globalData, comp) {\r\n this.completeLayers = false;\r\n this.layers = data.layers;\r\n this.pendingElements = [];\r\n this.elements = createSizedArray(this.layers.length);\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate, this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\r\n\r\nCVCompElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.data.w, 0);\r\n ctx.lineTo(this.data.w, this.data.h);\r\n ctx.lineTo(0, this.data.h);\r\n ctx.lineTo(0, 0);\r\n ctx.clip();\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nCVCompElement.prototype.destroy = function(){\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.layers = null;\r\n this.elements = null;\r\n};\r\n\r\nfunction CVMaskElement(data,element){\r\n this.data = data;\r\n this.element = element;\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i, len = this.masksProperties.length, hasMasks = false;\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n hasMasks = true;\r\n }\r\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3);\r\n }\r\n this.hasMasks = hasMasks;\r\n if(hasMasks) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nCVMaskElement.prototype.renderFrame = function () {\r\n if(!this.hasMasks){\r\n return;\r\n }\r\n var transform = this.element.finalTransform.mat;\r\n var ctx = this.element.canvasContext;\r\n var i, len = this.masksProperties.length;\r\n var pt,pts,data;\r\n ctx.beginPath();\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if (this.masksProperties[i].inv) {\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, 0);\r\n }\r\n data = this.viewData[i].v;\r\n pt = transform.applyToPointArray(data.v[0][0],data.v[0][1],0);\r\n ctx.moveTo(pt[0], pt[1]);\r\n var j, jLen = data._length;\r\n for (j = 1; j < jLen; j++) {\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n }\r\n this.element.globalData.renderer.save(true);\r\n ctx.clip();\r\n};\r\n\r\nCVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\r\n\r\nCVMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n};\r\nfunction CVShapeElement(data, globalData, comp) {\r\n this.shapes = [];\r\n this.shapesData = data.shapes;\r\n this.stylesList = [];\r\n this.itemsData = [];\r\n this.prevViewData = [];\r\n this.shapeModifiers = [];\r\n this.processedElements = [];\r\n this.transformsManager = new ShapeTransformManager();\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement], CVShapeElement);\r\n\r\nCVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\r\n\r\nCVShapeElement.prototype.transformHelper = {opacity:1,_opMdf:false};\r\n\r\nCVShapeElement.prototype.dashResetter = [];\r\n\r\nCVShapeElement.prototype.createContent = function(){\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n};\r\n\r\nCVShapeElement.prototype.createStyleElement = function(data, transforms) {\r\n var styleElem = {\r\n data: data,\r\n type: data.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(transforms),\r\n transforms: [],\r\n elements: [],\r\n closed: data.hd === true\r\n };\r\n var elementData = {};\r\n if(data.ty == 'fl' || data.ty == 'st'){\r\n elementData.c = PropertyFactory.getProp(this,data.c,1,255,this);\r\n if(!elementData.c.k){\r\n styleElem.co = 'rgb('+bm_floor(elementData.c.v[0])+','+bm_floor(elementData.c.v[1])+','+bm_floor(elementData.c.v[2])+')';\r\n }\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n elementData.s = PropertyFactory.getProp(this,data.s,1,null,this);\r\n elementData.e = PropertyFactory.getProp(this,data.e,1,null,this);\r\n elementData.h = PropertyFactory.getProp(this,data.h||{k:0},0,0.01,this);\r\n elementData.a = PropertyFactory.getProp(this,data.a||{k:0},0,degToRads,this);\r\n elementData.g = new GradientProperty(this,data.g,this);\r\n }\r\n elementData.o = PropertyFactory.getProp(this,data.o,0,0.01,this);\r\n if(data.ty == 'st' || data.ty == 'gs') {\r\n styleElem.lc = this.lcEnum[data.lc] || 'round';\r\n styleElem.lj = this.ljEnum[data.lj] || 'round';\r\n if(data.lj == 1) {\r\n styleElem.ml = data.ml;\r\n }\r\n elementData.w = PropertyFactory.getProp(this,data.w,0,null,this);\r\n if(!elementData.w.k){\r\n styleElem.wi = elementData.w.v;\r\n }\r\n if(data.d){\r\n var d = new DashProperty(this,data.d,'canvas', this);\r\n elementData.d = d;\r\n if(!elementData.d.k){\r\n styleElem.da = elementData.d.dashArray;\r\n styleElem.do = elementData.d.dashoffset[0];\r\n }\r\n }\r\n } else {\r\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\r\n }\r\n this.stylesList.push(styleElem);\r\n elementData.style = styleElem;\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = {\r\n it: [],\r\n prevViewData: []\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createTransformElement = function(data) {\r\n var elementData = {\r\n transform : {\r\n opacity: 1,\r\n _opMdf:false,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this,data.o,0,0.01,this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this,data,this)\r\n }\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createShapeElement = function(data) {\r\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\r\n \r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.reloadShapes = function() {\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n};\r\n\r\nCVShapeElement.prototype.addTransformToStyleList = function(transform) {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.push(transform);\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.removeTransformFromStyleList = function() {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.pop();\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.closeStyles = function(styles) {\r\n var i, len = styles.length, j, jLen;\r\n for (i = 0; i < len; i += 1) {\r\n styles[i].closed = true;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.searchShapes = function(arr,itemsData, prevViewData, shouldRender, transforms){\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], processedPos, modifier, currentTransform;\r\n var ownTransforms = [].concat(transforms);\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._shouldRender = shouldRender;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st'|| arr[i].ty == 'gf'|| arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n \r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j=0;i-=1){\r\n if(items[i].ty == 'tr'){\r\n groupTransform = data[i].transform;\r\n this.renderShapeTransform(parentTransform, groupTransform);\r\n }else if(items[i].ty == 'sh' || items[i].ty == 'el' || items[i].ty == 'rc' || items[i].ty == 'sr'){\r\n this.renderPath(items[i],data[i]);\r\n }else if(items[i].ty == 'fl'){\r\n this.renderFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'st'){\r\n this.renderStroke(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gf' || items[i].ty == 'gs'){\r\n this.renderGradientFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gr'){\r\n this.renderShape(groupTransform,items[i].it,data[i].it);\r\n }else if(items[i].ty == 'tm'){\r\n //\r\n }\r\n }\r\n if(isMain){\r\n this.drawLayer();\r\n }\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStyledShape = function(styledShape, shape){\r\n if(this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\r\n var shapeNodes = styledShape.trNodes;\r\n var paths = shape.paths;\r\n var i, len, j, jLen = paths._length;\r\n shapeNodes.length = 0;\r\n var groupTransformMat = styledShape.transforms.finalTransform;\r\n for (j = 0; j < jLen; j += 1) {\r\n var pathNodes = paths.shapes[j];\r\n if(pathNodes && pathNodes.v){\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\n if (i === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\r\n });\r\n }\r\n if (len === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n if (pathNodes.c && len) {\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\r\n });\r\n shapeNodes.push({\r\n t: 'z'\r\n });\r\n }\r\n }\r\n }\r\n styledShape.trNodes = shapeNodes;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.renderPath = function(pathData,itemData){\r\n if(pathData.hd !== true && pathData._shouldRender) {\r\n var i, len = itemData.styledShapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb(' \r\n + bm_floor(itemData.c.v[0]) + ',' \r\n + bm_floor(itemData.c.v[1]) + ',' \r\n + bm_floor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderGradientFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n if(!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {\r\n var ctx = this.globalData.canvasContext;\r\n var grd;\r\n var pt1 = itemData.s.v, pt2 = itemData.e.v;\r\n if (styleData.t === 1) {\r\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\r\n } else {\r\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n var grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\r\n }\r\n\r\n var i, len = styleData.g.p;\r\n var cValues = itemData.g.c;\r\n var opacity = 1;\r\n\r\n for (i = 0; i < len; i += 1){\r\n if(itemData.g._hasOpacity && itemData.g._collapsable) {\r\n opacity = itemData.g.o[i*2 + 1];\r\n }\r\n grd.addColorStop(cValues[i * 4] / 100,'rgba('+ cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ','+cValues[i * 4 + 3] + ',' + opacity + ')');\r\n }\r\n styleElem.grd = grd;\r\n }\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStroke = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if(d && (d._mdf || this._isFirstFrame)){\r\n styleElem.da = d.dashArray;\r\n styleElem.do = d.dashoffset[0];\r\n }\r\n if(itemData.c._mdf || this._isFirstFrame){\r\n styleElem.co = 'rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')';\r\n }\r\n if(itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame){\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n }\r\n if(itemData.w._mdf || this._isFirstFrame){\r\n styleElem.wi = itemData.w.v;\r\n }\r\n};\r\n\r\n\r\nCVShapeElement.prototype.destroy = function(){\r\n this.shapesData = null;\r\n this.globalData = null;\r\n this.canvasContext = null;\r\n this.stylesList.length = 0;\r\n this.itemsData.length = 0;\r\n};\r\n\r\n\r\nfunction CVSolidElement(data, globalData, comp) {\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\r\n\r\nCVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVSolidElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.fillStyle = this.data.sc;\r\n ctx.fillRect(0, 0, this.data.sw, this.data.sh);\r\n //\r\n};\r\nfunction CVTextElement(data, globalData, comp){\r\n this.textSpans = [];\r\n this.yOffset = 0;\r\n this.fillColorAnim = false;\r\n this.strokeColorAnim = false;\r\n this.strokeWidthAnim = false;\r\n this.stroke = false;\r\n this.fill = false;\r\n this.justifyOffset = 0;\r\n this.currentRender = null;\r\n this.renderType = 'canvas';\r\n this.values = {\r\n fill: 'rgba(0,0,0,0)',\r\n stroke: 'rgba(0,0,0,0)',\r\n sWidth: 0,\r\n fValue: ''\r\n };\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement], CVTextElement);\r\n\r\nCVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\r\n\r\nCVTextElement.prototype.buildNewText = function(){\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n\r\n var hasFill = false;\r\n if(documentData.fc) {\r\n hasFill = true;\r\n this.values.fill = this.buildColor(documentData.fc);\r\n }else{\r\n this.values.fill = 'rgba(0,0,0,0)';\r\n }\r\n this.fill = hasFill;\r\n var hasStroke = false;\r\n if(documentData.sc){\r\n hasStroke = true;\r\n this.values.stroke = this.buildColor(documentData.sc);\r\n this.values.sWidth = documentData.sw;\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n var i, len;\r\n var letters = documentData.l;\r\n var matrixHelper = this.mHelper;\r\n this.stroke = hasStroke;\r\n this.values.fValue = documentData.finalSize + 'px '+ this.globalData.fontManager.getFontByName(documentData.f).fFamily;\r\n len = documentData.finalText.length;\r\n //this.tHelper.font = this.values.fValue;\r\n var charData, shapeData, k, kLen, shapes, j, jLen, pathNodes, commands, pathArr, singleShape = this.data.singleShape;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n matrixHelper.reset();\r\n if(singleShape && letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n jLen = shapes.length;\r\n matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);\r\n if(singleShape){\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n }\r\n commands = createSizedArray(jLen);\r\n for(j=0;j