diff --git a/examples/embed-and-fullscreen/.babelrc b/examples/embed-and-fullscreen/.babelrc new file mode 100644 index 00000000..8df53fe4 --- /dev/null +++ b/examples/embed-and-fullscreen/.babelrc @@ -0,0 +1,3 @@ +{ +"presets": ["react-native"] +} \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.buckconfig b/examples/embed-and-fullscreen/.buckconfig new file mode 100644 index 00000000..934256cb --- /dev/null +++ b/examples/embed-and-fullscreen/.buckconfig @@ -0,0 +1,6 @@ + +[android] + target = Google Inc.:Google APIs:23 + +[maven_repositories] + central = https://repo1.maven.org/maven2 diff --git a/examples/embed-and-fullscreen/.flowconfig b/examples/embed-and-fullscreen/.flowconfig new file mode 100644 index 00000000..bb65654d --- /dev/null +++ b/examples/embed-and-fullscreen/.flowconfig @@ -0,0 +1,58 @@ +[ignore] +; We fork some components by platform +.*/*[.]android.js + +# We fork some components by platform. +.*/*[.]android.js + +# Ignore templates with `@flow` in header +.*/local-cli/generator.* + +# Ignore malformed json +.*/node_modules/y18n/test/.*\.json + +# Ignore the website subdir +/website/.* + +# Ignore BUCK generated dirs + +/\.buckd/ + +; Ignore unexpected extra "@providesModule" +.*/node_modules/.*/node_modules/fbjs/.* + +; Ignore duplicate module providers +; For RN Apps installed via npm, "Libraries" folder is inside +; "node_modules/react-native" but in the source repo it is in the root +.*/Libraries/react-native/React.js +.*/Libraries/react-native/ReactNative.js + +[include] + +[libs] +node_modules/react-native/Libraries/react-native/react-native-interface.js +node_modules/react-native/flow +flow/ + +[options] +module.system=haste + +experimental.strict_type_args=true + +munge_underscores=true + +module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FixMe + +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-6]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-6]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy + +unsafe.enable_getters_and_setters=true + +[version] + +^0.36.0 diff --git a/examples/embed-and-fullscreen/.gitattributes b/examples/embed-and-fullscreen/.gitattributes new file mode 100644 index 00000000..d42ff183 --- /dev/null +++ b/examples/embed-and-fullscreen/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text diff --git a/examples/embed-and-fullscreen/.gitignore b/examples/embed-and-fullscreen/.gitignore new file mode 100644 index 00000000..fc13f169 --- /dev/null +++ b/examples/embed-and-fullscreen/.gitignore @@ -0,0 +1,53 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml + +# node.js +# +node_modules/ +npm-debug.log + +# BUCK +buck-out/ +\.buckd/ +android/app/libs +*.keystore + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots diff --git a/examples/embed-and-fullscreen/.vscode/.react/debuggerWorker.js b/examples/embed-and-fullscreen/.vscode/.react/debuggerWorker.js new file mode 100644 index 00000000..52e9b5cf --- /dev/null +++ b/examples/embed-and-fullscreen/.vscode/.react/debuggerWorker.js @@ -0,0 +1,144 @@ + +// Initialize some variables before react-native code would access them +var onmessage=null, self=global; +// Cache Node's original require as __debug__.require +global.__debug__={require: require}; +// avoid Node's GLOBAL deprecation warning +Object.defineProperty(global, "GLOBAL", { + configurable: true, + writable: true, + enumerable: true, + value: global +}); +// Prevent leaking process.versions from debugger process to +// worker because pure React Native doesn't do that and some packages as js-md5 rely on this behavior +Object.defineProperty(process, "versions", { + value: undefined +}); +var vscodeHandlers = { + 'vscode_reloadApp': function () { + try { + global.require('NativeModules').DevMenu.reload(); + } catch (err) { + // ignore + } + }, + 'vscode_showDevMenu': function () { + try { + var DevMenu = global.require('NativeModules').DevMenu.show(); + } catch (err) { + // ignore + } + } +}; +process.on("message", function (message) { + if (message.data && vscodeHandlers[message.data.method]) { + vscodeHandlers[message.data.method](); + } else if(onmessage) { + onmessage(message); + } +}); +var postMessage = function(message){ + process.send(message); +}; +if (!self.postMessage) { + self.postMessage = postMessage; +} +var importScripts = (function(){ + var fs=require('fs'), vm=require('vm'); + return function(scriptUrl){ + var scriptCode = fs.readFileSync(scriptUrl, "utf8"); + vm.runInThisContext(scriptCode, {filename: scriptUrl}); + }; +})(); + +/** + * Copyright (c) 2015-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +/* global __fbBatchedBridge, self, importScripts, postMessage, onmessage: true */ +/* eslint no-unused-vars: 0 */ + +'use strict'; + +onmessage = (function() { + var visibilityState; + var showVisibilityWarning = (function() { + var hasWarned = false; + return function() { + // Wait until `YellowBox` gets initialized before displaying the warning. + if (hasWarned || console.warn.toString().includes('[native code]')) { + return; + } + hasWarned = true; + console.warn( + 'Remote debugger is in a background tab which may cause apps to ' + + 'perform slowly. Fix this by foregrounding the tab (or opening it in ' + + 'a separate window).', + ); + }; + })(); + + var messageHandlers = { + executeApplicationScript: function(message, sendReply) { + for (var key in message.inject) { + self[key] = JSON.parse(message.inject[key]); + } + var error; + try { + importScripts(message.url); + } catch (err) { + error = err.message; + } + sendReply(null /* result */, error); + }, + setDebuggerVisibility: function(message) { + visibilityState = message.visibilityState; + }, + }; + + return function(message) { + if (visibilityState === 'hidden') { + showVisibilityWarning(); + } + + var object = message.data; + + var sendReply = function(result, error) { + postMessage({replyID: object.id, result: result, error: error}); + }; + + var handler = messageHandlers[object.method]; + if (handler) { + // Special cased handlers + handler(object, sendReply); + } else { + // Other methods get called on the bridge + var returnValue = [[], [], [], 0]; + var error; + try { + if (typeof __fbBatchedBridge === 'object') { + returnValue = __fbBatchedBridge[object.method].apply( + null, + object.arguments, + ); + } else { + error = 'Failed to call function, __fbBatchedBridge is undefined'; + } + } catch (err) { + error = err.message; + } finally { + sendReply(JSON.stringify(returnValue), error); + } + } + }; +})(); + +// Notify debugger that we're done with loading +// and started listening for IPC messages +postMessage({workerLoaded:true}); \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.vscode/.react/index.ios.bundle b/examples/embed-and-fullscreen/.vscode/.react/index.ios.bundle new file mode 100644 index 00000000..88275cfe --- /dev/null +++ b/examples/embed-and-fullscreen/.vscode/.react/index.ios.bundle @@ -0,0 +1,80702 @@ +var __DEV__=true,__BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),process=this.process||{};process.env=process.env||{};process.env.NODE_ENV="development"; +(function (global) { + 'use strict'; + + var PRINT_REQUIRE_PATHS = false; + global.require = metroRequire; + global.__d = define; + var modules = typeof __NUM_MODULES__ === 'number' ? Array(__NUM_MODULES__ | 0) : Object.create(null); + + if (__DEV__) { + var verboseNamesToModuleIds = Object.create(null); + } + + function define(factory, moduleId, dependencyMap) { + if (modules[moduleId] != null) { + if (__DEV__) { + var inverseDependencies = arguments[4]; + + if (inverseDependencies) { + global.__accept(moduleId, factory, dependencyMap, inverseDependencies); + } else { + console.warn("Trying to define twice module ID " + moduleId + " in the same bundle"); + } + } + + return; + } + + modules[moduleId] = { + dependencyMap: dependencyMap, + exports: undefined, + factory: factory, + hasError: false, + isInitialized: false + }; + + if (PRINT_REQUIRE_PATHS) { + var path = arguments[4]; + + if (path) { + modules[moduleId].path = path; + } else { + throw new Error('path not set on module with PRINT_REQUIRE_PATHS true. Make sure ' + 'PASS_MODULE_PATHS_TO_DEFINE is true and restart Metro or rebuild bundle'); + } + } + + if (__DEV__) { + modules[moduleId].hot = createHotReloadingObject(); + var verboseName = arguments[3]; + + if (verboseName) { + modules[moduleId].verboseName = verboseName; + verboseNamesToModuleIds[verboseName] = moduleId; + } + } + } + + function metroRequire(moduleId) { + if (__DEV__ && typeof moduleId === 'string') { + var verboseName = moduleId; + moduleId = verboseNamesToModuleIds[verboseName]; + + if (moduleId == null) { + throw new Error("Unknown named module: '" + verboseName + "'"); + } else { + console.warn("Requiring module '" + verboseName + "' by name is only supported for " + 'debugging purposes and will BREAK IN PRODUCTION!'); + } + } + + var moduleIdReallyIsNumber = moduleId; + var module = modules[moduleIdReallyIsNumber]; + return module && module.isInitialized ? module.exports : guardedLoadModule(moduleIdReallyIsNumber, module); + } + + var inGuard = false; + + function guardedLoadModule(moduleId, module) { + if (!inGuard && global.ErrorUtils) { + inGuard = true; + var returnValue; + + try { + returnValue = loadModuleImplementation(moduleId, module); + } catch (e) { + global.ErrorUtils.reportFatalError(e); + } + + inGuard = false; + return returnValue; + } else { + return loadModuleImplementation(moduleId, module); + } + } + + var ID_MASK_SHIFT = 16; + var LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT; + + function unpackModuleId(moduleId) { + var segmentId = moduleId >>> ID_MASK_SHIFT; + var localId = moduleId & LOCAL_ID_MASK; + return { + segmentId: segmentId, + localId: localId + }; + } + + metroRequire.unpackModuleId = unpackModuleId; + + function packModuleId(value) { + return value.segmentId << ID_MASK_SHIFT + value.localId; + } + + metroRequire.packModuleId = packModuleId; + + function loadModuleImplementation(moduleId, module) { + var nativeRequire = global.nativeRequire; + + if (!module && nativeRequire) { + var _unpackModuleId = unpackModuleId(moduleId); + + var segmentId = _unpackModuleId.segmentId, + localId = _unpackModuleId.localId; + nativeRequire(localId, segmentId); + module = modules[moduleId]; + } + + if (!module) { + throw unknownModuleError(moduleId); + } + + if (module.hasError) { + throw moduleThrewError(moduleId, module.error); + } + + if (__DEV__) { + var Systrace = metroRequire.Systrace; + } + + module.isInitialized = true; + var exports = module.exports = {}; + var _module = module; + var factory = _module.factory, + dependencyMap = _module.dependencyMap; + + try { + if (PRINT_REQUIRE_PATHS) { + console.log("require file path " + (module.path || 'unknown')); + } + + if (__DEV__) { + Systrace.beginEvent('JS_require_' + (module.verboseName || moduleId)); + } + + var moduleObject = { + exports: exports + }; + + if (__DEV__ && module.hot) { + moduleObject.hot = module.hot; + } + + factory(global, metroRequire, moduleObject, exports, dependencyMap); + + if (!__DEV__) { + module.factory = undefined; + module.dependencyMap = undefined; + } + + if (__DEV__) { + Systrace.endEvent(); + } + + return module.exports = moduleObject.exports; + } catch (e) { + module.hasError = true; + module.error = e; + module.isInitialized = false; + module.exports = undefined; + throw e; + } + } + + function unknownModuleError(id) { + var message = 'Requiring unknown module "' + id + '".'; + + if (__DEV__) { + message += 'If you are sure the module is there, try restarting Metro Bundler. ' + 'You may also want to run `yarn`, or `npm install` (depending on your environment).'; + } + + return Error(message); + } + + function moduleThrewError(id, error) { + var displayName = __DEV__ && modules[id] && modules[id].verboseName || id; + return Error('Requiring module "' + displayName + '", which threw an exception: ' + error); + } + + if (__DEV__) { + metroRequire.Systrace = { + beginEvent: function beginEvent() {}, + endEvent: function endEvent() {} + }; + + metroRequire.getModules = function () { + return modules; + }; + + var createHotReloadingObject = function createHotReloadingObject() { + var hot = { + acceptCallback: null, + accept: function accept(callback) { + hot.acceptCallback = callback; + }, + disposeCallback: null, + dispose: function dispose(callback) { + hot.disposeCallback = callback; + } + }; + return hot; + }; + + var metroAcceptAll = function metroAcceptAll(dependentModules, inverseDependencies, patchedModules) { + if (!dependentModules || dependentModules.length === 0) { + return true; + } + + var notAccepted = dependentModules.filter(function (module) { + return !metroAccept(module, undefined, undefined, inverseDependencies, patchedModules); + }); + var parents = []; + + for (var i = 0; i < notAccepted.length; i++) { + if (inverseDependencies[notAccepted[i]].length === 0) { + return false; + } + + parents.push.apply(parents, inverseDependencies[notAccepted[i]]); + } + + return parents.length == 0; + }; + + var metroAccept = function metroAccept(id, factory, dependencyMap, inverseDependencies) { + var patchedModules = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; + + if (id in patchedModules) { + return true; + } + + patchedModules[id] = true; + var mod = modules[id]; + + if (!mod && factory) { + return true; + } + + var hot = mod.hot; + + if (!hot) { + console.warn('Cannot accept module because Hot Module Replacement ' + 'API was not installed.'); + return false; + } + + if (hot.disposeCallback) { + try { + hot.disposeCallback(); + } catch (error) { + console.error("Error while calling dispose handler for module " + id + ": ", error); + } + } + + if (factory) { + mod.factory = factory; + } + + if (dependencyMap) { + mod.dependencyMap = dependencyMap; + } + + mod.hasError = false; + mod.isInitialized = false; + metroRequire(id); + + if (hot.acceptCallback) { + try { + hot.acceptCallback(); + return true; + } catch (error) { + console.error("Error while calling accept handler for module " + id + ": ", error); + } + } + + if (!inverseDependencies) { + throw new Error('Undefined `inverseDependencies`'); + } + + return metroAcceptAll(inverseDependencies[id], inverseDependencies, patchedModules); + }; + + global.__accept = metroAccept; + } +})(this); +(function (global) { + Object.assign = function (target, sources) { + if (__DEV__) { + if (target == null) { + throw new TypeError('Object.assign target cannot be null or undefined'); + } + + if (typeof target !== 'object' && typeof target !== 'function') { + throw new TypeError('In this environment the target of assign MUST be an object. ' + 'This error is a performance optimization and not spec compliant.'); + } + } + + for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) { + var nextSource = arguments[nextIndex]; + + if (nextSource == null) { + continue; + } + + if (__DEV__) { + if (typeof nextSource !== 'object' && typeof nextSource !== 'function') { + throw new TypeError('In this environment the sources for assign MUST be an object. ' + 'This error is a performance optimization and not spec compliant.'); + } + } + + for (var key in nextSource) { + if (__DEV__) { + var hasOwnProperty = Object.prototype.hasOwnProperty; + + if (!hasOwnProperty.call(nextSource, key)) { + throw new TypeError('One of the sources for assign has an enumerable key on the ' + 'prototype chain. Are you trying to assign a prototype property? ' + "We don't allow it, as this is an edge case that we do not support. " + 'This error is a performance optimization and not spec compliant.'); + } + } + + target[key] = nextSource[key]; + } + } + + return target; + }; +})(this); +(function (global) { + var inspect = function () { + function inspect(obj, opts) { + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + return formatValue(ctx, obj, opts.depth); + } + + function stylizeNoColor(str, styleType) { + return str; + } + + function arrayToHash(array) { + var hash = {}; + array.forEach(function (val, idx) { + hash[val] = true; + }); + return hash; + } + + function formatValue(ctx, value, recurseTimes) { + var primitive = formatPrimitive(ctx, value); + + if (primitive) { + return primitive; + } + + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + + if (isError(value)) { + return formatError(value); + } + } + + var base = '', + array = false, + braces = ['{', '}']; + + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + var output; + + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function (key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + return reduceToSingleString(output, base, braces); + } + + function formatPrimitive(ctx, value) { + if (isUndefined(value)) return ctx.stylize('undefined', 'undefined'); + + if (isString(value)) { + var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return ctx.stylize(simple, 'string'); + } + + if (isNumber(value)) return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); + if (isNull(value)) return ctx.stylize('null', 'null'); + } + + function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; + } + + function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)); + } else { + output.push(''); + } + } + + keys.forEach(function (key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)); + } + }); + return output; + } + + function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { + value: value[key] + }; + + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function (line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function (line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + + name = JSON.stringify('' + key); + + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; + } + + function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function (prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; + } + + function isArray(ar) { + return Array.isArray(ar); + } + + function isBoolean(arg) { + return typeof arg === 'boolean'; + } + + function isNull(arg) { + return arg === null; + } + + function isNullOrUndefined(arg) { + return arg == null; + } + + function isNumber(arg) { + return typeof arg === 'number'; + } + + function isString(arg) { + return typeof arg === 'string'; + } + + function isSymbol(arg) { + return typeof arg === 'symbol'; + } + + function isUndefined(arg) { + return arg === void 0; + } + + function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; + } + + function isObject(arg) { + return typeof arg === 'object' && arg !== null; + } + + function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; + } + + function isError(e) { + return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error); + } + + function isFunction(arg) { + return typeof arg === 'function'; + } + + function isPrimitive(arg) { + return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || typeof arg === 'undefined'; + } + + function objectToString(o) { + return Object.prototype.toString.call(o); + } + + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } + + return inspect; + }(); + + var OBJECT_COLUMN_NAME = '(index)'; + var LOG_LEVELS = { + trace: 0, + info: 1, + warn: 2, + error: 3 + }; + var INSPECTOR_LEVELS = []; + INSPECTOR_LEVELS[LOG_LEVELS.trace] = 'debug'; + INSPECTOR_LEVELS[LOG_LEVELS.info] = 'log'; + INSPECTOR_LEVELS[LOG_LEVELS.warn] = 'warning'; + INSPECTOR_LEVELS[LOG_LEVELS.error] = 'error'; + var INSPECTOR_FRAMES_TO_SKIP = __DEV__ ? 2 : 1; + + function getNativeLogFunction(level) { + return function () { + var str; + + if (arguments.length === 1 && typeof arguments[0] === 'string') { + str = arguments[0]; + } else { + str = Array.prototype.map.call(arguments, function (arg) { + return inspect(arg, { + depth: 10 + }); + }).join(', '); + } + + var logLevel = level; + + if (str.slice(0, 9) === 'Warning: ' && logLevel >= LOG_LEVELS.error) { + logLevel = LOG_LEVELS.warn; + } + + if (global.__inspectorLog) { + global.__inspectorLog(INSPECTOR_LEVELS[logLevel], str, [].slice.call(arguments), INSPECTOR_FRAMES_TO_SKIP); + } + + global.nativeLoggingHook(str, logLevel); + }; + } + + function repeat(element, n) { + return Array.apply(null, Array(n)).map(function () { + return element; + }); + } + + function consoleTablePolyfill(rows) { + if (!Array.isArray(rows)) { + var data = rows; + rows = []; + + for (var key in data) { + if (data.hasOwnProperty(key)) { + var row = data[key]; + row[OBJECT_COLUMN_NAME] = key; + rows.push(row); + } + } + } + + if (rows.length === 0) { + global.nativeLoggingHook('', LOG_LEVELS.info); + return; + } + + var columns = Object.keys(rows[0]).sort(); + var stringRows = []; + var columnWidths = []; + columns.forEach(function (k, i) { + columnWidths[i] = k.length; + + for (var j = 0; j < rows.length; j++) { + var cellStr = (rows[j][k] || '?').toString(); + stringRows[j] = stringRows[j] || []; + stringRows[j][i] = cellStr; + columnWidths[i] = Math.max(columnWidths[i], cellStr.length); + } + }); + + function joinRow(row, space) { + var cells = row.map(function (cell, i) { + var extraSpaces = repeat(' ', columnWidths[i] - cell.length).join(''); + return cell + extraSpaces; + }); + space = space || ' '; + return cells.join(space + '|' + space); + } + + var separators = columnWidths.map(function (columnWidth) { + return repeat('-', columnWidth).join(''); + }); + var separatorRow = joinRow(separators, '-'); + var header = joinRow(columns); + var table = [header, separatorRow]; + + for (var i = 0; i < rows.length; i++) { + table.push(joinRow(stringRows[i])); + } + + global.nativeLoggingHook('\n' + table.join('\n'), LOG_LEVELS.info); + } + + if (global.nativeLoggingHook) { + var originalConsole = global.console; + global.console = { + error: getNativeLogFunction(LOG_LEVELS.error), + info: getNativeLogFunction(LOG_LEVELS.info), + log: getNativeLogFunction(LOG_LEVELS.info), + warn: getNativeLogFunction(LOG_LEVELS.warn), + trace: getNativeLogFunction(LOG_LEVELS.trace), + debug: getNativeLogFunction(LOG_LEVELS.trace), + table: consoleTablePolyfill + }; + + if (__DEV__ && originalConsole) { + var descriptor = Object.getOwnPropertyDescriptor(global, 'console'); + + if (descriptor) { + Object.defineProperty(global, 'originalConsole', descriptor); + } + + Object.keys(console).forEach(function (methodName) { + var reactNativeMethod = console[methodName]; + + if (originalConsole[methodName]) { + console[methodName] = function () { + originalConsole[methodName].apply(originalConsole, arguments); + reactNativeMethod.apply(console, arguments); + }; + } + }); + } + } else if (!global.console) { + var log = global.print || function consoleLoggingStub() {}; + + global.console = { + error: log, + info: log, + log: log, + warn: log, + trace: log, + debug: log, + table: log + }; + } +})(this); +(function (global) { + var _inGuard = 0; + + var _globalHandler = function onError(e) { + throw e; + }; + + var ErrorUtils = { + setGlobalHandler: function setGlobalHandler(fun) { + _globalHandler = fun; + }, + getGlobalHandler: function getGlobalHandler() { + return _globalHandler; + }, + reportError: function reportError(error) { + _globalHandler && _globalHandler(error); + }, + reportFatalError: function reportFatalError(error) { + _globalHandler && _globalHandler(error, true); + }, + applyWithGuard: function applyWithGuard(fun, context, args) { + try { + _inGuard++; + return fun.apply(context, args); + } catch (e) { + ErrorUtils.reportError(e); + } finally { + _inGuard--; + } + + return null; + }, + applyWithGuardIfNeeded: function applyWithGuardIfNeeded(fun, context, args) { + if (ErrorUtils.inGuard()) { + return fun.apply(context, args); + } else { + ErrorUtils.applyWithGuard(fun, context, args); + } + + return null; + }, + inGuard: function inGuard() { + return _inGuard; + }, + guard: function guard(fun, name, context) { + if (typeof fun !== 'function') { + console.warn('A function must be passed to ErrorUtils.guard, got ', fun); + return null; + } + + name = name || fun.name || ''; + + function guarded() { + return ErrorUtils.applyWithGuard(fun, context || this, arguments, null, name); + } + + return guarded; + } + }; + global.ErrorUtils = ErrorUtils; +})(this); +(function (global) { + if (Number.EPSILON === undefined) { + Object.defineProperty(Number, 'EPSILON', { + value: Math.pow(2, -52) + }); + } + + if (Number.MAX_SAFE_INTEGER === undefined) { + Object.defineProperty(Number, 'MAX_SAFE_INTEGER', { + value: Math.pow(2, 53) - 1 + }); + } + + if (Number.MIN_SAFE_INTEGER === undefined) { + Object.defineProperty(Number, 'MIN_SAFE_INTEGER', { + value: -(Math.pow(2, 53) - 1) + }); + } + + if (!Number.isNaN) { + var globalIsNaN = global.isNaN; + Object.defineProperty(Number, 'isNaN', { + configurable: true, + enumerable: false, + value: function isNaN(value) { + return typeof value === 'number' && globalIsNaN(value); + }, + writable: true + }); + } +})(this); +(function (global) { + if (!String.prototype.startsWith) { + String.prototype.startsWith = function (search) { + 'use strict'; + + if (this == null) { + throw TypeError(); + } + + var string = String(this); + var pos = arguments.length > 1 ? Number(arguments[1]) || 0 : 0; + var start = Math.min(Math.max(pos, 0), string.length); + return string.indexOf(String(search), pos) === start; + }; + } + + if (!String.prototype.endsWith) { + String.prototype.endsWith = function (search) { + 'use strict'; + + if (this == null) { + throw TypeError(); + } + + var string = String(this); + var stringLength = string.length; + var searchString = String(search); + var pos = arguments.length > 1 ? Number(arguments[1]) || 0 : stringLength; + var end = Math.min(Math.max(pos, 0), stringLength); + var start = end - searchString.length; + + if (start < 0) { + return false; + } + + return string.lastIndexOf(searchString, start) === start; + }; + } + + if (!String.prototype.repeat) { + String.prototype.repeat = function (count) { + 'use strict'; + + if (this == null) { + throw TypeError(); + } + + var string = String(this); + count = Number(count) || 0; + + if (count < 0 || count === Infinity) { + throw RangeError(); + } + + if (count === 1) { + return string; + } + + var result = ''; + + while (count) { + if (count & 1) { + result += string; + } + + if (count >>= 1) { + string += string; + } + } + + return result; + }; + } + + if (!String.prototype.includes) { + String.prototype.includes = function (search, start) { + 'use strict'; + + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > this.length) { + return false; + } else { + return this.indexOf(search, start) !== -1; + } + }; + } + + if (!String.prototype.codePointAt) { + String.prototype.codePointAt = function (position) { + if (this == null) { + throw TypeError(); + } + + var string = String(this); + var size = string.length; + var index = position ? Number(position) : 0; + + if (Number.isNaN(index)) { + index = 0; + } + + if (index < 0 || index >= size) { + return undefined; + } + + var first = string.charCodeAt(index); + var second; + + if (first >= 0xd800 && first <= 0xdbff && size > index + 1) { + second = string.charCodeAt(index + 1); + + if (second >= 0xdc00 && second <= 0xdfff) { + return (first - 0xd800) * 0x400 + second - 0xdc00 + 0x10000; + } + } + + return first; + }; + } +})(this); +(function (global) { + function findIndex(predicate, context) { + if (this == null) { + throw new TypeError('Array.prototype.findIndex called on null or undefined'); + } + + if (typeof predicate !== 'function') { + throw new TypeError('predicate must be a function'); + } + + var list = Object(this); + var length = list.length >>> 0; + + for (var i = 0; i < length; i++) { + if (predicate.call(context, list[i], i, list)) { + return i; + } + } + + return -1; + } + + if (!Array.prototype.findIndex) { + Object.defineProperty(Array.prototype, 'findIndex', { + enumerable: false, + writable: true, + configurable: true, + value: findIndex + }); + } + + if (!Array.prototype.find) { + Object.defineProperty(Array.prototype, 'find', { + enumerable: false, + writable: true, + configurable: true, + value: function value(predicate, context) { + if (this == null) { + throw new TypeError('Array.prototype.find called on null or undefined'); + } + + var index = findIndex.call(this, predicate, context); + return index === -1 ? undefined : this[index]; + } + }); + } + + if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, 'includes', { + enumerable: false, + writable: true, + configurable: true, + value: function value(searchElement) { + var O = Object(this); + var len = parseInt(O.length) || 0; + + if (len === 0) { + return false; + } + + var n = parseInt(arguments[1]) || 0; + var k; + + if (n >= 0) { + k = n; + } else { + k = len + n; + + if (k < 0) { + k = 0; + } + } + + var currentElement; + + while (k < len) { + currentElement = O[k]; + + if (searchElement === currentElement || searchElement !== searchElement && currentElement !== currentElement) { + return true; + } + + k++; + } + + return false; + } + }); + } +})(this); +(function (global) { + if (!Array.from) { + Array.from = function (arrayLike) { + if (arrayLike == null) { + throw new TypeError('Object is null or undefined'); + } + + var mapFn = arguments[1]; + var thisArg = arguments[2]; + var C = this; + var items = Object(arrayLike); + var symbolIterator = typeof Symbol === 'function' ? typeof Symbol === "function" ? Symbol.iterator : "@@iterator" : '@@iterator'; + var mapping = typeof mapFn === 'function'; + var usingIterator = typeof items[symbolIterator] === 'function'; + var key = 0; + var ret; + var value; + + if (usingIterator) { + ret = typeof C === 'function' ? new C() : []; + var it = items[symbolIterator](); + var next; + + while (!(next = it.next()).done) { + value = next.value; + + if (mapping) { + value = mapFn.call(thisArg, value, key); + } + + ret[key] = value; + key += 1; + } + + ret.length = key; + return ret; + } + + var len = items.length; + + if (isNaN(len) || len < 0) { + len = 0; + } + + ret = typeof C === 'function' ? new C(len) : new Array(len); + + while (key < len) { + value = items[key]; + + if (mapping) { + value = mapFn.call(thisArg, value, key); + } + + ret[key] = value; + key += 1; + } + + ret.length = key; + return ret; + }; + } +})(this); +(function (global) { + (function () { + 'use strict'; + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + if (typeof Object.entries !== 'function') { + Object.entries = function (object) { + if (object == null) { + throw new TypeError('Object.entries called on non-object'); + } + + var entries = []; + + for (var key in object) { + if (hasOwnProperty.call(object, key)) { + entries.push([key, object[key]]); + } + } + + return entries; + }; + } + + if (typeof Object.values !== 'function') { + Object.values = function (object) { + if (object == null) { + throw new TypeError('Object.values called on non-object'); + } + + var values = []; + + for (var key in object) { + if (hasOwnProperty.call(object, key)) { + values.push(object[key]); + } + } + + return values; + }; + } + })(); +})(this); +(function (global) { + 'use strict'; + + var babelHelpers = global.babelHelpers = {}; + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError('Cannot call a class as a function'); + } + } + + babelHelpers.classCallCheck = _classCallCheck; + + 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); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) { + _defineProperties(Constructor.prototype, protoProps); + } + + if (staticProps) { + _defineProperties(Constructor, staticProps); + } + + return Constructor; + } + + babelHelpers.createClass = _createClass; + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + babelHelpers.defineProperty = _defineProperty; + + function _extends() { + babelHelpers.extends = _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; + }; + + return _extends.apply(this, arguments); + } + + babelHelpers.extends = _extends; + + function _setPrototypeOf(o, p) { + babelHelpers.setPrototypeOf = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); + } + + babelHelpers.setPrototypeOf = _setPrototypeOf; + + function _superPropBase(object, property) { + while (!Object.prototype.hasOwnProperty.call(object, property)) { + object = babelHelpers.getPrototypeOf(object); + + if (object === null) { + break; + } + } + + return object; + } + + babelHelpers.superPropBase = _superPropBase; + + babelHelpers.get = function _get(target, property) { + var receiver = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : target; + var base = babelHelpers.superPropBase(target, property); + + if (!base) { + return; + } + + var desc = Object.getOwnPropertyDescriptor(base, property); + + if (desc.get) { + return desc.get.call(receiver); + } + + return desc.value; + }; + + function _inherits(subClass, superClass) { + if (typeof superClass !== 'function' && superClass !== null) { + throw new TypeError('Super expression must either be null or a function'); + } + + babelHelpers.setPrototypeOf(subClass.prototype, superClass && superClass.prototype); + + if (superClass) { + babelHelpers.setPrototypeOf(subClass, superClass); + } + } + + babelHelpers.inherits = _inherits; + + function _construct(Parent, args, Class) { + babelHelpers.construct = _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Parent.bind.apply(Parent, a); + var instance = new Constructor(); + + if (Class) { + babelHelpers.setPrototypeOf(instance, Class.prototype); + } + + return instance; + }; + + return _construct.apply(null, arguments); + } + + babelHelpers.construct = _construct; + + function _getPrototypeOf(o) { + babelHelpers.getPrototypeOf = _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { + return o.__proto__; + }; + + return _getPrototypeOf(o); + } + + babelHelpers.getPrototypeOf = _getPrototypeOf; + + function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; + } + + babelHelpers.assertThisInitialized = _assertThisInitialized; + + function _wrapNativeSuper(Class) { + var _cache = typeof Map === 'function' ? new Map() : undefined; + + babelHelpers.wrapNativeSuper = _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (typeof Class !== 'function') { + throw new TypeError('Super expression must either be null or a function'); + } + + if (typeof _cache !== 'undefined') { + if (_cache.has(Class)) { + return _cache.get(Class); + } + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return _construct(Class, arguments, _getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return babelHelpers.setPrototypeOf(Wrapper, babelHelpers.setPrototypeOf(function Super() { + return babelHelpers.construct(Class, arguments, babelHelpers.getPrototypeOf(this).constructor); + }, Class)); + }; + + return _wrapNativeSuper(Class); + } + + babelHelpers.wrapNativeSuper = _wrapNativeSuper; + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + babelHelpers.interopRequireDefault = _interopRequireDefault; + + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } + } + + babelHelpers.interopRequireWildcard = _interopRequireWildcard; + + function _objectWithoutProperties(source, excluded) { + if (source == null) { + return {}; + } + + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + + if (excluded.indexOf(key) >= 0) { + continue; + } + + target[key] = source[key]; + } + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + + if (excluded.indexOf(key) >= 0) { + continue; + } + + if (!Object.prototype.propertyIsEnumerable.call(source, key)) { + continue; + } + + target[key] = source[key]; + } + } + + return target; + } + + babelHelpers.objectWithoutProperties = _objectWithoutProperties; + + function _possibleConstructorReturn(self, call) { + if (call && (typeof call === 'object' || typeof call === 'function')) { + return call; + } + + return babelHelpers.assertThisInitialized(self); + } + + babelHelpers.possibleConstructorReturn = _possibleConstructorReturn; + + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) { + return arr; + } + } + + babelHelpers.arrayWithHoles = _arrayWithHoles; + + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } + } + + babelHelpers.arrayWithoutHoles = _arrayWithoutHoles; + + function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) { + break; + } + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i.return != null) { + _i.return(); + } + } finally { + if (_d) { + throw _e; + } + } + } + + return _arr; + } + + babelHelpers.iterableToArrayLimit = _iterableToArrayLimit; + + function _nonIterableRest() { + throw new TypeError('Invalid attempt to destructure non-iterable instance'); + } + + babelHelpers.nonIterableRest = _nonIterableRest; + + function _nonIterableSpread() { + throw new TypeError('Invalid attempt to spread non-iterable instance'); + } + + babelHelpers.nonIterableSpread = _nonIterableSpread; + + function _slicedToArray(arr, i) { + return babelHelpers.arrayWithHoles(arr) || babelHelpers.iterableToArrayLimit(arr, i) || babelHelpers.nonIterableRest(); + } + + babelHelpers.slicedToArray = _slicedToArray; + + function _taggedTemplateLiteral(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + return Object.freeze(Object.defineProperties(strings, { + raw: { + value: Object.freeze(raw) + } + })); + } + + babelHelpers.taggedTemplateLiteral = _taggedTemplateLiteral; + + function _toArray(arr) { + return babelHelpers.arrayWithHoles(arr) || babelHelpers.iterableToArray(arr) || babelHelpers.nonIterableRest(); + } + + babelHelpers.toArray = _toArray; + + function _toConsumableArray(arr) { + return babelHelpers.arrayWithoutHoles(arr) || babelHelpers.iterableToArray(arr) || babelHelpers.nonIterableSpread(); + } + + babelHelpers.toConsumableArray = _toConsumableArray; + + function _taggedTemplateLiteralLoose(strings, raw) { + if (!raw) { + raw = strings.slice(0); + } + + strings.raw = raw; + return strings; + } + + babelHelpers.taggedTemplateLiteralLoose = _taggedTemplateLiteralLoose; + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + babelHelpers.defineProperty(target, key, source[key]); + }); + } + + return target; + } + + babelHelpers.objectSpread = _objectSpread; + + function _iterableToArray(iter) { + if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === '[object Arguments]') { + return Array.from(iter); + } + } + + babelHelpers.iterableToArray = _iterableToArray; +})(this); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0], "react")); + + var _index = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./node_modules/react-transform-hmr/lib/index.js")); + + var _reactNative = _$$_REQUIRE(_dependencyMap[2], "react-native"); + + var _Utils = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[3], "./Utils")); + + var _reactNativeVideo = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[4], "react-native-video")); + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/index.ios.js"; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + var _components = { + VideoPlayer: { + displayName: "VideoPlayer" + } + }; + + var _node_modulesReactTransformHmrLibIndexJs2 = (0, _index.default)({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/index.ios.js", + components: _components, + locals: [module], + imports: [_react.default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _node_modulesReactTransformHmrLibIndexJs2(Component, id); + }; + } + + var VideoPlayer = _wrapComponent("VideoPlayer")(function (_Component) { + function VideoPlayer(props) { + var _this; + + _classCallCheck(this, VideoPlayer); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(VideoPlayer).call(this, props)); + _this.onLayout = _this.onLayout.bind(_assertThisInitialized(_assertThisInitialized(_this))); + return _this; + } + + _createClass(VideoPlayer, [{ + key: "componentWillMount", + value: function componentWillMount() { + this.resizeVideoPlayer(); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return _react.default.createElement(_reactNative.View, { + onLayout: this.onLayout, + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 30 + } + }, _react.default.createElement(_reactNative.Text, { + __source: { + fileName: _jsxFileName, + lineNumber: 33 + } + }, "Here's some pre-Text"), _react.default.createElement(_reactNativeVideo.default, { + ref: function ref(p) { + _this2.videoPlayer = p; + }, + source: _$$_REQUIRE(_dependencyMap[5], './broadchurch.mp4'), + style: { + width: this.state.orientationWidth, + height: this.state.orientationHeight + }, + controls: false, + __source: { + fileName: _jsxFileName, + lineNumber: 34 + } + }), _react.default.createElement(_reactNative.Button, { + title: "full screen", + onPress: this.onPress.bind(this), + __source: { + fileName: _jsxFileName, + lineNumber: 40 + } + })); + } + }, { + key: "onPress", + value: function onPress() { + if (this.videoPlayer != null) this.videoPlayer.presentFullscreenPlayer(); + } + }, { + key: "resizeVideoPlayer", + value: function resizeVideoPlayer() { + var _Dimensions$get = _reactNative.Dimensions.get('window'), + width = _Dimensions$get.width, + height = _Dimensions$get.height; + + if (_Utils.default.isPortrait()) { + this.setState({ + orientationWidth: width * 0.8, + orientationHeight: width * 0.8 * 0.56 + }); + } else { + this.setState({ + orientationHeight: height * 0.8, + orientationWidth: height * 0.8 * 1.77 + }); + } + } + }, { + key: "onLayout", + value: function onLayout(e) { + console.log('on layout called'); + this.resizeVideoPlayer(); + } + }]); + + _inherits(VideoPlayer, _Component); + + return VideoPlayer; + }(_react.Component)); + + var _default2 = VideoPlayer; + exports.default = _default2; + + var styles = _reactNative.StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'white' + } + }); + + _reactNative.AppRegistry.registerComponent('VideoPlayer', function () { + return VideoPlayer; + }); +},0,[1,11,165,507,508,513],"index.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + if (process.env.NODE_ENV === 'production') { + module.exports = _$$_REQUIRE(_dependencyMap[0], './cjs/react.production.min.js'); + } else { + module.exports = _$$_REQUIRE(_dependencyMap[1], './cjs/react.development.js'); + } +},1,[2,7],"node_modules/react/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + /** @license React v16.4.1 + * react.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + 'use strict'; + + var k = _$$_REQUIRE(_dependencyMap[0], "object-assign"), + n = _$$_REQUIRE(_dependencyMap[1], "fbjs/lib/invariant"), + p = _$$_REQUIRE(_dependencyMap[2], "fbjs/lib/emptyObject"), + q = _$$_REQUIRE(_dependencyMap[3], "fbjs/lib/emptyFunction"), + r = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.for : "@@for"), + t = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") : 60103, + u = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.portal") : 60106, + v = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.fragment") : 60107, + w = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.strict_mode") : 60108, + x = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.profiler") : 60114, + y = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.provider") : 60109, + z = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.context") : 60110, + A = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.async_mode") : 60111, + B = r ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.forward_ref") : 60112; + + r && (typeof Symbol === "function" ? Symbol.for : "@@for")("react.timeout"); + var C = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + + function D(a) { + for (var b = arguments.length - 1, e = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 0; c < b; c++) { + e += "&args[]=" + encodeURIComponent(arguments[c + 1]); + } + + n(!1, "Minified React error #" + a + "; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ", e); + } + + var E = { + isMounted: function isMounted() { + return !1; + }, + enqueueForceUpdate: function enqueueForceUpdate() {}, + enqueueReplaceState: function enqueueReplaceState() {}, + enqueueSetState: function enqueueSetState() {} + }; + + function F(a, b, e) { + this.props = a; + this.context = b; + this.refs = p; + this.updater = e || E; + } + + F.prototype.isReactComponent = {}; + + F.prototype.setState = function (a, b) { + "object" !== typeof a && "function" !== typeof a && null != a ? D("85") : void 0; + this.updater.enqueueSetState(this, a, b, "setState"); + }; + + F.prototype.forceUpdate = function (a) { + this.updater.enqueueForceUpdate(this, a, "forceUpdate"); + }; + + function G() {} + + G.prototype = F.prototype; + + function H(a, b, e) { + this.props = a; + this.context = b; + this.refs = p; + this.updater = e || E; + } + + var I = H.prototype = new G(); + I.constructor = H; + k(I, F.prototype); + I.isPureReactComponent = !0; + var J = { + current: null + }, + K = Object.prototype.hasOwnProperty, + L = { + key: !0, + ref: !0, + __self: !0, + __source: !0 + }; + + function M(a, b, e) { + var c = void 0, + d = {}, + g = null, + h = null; + if (null != b) for (c in void 0 !== b.ref && (h = b.ref), void 0 !== b.key && (g = "" + b.key), b) { + K.call(b, c) && !L.hasOwnProperty(c) && (d[c] = b[c]); + } + var f = arguments.length - 2; + if (1 === f) d.children = e;else if (1 < f) { + for (var l = Array(f), m = 0; m < f; m++) { + l[m] = arguments[m + 2]; + } + + d.children = l; + } + if (a && a.defaultProps) for (c in f = a.defaultProps, f) { + void 0 === d[c] && (d[c] = f[c]); + } + return { + $$typeof: t, + type: a, + key: g, + ref: h, + props: d, + _owner: J.current + }; + } + + function N(a) { + return "object" === typeof a && null !== a && a.$$typeof === t; + } + + function escape(a) { + var b = { + "=": "=0", + ":": "=2" + }; + return "$" + ("" + a).replace(/[=:]/g, function (a) { + return b[a]; + }); + } + + var O = /\/+/g, + P = []; + + function Q(a, b, e, c) { + if (P.length) { + var d = P.pop(); + d.result = a; + d.keyPrefix = b; + d.func = e; + d.context = c; + d.count = 0; + return d; + } + + return { + result: a, + keyPrefix: b, + func: e, + context: c, + count: 0 + }; + } + + function R(a) { + a.result = null; + a.keyPrefix = null; + a.func = null; + a.context = null; + a.count = 0; + 10 > P.length && P.push(a); + } + + function S(a, b, e, c) { + 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 t: + case u: + g = !0; + } + + } + if (g) return e(c, a, "" === b ? "." + T(a, 0) : b), 1; + g = 0; + b = "" === b ? "." : b + ":"; + if (Array.isArray(a)) for (var h = 0; h < a.length; h++) { + d = a[h]; + var f = b + T(d, h); + g += S(d, f, e, c); + } else if (null === a || "undefined" === typeof a ? f = null : (f = C && a[C] || a["@@iterator"], f = "function" === typeof f ? f : null), "function" === typeof f) for (a = f.call(a), h = 0; !(d = a.next()).done;) { + d = d.value, f = b + T(d, h++), g += S(d, f, e, c); + } else "object" === d && (e = "" + a, D("31", "[object Object]" === e ? "object with keys {" + Object.keys(a).join(", ") + "}" : e, "")); + return g; + } + + function T(a, b) { + return "object" === typeof a && null !== a && null != a.key ? escape(a.key) : b.toString(36); + } + + function U(a, b) { + a.func.call(a.context, b, a.count++); + } + + function V(a, b, e) { + var c = a.result, + d = a.keyPrefix; + a = a.func.call(a.context, b, a.count++); + Array.isArray(a) ? W(a, c, e, q.thatReturnsArgument) : null != a && (N(a) && (b = d + (!a.key || b && b.key === a.key ? "" : ("" + a.key).replace(O, "$&/") + "/") + e, a = { + $$typeof: t, + type: a.type, + key: b, + ref: a.ref, + props: a.props, + _owner: a._owner + }), c.push(a)); + } + + function W(a, b, e, c, d) { + var g = ""; + null != e && (g = ("" + e).replace(O, "$&/") + "/"); + b = Q(b, g, c, d); + null == a || S(a, "", V, b); + R(b); + } + + var X = { + Children: { + map: function map(a, b, e) { + if (null == a) return a; + var c = []; + W(a, c, null, b, e); + return c; + }, + forEach: function forEach(a, b, e) { + if (null == a) return a; + b = Q(null, null, b, e); + null == a || S(a, "", U, b); + R(b); + }, + count: function count(a) { + return null == a ? 0 : S(a, "", q.thatReturnsNull, null); + }, + toArray: function toArray(a) { + var b = []; + W(a, b, null, q.thatReturnsArgument); + return b; + }, + only: function only(a) { + N(a) ? void 0 : D("143"); + return a; + } + }, + createRef: function createRef() { + return { + current: null + }; + }, + Component: F, + PureComponent: H, + createContext: function createContext(a, b) { + void 0 === b && (b = null); + a = { + $$typeof: z, + _calculateChangedBits: b, + _defaultValue: a, + _currentValue: a, + _currentValue2: a, + _changedBits: 0, + _changedBits2: 0, + Provider: null, + Consumer: null + }; + a.Provider = { + $$typeof: y, + _context: a + }; + return a.Consumer = a; + }, + forwardRef: function forwardRef(a) { + return { + $$typeof: B, + render: a + }; + }, + Fragment: v, + StrictMode: w, + unstable_AsyncMode: A, + unstable_Profiler: x, + createElement: M, + cloneElement: function cloneElement(a, b, e) { + null === a || void 0 === a ? D("267", a) : void 0; + var c = void 0, + d = k({}, a.props), + g = a.key, + h = a.ref, + f = a._owner; + + if (null != b) { + void 0 !== b.ref && (h = b.ref, f = J.current); + void 0 !== b.key && (g = "" + b.key); + var l = void 0; + a.type && a.type.defaultProps && (l = a.type.defaultProps); + + for (c in b) { + K.call(b, c) && !L.hasOwnProperty(c) && (d[c] = void 0 === b[c] && void 0 !== l ? l[c] : b[c]); + } + } + + c = arguments.length - 2; + if (1 === c) d.children = e;else if (1 < c) { + l = Array(c); + + for (var m = 0; m < c; m++) { + l[m] = arguments[m + 2]; + } + + d.children = l; + } + return { + $$typeof: t, + type: a.type, + key: g, + ref: h, + props: d, + _owner: f + }; + }, + createFactory: function createFactory(a) { + var b = M.bind(null, a); + b.type = a; + return b; + }, + isValidElement: N, + version: "16.4.1", + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + ReactCurrentOwner: J, + assign: k + } + }, + Y = { + default: X + }, + Z = Y && X || Y; + module.exports = Z.default ? Z.default : Z; +},2,[3,4,5,6],"node_modules/react/cjs/react.production.min.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + /* + object-assign + (c) Sindre Sorhus + @license MIT + */ + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + + function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); + } + + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + var test1 = new String('abc'); + test1[5] = 'de'; + + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + var test2 = {}; + + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + + if (order2.join('') !== '0123456789') { + return false; + } + + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + + if (Object.keys(_extends({}, test3)).join('') !== 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + return false; + } + } + + module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; + }; +},3,[],"node_modules/object-assign/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var validateFormat = function validateFormat(format) {}; + + if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } + + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; + throw error; + } + } + + module.exports = invariant; +},4,[],"node_modules/fbjs/lib/invariant.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var emptyObject = {}; + + if (process.env.NODE_ENV !== 'production') { + Object.freeze(emptyObject); + } + + module.exports = emptyObject; +},5,[],"node_modules/fbjs/lib/emptyObject.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + function makeEmptyFunction(arg) { + return function () { + return arg; + }; + } + + var emptyFunction = function emptyFunction() {}; + + emptyFunction.thatReturns = makeEmptyFunction; + emptyFunction.thatReturnsFalse = makeEmptyFunction(false); + emptyFunction.thatReturnsTrue = makeEmptyFunction(true); + emptyFunction.thatReturnsNull = makeEmptyFunction(null); + + emptyFunction.thatReturnsThis = function () { + return this; + }; + + emptyFunction.thatReturnsArgument = function (arg) { + return arg; + }; + + module.exports = emptyFunction; +},6,[],"node_modules/fbjs/lib/emptyFunction.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + /** @license React v16.4.1 + * react.development.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + 'use strict'; + + if (process.env.NODE_ENV !== "production") { + (function () { + 'use strict'; + + var _assign = _$$_REQUIRE(_dependencyMap[0], 'object-assign'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var emptyObject = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/emptyObject'); + + var warning = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/warning'); + + var emptyFunction = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/emptyFunction'); + + var checkPropTypes = _$$_REQUIRE(_dependencyMap[5], 'prop-types/checkPropTypes'); + + var ReactVersion = '16.4.1'; + var hasSymbol = typeof Symbol === 'function' && (typeof Symbol === "function" ? Symbol.for : "@@for"); + var REACT_ELEMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.element') : 0xeac7; + var REACT_PORTAL_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.portal') : 0xeaca; + var REACT_FRAGMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.fragment') : 0xeacb; + var REACT_STRICT_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.strict_mode') : 0xeacc; + var REACT_PROFILER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.profiler') : 0xead2; + var REACT_PROVIDER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.provider') : 0xeacd; + var REACT_CONTEXT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.context') : 0xeace; + var REACT_ASYNC_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.async_mode') : 0xeacf; + var REACT_FORWARD_REF_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.forward_ref') : 0xead0; + var REACT_TIMEOUT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")('react.timeout') : 0xead1; + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable === 'undefined') { + return null; + } + + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + + if (typeof maybeIterator === 'function') { + return maybeIterator; + } + + return null; + } + + var enableSuspense = false; + + var lowPriorityWarning = function lowPriorityWarning() {}; + + { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== 'undefined') { + console.warn(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarning = function lowPriorityWarning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + var lowPriorityWarning$1 = lowPriorityWarning; + var didWarnStateUpdateForUnmountedComponent = {}; + + function warnNoop(publicInstance, callerName) { + { + var _constructor = publicInstance.constructor; + var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass'; + var warningKey = componentName + '.' + callerName; + + if (didWarnStateUpdateForUnmountedComponent[warningKey]) { + return; + } + + warning(false, "Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName); + didWarnStateUpdateForUnmountedComponent[warningKey] = true; + } + } + + var ReactNoopUpdateQueue = { + isMounted: function isMounted(publicInstance) { + return false; + }, + enqueueForceUpdate: function enqueueForceUpdate(publicInstance, callback, callerName) { + warnNoop(publicInstance, 'forceUpdate'); + }, + enqueueReplaceState: function enqueueReplaceState(publicInstance, completeState, callback, callerName) { + warnNoop(publicInstance, 'replaceState'); + }, + enqueueSetState: function enqueueSetState(publicInstance, partialState, callback, callerName) { + warnNoop(publicInstance, 'setState'); + } + }; + + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + + Component.prototype.isReactComponent = {}; + + Component.prototype.setState = function (partialState, callback) { + !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : void 0; + this.updater.enqueueSetState(this, partialState, callback, 'setState'); + }; + + Component.prototype.forceUpdate = function (callback) { + this.updater.enqueueForceUpdate(this, callback, 'forceUpdate'); + }; + + { + var deprecatedAPIs = { + isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], + replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] + }; + + var defineDeprecationWarning = function defineDeprecationWarning(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function get() { + lowPriorityWarning$1(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]); + return undefined; + } + }); + }; + + for (var fnName in deprecatedAPIs) { + if (deprecatedAPIs.hasOwnProperty(fnName)) { + defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + } + } + } + + function ComponentDummy() {} + + ComponentDummy.prototype = Component.prototype; + + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + + var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); + pureComponentPrototype.constructor = PureComponent; + + _assign(pureComponentPrototype, Component.prototype); + + pureComponentPrototype.isPureReactComponent = true; + + function createRef() { + var refObject = { + current: null + }; + { + Object.seal(refObject); + } + return refObject; + } + + var ReactCurrentOwner = { + current: null + }; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown = void 0; + var specialPropRefWarningShown = void 0; + + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; + + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== undefined; + } + + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; + + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== undefined; + } + + function defineKeyPropWarningGetter(props, displayName) { + var warnAboutAccessingKey = function warnAboutAccessingKey() { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); + } + }; + + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); + } + + function defineRefPropWarningGetter(props, displayName) { + var warnAboutAccessingRef = function warnAboutAccessingRef() { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); + } + }; + + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); + } + + var ReactElement = function ReactElement(type, key, ref, self, source, owner, props) { + var element = { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key, + ref: ref, + props: props, + _owner: owner + }; + { + element._store = {}; + Object.defineProperty(element._store, 'validated', { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + Object.defineProperty(element, '_self', { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + Object.defineProperty(element, '_source', { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + + function createElement(type, config, children) { + var propName = void 0; + var props = {}; + var key = null; + var ref = null; + var self = null; + var source = null; + + if (config != null) { + if (hasValidRef(config)) { + ref = config.ref; + } + + if (hasValidKey(config)) { + key = '' + config.key; + } + + self = config.__self === undefined ? null : config.__self; + source = config.__source === undefined ? null : config.__source; + + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + } + + var childrenLength = arguments.length - 2; + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + + { + if (Object.freeze) { + Object.freeze(childArray); + } + } + props.children = childArray; + } + + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + + for (propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + } + + { + if (key || ref) { + if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; + + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + + function cloneAndReplaceKey(oldElement, newKey) { + var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); + return newElement; + } + + function cloneElement(element, config, children) { + !!(element === null || element === undefined) ? invariant(false, 'React.cloneElement(...): The argument must be a React element, but you passed %s.', element) : void 0; + var propName = void 0; + + var props = _assign({}, element.props); + + var key = element.key; + var ref = element.ref; + var self = element._self; + var source = element._source; + var owner = element._owner; + + if (config != null) { + if (hasValidRef(config)) { + ref = config.ref; + owner = ReactCurrentOwner.current; + } + + if (hasValidKey(config)) { + key = '' + config.key; + } + + var defaultProps = void 0; + + if (element.type && element.type.defaultProps) { + defaultProps = element.type.defaultProps; + } + + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + if (config[propName] === undefined && defaultProps !== undefined) { + props[propName] = defaultProps[propName]; + } else { + props[propName] = config[propName]; + } + } + } + } + + var childrenLength = arguments.length - 2; + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + + props.children = childArray; + } + + return ReactElement(element.type, key, ref, self, source, owner, props); + } + + function isValidElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + + var ReactDebugCurrentFrame = {}; + { + ReactDebugCurrentFrame.getCurrentStack = null; + + ReactDebugCurrentFrame.getStackAddendum = function () { + var impl = ReactDebugCurrentFrame.getCurrentStack; + + if (impl) { + return impl(); + } + + return null; + }; + } + var SEPARATOR = '.'; + var SUBSEPARATOR = ':'; + + function escape(key) { + var escapeRegex = /[=:]/g; + var escaperLookup = { + '=': '=0', + ':': '=2' + }; + var escapedString = ('' + key).replace(escapeRegex, function (match) { + return escaperLookup[match]; + }); + return '$' + escapedString; + } + + var didWarnAboutMaps = false; + var userProvidedKeyEscapeRegex = /\/+/g; + + function escapeUserProvidedKey(text) { + return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); + } + + var POOL_SIZE = 10; + var traverseContextPool = []; + + function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) { + if (traverseContextPool.length) { + var traverseContext = traverseContextPool.pop(); + traverseContext.result = mapResult; + traverseContext.keyPrefix = keyPrefix; + traverseContext.func = mapFunction; + traverseContext.context = mapContext; + traverseContext.count = 0; + return traverseContext; + } else { + return { + result: mapResult, + keyPrefix: keyPrefix, + func: mapFunction, + context: mapContext, + count: 0 + }; + } + } + + function releaseTraverseContext(traverseContext) { + traverseContext.result = null; + traverseContext.keyPrefix = null; + traverseContext.func = null; + traverseContext.context = null; + traverseContext.count = 0; + + if (traverseContextPool.length < POOL_SIZE) { + traverseContextPool.push(traverseContext); + } + } + + function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { + var type = typeof children; + + if (type === 'undefined' || type === 'boolean') { + children = null; + } + + var invokeCallback = false; + + if (children === null) { + invokeCallback = true; + } else { + switch (type) { + case 'string': + case 'number': + invokeCallback = true; + break; + + case 'object': + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + } + + } + } + + if (invokeCallback) { + callback(traverseContext, children, nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); + return 1; + } + + var child = void 0; + var nextName = void 0; + var subtreeCount = 0; + var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; + + if (Array.isArray(children)) { + for (var i = 0; i < children.length; i++) { + child = children[i]; + nextName = nextNamePrefix + getComponentKey(child, i); + subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); + } + } else { + var iteratorFn = getIteratorFn(children); + + if (typeof iteratorFn === 'function') { + { + if (iteratorFn === children.entries) { + !didWarnAboutMaps ? warning(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.%s', ReactDebugCurrentFrame.getStackAddendum()) : void 0; + didWarnAboutMaps = true; + } + } + var iterator = iteratorFn.call(children); + var step = void 0; + var ii = 0; + + while (!(step = iterator.next()).done) { + child = step.value; + nextName = nextNamePrefix + getComponentKey(child, ii++); + subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); + } + } else if (type === 'object') { + var addendum = ''; + { + addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum(); + } + var childrenString = '' + children; + invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum); + } + } + + return subtreeCount; + } + + function traverseAllChildren(children, callback, traverseContext) { + if (children == null) { + return 0; + } + + return traverseAllChildrenImpl(children, '', callback, traverseContext); + } + + function getComponentKey(component, index) { + if (typeof component === 'object' && component !== null && component.key != null) { + return escape(component.key); + } + + return index.toString(36); + } + + function forEachSingleChild(bookKeeping, child, name) { + var func = bookKeeping.func, + context = bookKeeping.context; + func.call(context, child, bookKeeping.count++); + } + + function forEachChildren(children, forEachFunc, forEachContext) { + if (children == null) { + return children; + } + + var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext); + traverseAllChildren(children, forEachSingleChild, traverseContext); + releaseTraverseContext(traverseContext); + } + + function mapSingleChildIntoContext(bookKeeping, child, childKey) { + var result = bookKeeping.result, + keyPrefix = bookKeeping.keyPrefix, + func = bookKeeping.func, + context = bookKeeping.context; + var mappedChild = func.call(context, child, bookKeeping.count++); + + if (Array.isArray(mappedChild)) { + mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); + } else if (mappedChild != null) { + if (isValidElement(mappedChild)) { + mappedChild = cloneAndReplaceKey(mappedChild, keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); + } + + result.push(mappedChild); + } + } + + function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { + var escapedPrefix = ''; + + if (prefix != null) { + escapedPrefix = escapeUserProvidedKey(prefix) + '/'; + } + + var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context); + traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); + releaseTraverseContext(traverseContext); + } + + function mapChildren(children, func, context) { + if (children == null) { + return children; + } + + var result = []; + mapIntoWithKeyPrefixInternal(children, result, null, func, context); + return result; + } + + function countChildren(children) { + return traverseAllChildren(children, emptyFunction.thatReturnsNull, null); + } + + function toArray(children) { + var result = []; + mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); + return result; + } + + function onlyChild(children) { + !isValidElement(children) ? invariant(false, 'React.Children.only expected to receive a single React element child.') : void 0; + return children; + } + + function createContext(defaultValue, calculateChangedBits) { + if (calculateChangedBits === undefined) { + calculateChangedBits = null; + } else { + { + !(calculateChangedBits === null || typeof calculateChangedBits === 'function') ? warning(false, 'createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits) : void 0; + } + } + + var context = { + $$typeof: REACT_CONTEXT_TYPE, + _calculateChangedBits: calculateChangedBits, + _defaultValue: defaultValue, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _changedBits: 0, + _changedBits2: 0, + Provider: null, + Consumer: null + }; + context.Provider = { + $$typeof: REACT_PROVIDER_TYPE, + _context: context + }; + context.Consumer = context; + { + context._currentRenderer = null; + context._currentRenderer2 = null; + } + return context; + } + + function forwardRef(render) { + { + !(typeof render === 'function') ? warning(false, 'forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render) : void 0; + + if (render != null) { + !(render.defaultProps == null && render.propTypes == null) ? warning(false, 'forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?') : void 0; + } + } + return { + $$typeof: REACT_FORWARD_REF_TYPE, + render: render + }; + } + + var describeComponentFrame = function describeComponentFrame(name, source, ownerName) { + return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : ''); + }; + + function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || type === REACT_FRAGMENT_TYPE || type === REACT_ASYNC_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_TIMEOUT_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE); + } + + function getComponentName(fiber) { + var type = fiber.type; + + if (typeof type === 'function') { + return type.displayName || type.name; + } + + if (typeof type === 'string') { + return type; + } + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + return 'AsyncMode'; + + case REACT_CONTEXT_TYPE: + return 'Context.Consumer'; + + case REACT_FRAGMENT_TYPE: + return 'ReactFragment'; + + case REACT_PORTAL_TYPE: + return 'ReactPortal'; + + case REACT_PROFILER_TYPE: + return 'Profiler(' + fiber.pendingProps.id + ')'; + + case REACT_PROVIDER_TYPE: + return 'Context.Provider'; + + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; + + case REACT_TIMEOUT_TYPE: + return 'Timeout'; + } + + if (typeof type === 'object' && type !== null) { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + var functionName = type.render.displayName || type.render.name || ''; + return functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef'; + } + } + + return null; + } + + var currentlyValidatingElement = void 0; + var propTypesMisspellWarningShown = void 0; + + var getDisplayName = function getDisplayName() {}; + + var getStackAddendum = function getStackAddendum() {}; + + { + currentlyValidatingElement = null; + propTypesMisspellWarningShown = false; + + getDisplayName = function getDisplayName(element) { + if (element == null) { + return '#empty'; + } else if (typeof element === 'string' || typeof element === 'number') { + return '#text'; + } else if (typeof element.type === 'string') { + return element.type; + } + + var type = element.type; + + if (type === REACT_FRAGMENT_TYPE) { + return 'React.Fragment'; + } else if (typeof type === 'object' && type !== null && type.$$typeof === REACT_FORWARD_REF_TYPE) { + var functionName = type.render.displayName || type.render.name || ''; + return functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef'; + } else { + return type.displayName || type.name || 'Unknown'; + } + }; + + getStackAddendum = function getStackAddendum() { + var stack = ''; + + if (currentlyValidatingElement) { + var name = getDisplayName(currentlyValidatingElement); + var owner = currentlyValidatingElement._owner; + stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner)); + } + + stack += ReactDebugCurrentFrame.getStackAddendum() || ''; + return stack; + }; + } + + function getDeclarationErrorAddendum() { + if (ReactCurrentOwner.current) { + var name = getComponentName(ReactCurrentOwner.current); + + if (name) { + return '\n\nCheck the render method of `' + name + '`.'; + } + } + + return ''; + } + + function getSourceInfoErrorAddendum(elementProps) { + if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) { + var source = elementProps.__source; + var fileName = source.fileName.replace(/^.*[\\\/]/, ''); + var lineNumber = source.lineNumber; + return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + } + + return ''; + } + + var ownerHasKeyUseWarning = {}; + + function getCurrentComponentErrorInfo(parentType) { + var info = getDeclarationErrorAddendum(); + + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; + + if (parentName) { + info = '\n\nCheck the top-level render call using <' + parentName + '>.'; + } + } + + return info; + } + + function validateExplicitKey(element, parentType) { + if (!element._store || element._store.validated || element.key != null) { + return; + } + + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + var childOwner = ''; + + if (element && element._owner && element._owner !== ReactCurrentOwner.current) { + childOwner = ' It was passed a child from ' + getComponentName(element._owner) + '.'; + } + + currentlyValidatingElement = element; + { + warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, getStackAddendum()); + } + currentlyValidatingElement = null; + } + + function validateChildKeys(node, parentType) { + if (typeof node !== 'object') { + return; + } + + if (Array.isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + + if (typeof iteratorFn === 'function') { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step = void 0; + + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + + function validatePropTypes(element) { + var type = element.type; + var name = void 0, + propTypes = void 0; + + if (typeof type === 'function') { + name = type.displayName || type.name; + propTypes = type.propTypes; + } else if (typeof type === 'object' && type !== null && type.$$typeof === REACT_FORWARD_REF_TYPE) { + var functionName = type.render.displayName || type.render.name || ''; + name = functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef'; + propTypes = type.propTypes; + } else { + return; + } + + if (propTypes) { + currentlyValidatingElement = element; + checkPropTypes(propTypes, element.props, 'prop', name, getStackAddendum); + currentlyValidatingElement = null; + } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + warning(false, 'Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown'); + } + + if (typeof type.getDefaultProps === 'function') { + !type.getDefaultProps.isReactClassApproved ? warning(false, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; + } + } + + function validateFragmentProps(fragment) { + currentlyValidatingElement = fragment; + var keys = Object.keys(fragment.props); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + + if (key !== 'children' && key !== 'key') { + warning(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.%s', key, getStackAddendum()); + break; + } + } + + if (fragment.ref !== null) { + warning(false, 'Invalid attribute `ref` supplied to `React.Fragment`.%s', getStackAddendum()); + } + + currentlyValidatingElement = null; + } + + function createElementWithValidation(type, props, children) { + var validType = isValidElementType(type); + + if (!validType) { + var info = ''; + + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; + } + + var sourceInfo = getSourceInfoErrorAddendum(props); + + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + + info += getStackAddendum() || ''; + var typeString = void 0; + + if (type === null) { + typeString = 'null'; + } else if (Array.isArray(type)) { + typeString = 'array'; + } else { + typeString = typeof type; + } + + warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); + } + + var element = createElement.apply(this, arguments); + + if (element == null) { + return element; + } + + if (validType) { + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], type); + } + } + + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + + return element; + } + + function createFactoryWithValidation(type) { + var validatedFactory = createElementWithValidation.bind(null, type); + validatedFactory.type = type; + { + Object.defineProperty(validatedFactory, 'type', { + enumerable: false, + get: function get() { + lowPriorityWarning$1(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.'); + Object.defineProperty(this, 'type', { + value: type + }); + return type; + } + }); + } + return validatedFactory; + } + + function cloneElementWithValidation(element, props, children) { + var newElement = cloneElement.apply(this, arguments); + + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], newElement.type); + } + + validatePropTypes(newElement); + return newElement; + } + + var React = { + Children: { + map: mapChildren, + forEach: forEachChildren, + count: countChildren, + toArray: toArray, + only: onlyChild + }, + createRef: createRef, + Component: Component, + PureComponent: PureComponent, + createContext: createContext, + forwardRef: forwardRef, + Fragment: REACT_FRAGMENT_TYPE, + StrictMode: REACT_STRICT_MODE_TYPE, + unstable_AsyncMode: REACT_ASYNC_MODE_TYPE, + unstable_Profiler: REACT_PROFILER_TYPE, + createElement: createElementWithValidation, + cloneElement: cloneElementWithValidation, + createFactory: createFactoryWithValidation, + isValidElement: isValidElement, + version: ReactVersion, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + ReactCurrentOwner: ReactCurrentOwner, + assign: _assign + } + }; + + if (enableSuspense) { + React.Timeout = REACT_TIMEOUT_TYPE; + } + + { + _assign(React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, { + ReactDebugCurrentFrame: ReactDebugCurrentFrame, + ReactComponentTreeHook: {} + }); + } + var React$2 = Object.freeze({ + default: React + }); + var React$3 = React$2 && React || React$2; + var react = React$3.default ? React$3.default : React$3; + module.exports = react; + })(); + } +},7,[3,4,5,8,6,9],"node_modules/react/cjs/react.development.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var emptyFunction = _$$_REQUIRE(_dependencyMap[0], './emptyFunction'); + + var warning = emptyFunction; + + if (process.env.NODE_ENV !== 'production') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== 'undefined') { + console.error(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + + warning = function warning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (format.indexOf('Failed Composite propType: ') === 0) { + return; + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + module.exports = warning; +},8,[6],"node_modules/fbjs/lib/warning.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var printWarning = function printWarning() {}; + + if (process.env.NODE_ENV !== 'production') { + var ReactPropTypesSecret = _$$_REQUIRE(_dependencyMap[0], './lib/ReactPropTypesSecret'); + + var loggedTypeFailures = {}; + + printWarning = function printWarning(text) { + var message = 'Warning: ' + text; + + if (typeof console !== 'undefined') { + console.error(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + } + + function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + + try { + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'); + err.name = 'Invariant Violation'; + throw err; + } + + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + + if (error && !(error instanceof Error)) { + printWarning((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).'); + } + + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + loggedTypeFailures[error.message] = true; + var stack = getStack ? getStack() : ''; + printWarning('Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')); + } + } + } + } + } + + module.exports = checkPropTypes; +},9,[10],"node_modules/prop-types/checkPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + module.exports = ReactPropTypesSecret; +},10,[],"node_modules/prop-types/lib/ReactPropTypesSecret.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i['return']) _i['return'](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError('Invalid attempt to destructure non-iterable instance'); + } + }; + }(); + + exports['default'] = proxyReactComponents; + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + 'default': obj + }; + } + + var _reactProxy = _$$_REQUIRE(_dependencyMap[0], 'react-proxy'); + + var _globalWindow = _$$_REQUIRE(_dependencyMap[1], 'global/window'); + + var _globalWindow2 = _interopRequireDefault(_globalWindow); + + var componentProxies = undefined; + + if (_globalWindow2['default'].__reactComponentProxies) { + componentProxies = _globalWindow2['default'].__reactComponentProxies; + } else { + componentProxies = {}; + Object.defineProperty(_globalWindow2['default'], '__reactComponentProxies', { + configurable: true, + enumerable: false, + writable: false, + value: componentProxies + }); + } + + function proxyReactComponents(_ref) { + var filename = _ref.filename; + var components = _ref.components; + var imports = _ref.imports; + var locals = _ref.locals; + + var _imports = _slicedToArray(imports, 1); + + var React = _imports[0]; + + var _locals = _slicedToArray(locals, 1); + + var hot = _locals[0].hot; + + if (!React.Component) { + throw new Error('imports[0] for react-transform-hmr does not look like React.'); + } + + if (!hot || typeof hot.accept !== 'function') { + throw new Error('locals[0] does not appear to be a `module` object with Hot Module ' + 'replacement API enabled. You should disable react-transform-hmr in ' + 'production by using `env` section in Babel configuration. See the ' + 'example in README: https://github.com/gaearon/react-transform-hmr'); + } + + if (Object.keys(components).some(function (key) { + return !components[key].isInFunction; + })) { + hot.accept(function (err) { + if (err) { + console.warn('[React Transform HMR] There was an error updating ' + filename + ':'); + console.error(err); + } + }); + } + + var forceUpdate = (0, _reactProxy.getForceUpdate)(React); + return function wrapWithProxy(ReactClass, uniqueId) { + var _components$uniqueId = components[uniqueId]; + var _components$uniqueId$isInFunction = _components$uniqueId.isInFunction; + var isInFunction = _components$uniqueId$isInFunction === undefined ? false : _components$uniqueId$isInFunction; + var _components$uniqueId$displayName = _components$uniqueId.displayName; + var displayName = _components$uniqueId$displayName === undefined ? uniqueId : _components$uniqueId$displayName; + + if (isInFunction) { + return ReactClass; + } + + var globalUniqueId = filename + '$' + uniqueId; + + if (componentProxies[globalUniqueId]) { + (function () { + console.info('[React Transform HMR] Patching ' + displayName); + var instances = componentProxies[globalUniqueId].update(ReactClass); + setTimeout(function () { + return instances.forEach(forceUpdate); + }); + })(); + } else { + componentProxies[globalUniqueId] = (0, _reactProxy.createProxy)(ReactClass); + } + + return componentProxies[globalUniqueId].get(); + }; + } + + module.exports = exports['default']; +},11,[12,164],"node_modules/react-transform-hmr/lib/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.getForceUpdate = exports.createProxy = undefined; + + var _supportsProtoAssignment = _$$_REQUIRE(_dependencyMap[0], './supportsProtoAssignment'); + + var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment); + + var _createClassProxy = _$$_REQUIRE(_dependencyMap[1], './createClassProxy'); + + var _createClassProxy2 = _interopRequireDefault(_createClassProxy); + + var _reactDeepForceUpdate = _$$_REQUIRE(_dependencyMap[2], 'react-deep-force-update'); + + var _reactDeepForceUpdate2 = _interopRequireDefault(_reactDeepForceUpdate); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + if (!(0, _supportsProtoAssignment2.default)()) { + console.warn('This JavaScript environment does not support __proto__. ' + 'This means that react-proxy is unable to proxy React components. ' + 'Features that rely on react-proxy, such as react-transform-hmr, ' + 'will not function as expected.'); + } + + exports.createProxy = _createClassProxy2.default; + exports.getForceUpdate = _reactDeepForceUpdate2.default; +},12,[13,14,163],"node_modules/react-proxy/modules/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = supportsProtoAssignment; + var x = {}; + var y = { + supports: true + }; + + try { + x.__proto__ = y; + } catch (err) {} + + function supportsProtoAssignment() { + return x.supports || false; + } + + ; +},13,[],"node_modules/react-proxy/modules/supportsProtoAssignment.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + var _slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; + }(); + + exports.default = proxyClass; + exports.default = createClassProxy; + + var _find = _$$_REQUIRE(_dependencyMap[0], 'lodash/find'); + + var _find2 = _interopRequireDefault(_find); + + var _createPrototypeProxy = _$$_REQUIRE(_dependencyMap[1], './createPrototypeProxy'); + + var _createPrototypeProxy2 = _interopRequireDefault(_createPrototypeProxy); + + var _bindAutoBindMethods = _$$_REQUIRE(_dependencyMap[2], './bindAutoBindMethods'); + + var _bindAutoBindMethods2 = _interopRequireDefault(_bindAutoBindMethods); + + var _deleteUnknownAutoBindMethods = _$$_REQUIRE(_dependencyMap[3], './deleteUnknownAutoBindMethods'); + + var _deleteUnknownAutoBindMethods2 = _interopRequireDefault(_deleteUnknownAutoBindMethods); + + var _supportsProtoAssignment = _$$_REQUIRE(_dependencyMap[4], './supportsProtoAssignment'); + + var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + function _toConsumableArray(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } else { + return Array.from(arr); + } + } + + var RESERVED_STATICS = ['length', 'name', 'arguments', 'caller', 'prototype', 'toString']; + + function isEqualDescriptor(a, b) { + if (!a && !b) { + return true; + } + + if (!a || !b) { + return false; + } + + for (var key in a) { + if (a[key] !== b[key]) { + return false; + } + } + + return true; + } + + var allProxies = []; + + function findProxy(Component) { + var pair = (0, _find2.default)(allProxies, function (_ref) { + var _ref2 = _slicedToArray(_ref, 1); + + var key = _ref2[0]; + return key === Component; + }); + return pair ? pair[1] : null; + } + + function addProxy(Component, proxy) { + allProxies.push([Component, proxy]); + } + + function proxyClass(InitialComponent) { + var existingProxy = findProxy(InitialComponent); + + if (existingProxy) { + return existingProxy; + } + + var prototypeProxy = (0, _createPrototypeProxy2.default)(); + var CurrentComponent = undefined; + var ProxyComponent = undefined; + var staticDescriptors = {}; + + function wasStaticModifiedByUser(key) { + var currentDescriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key); + return !isEqualDescriptor(staticDescriptors[key], currentDescriptor); + } + + function instantiate(factory, context, params) { + var component = factory(); + + try { + return component.apply(context, params); + } catch (err) { + (function () { + var instance = new (Function.prototype.bind.apply(component, [null].concat(_toConsumableArray(params))))(); + Object.keys(instance).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + + context[key] = instance[key]; + }); + })(); + } + } + + try { + ProxyComponent = new Function('factory', 'instantiate', 'return function ' + (InitialComponent.name || 'ProxyComponent') + '() {\n return instantiate(factory, this, arguments);\n }')(function () { + return CurrentComponent; + }, instantiate); + } catch (err) { + ProxyComponent = function ProxyComponent() { + return instantiate(function () { + return CurrentComponent; + }, this, arguments); + }; + } + + ProxyComponent.prototype = prototypeProxy.get(); + + ProxyComponent.toString = function toString() { + return CurrentComponent.toString(); + }; + + function update(NextComponent) { + if (typeof NextComponent !== 'function') { + throw new Error('Expected a constructor.'); + } + + var existingProxy = findProxy(NextComponent); + + if (existingProxy) { + return update(existingProxy.__getCurrent()); + } + + CurrentComponent = NextComponent; + var mountedInstances = prototypeProxy.update(NextComponent.prototype); + ProxyComponent.prototype.constructor = ProxyComponent; + ProxyComponent.__proto__ = NextComponent.__proto__; + Object.getOwnPropertyNames(NextComponent).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + + var staticDescriptor = _extends({}, Object.getOwnPropertyDescriptor(NextComponent, key), { + configurable: true + }); + + if (!wasStaticModifiedByUser(key)) { + Object.defineProperty(ProxyComponent, key, staticDescriptor); + staticDescriptors[key] = staticDescriptor; + } + }); + Object.getOwnPropertyNames(ProxyComponent).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + + if (NextComponent.hasOwnProperty(key)) { + return; + } + + var descriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key); + + if (descriptor && !descriptor.configurable) { + return; + } + + if (!wasStaticModifiedByUser(key)) { + delete ProxyComponent[key]; + delete staticDescriptors[key]; + } + }); + ProxyComponent.displayName = NextComponent.displayName || NextComponent.name; + mountedInstances.forEach(_bindAutoBindMethods2.default); + mountedInstances.forEach(_deleteUnknownAutoBindMethods2.default); + return mountedInstances; + } + + ; + + function get() { + return ProxyComponent; + } + + function getCurrent() { + return CurrentComponent; + } + + update(InitialComponent); + var proxy = { + get: get, + update: update + }; + addProxy(ProxyComponent, proxy); + Object.defineProperty(proxy, '__getCurrent', { + configurable: false, + writable: false, + enumerable: false, + value: getCurrent + }); + return proxy; + } + + function createFallback(Component) { + var CurrentComponent = Component; + return { + get: function get() { + return CurrentComponent; + }, + update: function update(NextComponent) { + CurrentComponent = NextComponent; + } + }; + } + + function createClassProxy(Component) { + return Component.__proto__ && (0, _supportsProtoAssignment2.default)() ? proxyClass(Component) : createFallback(Component); + } +},14,[15,136,161,162,13],"node_modules/react-proxy/modules/createClassProxy.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var createFind = _$$_REQUIRE(_dependencyMap[0], './_createFind'), + findIndex = _$$_REQUIRE(_dependencyMap[1], './findIndex'); + + var find = createFind(findIndex); + module.exports = find; +},15,[16,131],"node_modules/lodash/find.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIteratee = _$$_REQUIRE(_dependencyMap[0], './_baseIteratee'), + isArrayLike = _$$_REQUIRE(_dependencyMap[1], './isArrayLike'), + keys = _$$_REQUIRE(_dependencyMap[2], './keys'); + + function createFind(findIndexFunc) { + return function (collection, predicate, fromIndex) { + var iterable = Object(collection); + + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + + predicate = function predicate(key) { + return iteratee(iterable[key], key, iterable); + }; + } + + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + module.exports = createFind; +},16,[17,102,84],"node_modules/lodash/_createFind.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseMatches = _$$_REQUIRE(_dependencyMap[0], './_baseMatches'), + baseMatchesProperty = _$$_REQUIRE(_dependencyMap[1], './_baseMatchesProperty'), + identity = _$$_REQUIRE(_dependencyMap[2], './identity'), + isArray = _$$_REQUIRE(_dependencyMap[3], './isArray'), + property = _$$_REQUIRE(_dependencyMap[4], './property'); + + function baseIteratee(value) { + if (typeof value == 'function') { + return value; + } + + if (value == null) { + return identity; + } + + if (typeof value == 'object') { + return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); + } + + return property(value); + } + + module.exports = baseIteratee; +},17,[18,111,127,80,128],"node_modules/lodash/_baseIteratee.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsMatch = _$$_REQUIRE(_dependencyMap[0], './_baseIsMatch'), + getMatchData = _$$_REQUIRE(_dependencyMap[1], './_getMatchData'), + matchesStrictComparable = _$$_REQUIRE(_dependencyMap[2], './_matchesStrictComparable'); + + function baseMatches(source) { + var matchData = getMatchData(source); + + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + + return function (object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + module.exports = baseMatches; +},18,[19,108,110],"node_modules/lodash/_baseMatches.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Stack = _$$_REQUIRE(_dependencyMap[0], './_Stack'), + baseIsEqual = _$$_REQUIRE(_dependencyMap[1], './_baseIsEqual'); + + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + + object = Object(object); + + while (index--) { + var data = matchData[index]; + + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack(); + + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + + if (!(result === undefined ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) { + return false; + } + } + } + + return true; + } + + module.exports = baseIsMatch; +},19,[20,64],"node_modules/lodash/_baseIsMatch.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var ListCache = _$$_REQUIRE(_dependencyMap[0], './_ListCache'), + stackClear = _$$_REQUIRE(_dependencyMap[1], './_stackClear'), + stackDelete = _$$_REQUIRE(_dependencyMap[2], './_stackDelete'), + stackGet = _$$_REQUIRE(_dependencyMap[3], './_stackGet'), + stackHas = _$$_REQUIRE(_dependencyMap[4], './_stackHas'), + stackSet = _$$_REQUIRE(_dependencyMap[5], './_stackSet'); + + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + module.exports = Stack; +},20,[21,29,30,31,32,33],"node_modules/lodash/_Stack.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var listCacheClear = _$$_REQUIRE(_dependencyMap[0], './_listCacheClear'), + listCacheDelete = _$$_REQUIRE(_dependencyMap[1], './_listCacheDelete'), + listCacheGet = _$$_REQUIRE(_dependencyMap[2], './_listCacheGet'), + listCacheHas = _$$_REQUIRE(_dependencyMap[3], './_listCacheHas'), + listCacheSet = _$$_REQUIRE(_dependencyMap[4], './_listCacheSet'); + + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + module.exports = ListCache; +},21,[22,23,26,27,28],"node_modules/lodash/_ListCache.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + module.exports = listCacheClear; +},22,[],"node_modules/lodash/_listCacheClear.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assocIndexOf = _$$_REQUIRE(_dependencyMap[0], './_assocIndexOf'); + + var arrayProto = Array.prototype; + var splice = arrayProto.splice; + + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + + var lastIndex = data.length - 1; + + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + + --this.size; + return true; + } + + module.exports = listCacheDelete; +},23,[24],"node_modules/lodash/_listCacheDelete.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var eq = _$$_REQUIRE(_dependencyMap[0], './eq'); + + function assocIndexOf(array, key) { + var length = array.length; + + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + + return -1; + } + + module.exports = assocIndexOf; +},24,[25],"node_modules/lodash/_assocIndexOf.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function eq(value, other) { + return value === other || value !== value && other !== other; + } + + module.exports = eq; +},25,[],"node_modules/lodash/eq.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assocIndexOf = _$$_REQUIRE(_dependencyMap[0], './_assocIndexOf'); + + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + return index < 0 ? undefined : data[index][1]; + } + + module.exports = listCacheGet; +},26,[24],"node_modules/lodash/_listCacheGet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assocIndexOf = _$$_REQUIRE(_dependencyMap[0], './_assocIndexOf'); + + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + module.exports = listCacheHas; +},27,[24],"node_modules/lodash/_listCacheHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assocIndexOf = _$$_REQUIRE(_dependencyMap[0], './_assocIndexOf'); + + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + + return this; + } + + module.exports = listCacheSet; +},28,[24],"node_modules/lodash/_listCacheSet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var ListCache = _$$_REQUIRE(_dependencyMap[0], './_ListCache'); + + function stackClear() { + this.__data__ = new ListCache(); + this.size = 0; + } + + module.exports = stackClear; +},29,[21],"node_modules/lodash/_stackClear.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + this.size = data.size; + return result; + } + + module.exports = stackDelete; +},30,[],"node_modules/lodash/_stackDelete.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function stackGet(key) { + return this.__data__.get(key); + } + + module.exports = stackGet; +},31,[],"node_modules/lodash/_stackGet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function stackHas(key) { + return this.__data__.has(key); + } + + module.exports = stackHas; +},32,[],"node_modules/lodash/_stackHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var ListCache = _$$_REQUIRE(_dependencyMap[0], './_ListCache'), + Map = _$$_REQUIRE(_dependencyMap[1], './_Map'), + MapCache = _$$_REQUIRE(_dependencyMap[2], './_MapCache'); + + var LARGE_ARRAY_SIZE = 200; + + function stackSet(key, value) { + var data = this.__data__; + + if (data instanceof ListCache) { + var pairs = data.__data__; + + if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + + data = this.__data__ = new MapCache(pairs); + } + + data.set(key, value); + this.size = data.size; + return this; + } + + module.exports = stackSet; +},33,[21,34,49],"node_modules/lodash/_stackSet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'), + root = _$$_REQUIRE(_dependencyMap[1], './_root'); + + var Map = getNative(root, 'Map'); + module.exports = Map; +},34,[35,40],"node_modules/lodash/_Map.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsNative = _$$_REQUIRE(_dependencyMap[0], './_baseIsNative'), + getValue = _$$_REQUIRE(_dependencyMap[1], './_getValue'); + + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + module.exports = getNative; +},35,[36,48],"node_modules/lodash/_getNative.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isFunction = _$$_REQUIRE(_dependencyMap[0], './isFunction'), + isMasked = _$$_REQUIRE(_dependencyMap[1], './_isMasked'), + isObject = _$$_REQUIRE(_dependencyMap[2], './isObject'), + toSource = _$$_REQUIRE(_dependencyMap[3], './_toSource'); + + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var funcProto = Function.prototype, + objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); + + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + module.exports = baseIsNative; +},36,[37,45,44,47],"node_modules/lodash/_baseIsNative.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGetTag = _$$_REQUIRE(_dependencyMap[0], './_baseGetTag'), + isObject = _$$_REQUIRE(_dependencyMap[1], './isObject'); + + var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + + function isFunction(value) { + if (!isObject(value)) { + return false; + } + + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + module.exports = isFunction; +},37,[38,44],"node_modules/lodash/isFunction.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Symbol = _$$_REQUIRE(_dependencyMap[0], './_Symbol'), + getRawTag = _$$_REQUIRE(_dependencyMap[1], './_getRawTag'), + objectToString = _$$_REQUIRE(_dependencyMap[2], './_objectToString'); + + var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + var symToStringTag = Symbol ? typeof Symbol === "function" ? Symbol.toStringTag : "@@toStringTag" : undefined; + + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); + } + + module.exports = baseGetTag; +},38,[39,42,43],"node_modules/lodash/_baseGetTag.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var root = _$$_REQUIRE(_dependencyMap[0], './_root'); + + var Symbol = root.Symbol; + module.exports = Symbol; +},39,[40],"node_modules/lodash/_Symbol.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var freeGlobal = _$$_REQUIRE(_dependencyMap[0], './_freeGlobal'); + + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + var root = freeGlobal || freeSelf || Function('return this')(); + module.exports = root; +},40,[41],"node_modules/lodash/_root.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + module.exports = freeGlobal; +},41,[],"node_modules/lodash/_freeGlobal.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Symbol = _$$_REQUIRE(_dependencyMap[0], './_Symbol'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var nativeObjectToString = objectProto.toString; + var symToStringTag = Symbol ? typeof Symbol === "function" ? Symbol.toStringTag : "@@toStringTag" : undefined; + + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + + return result; + } + + module.exports = getRawTag; +},42,[39],"node_modules/lodash/_getRawTag.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var objectProto = Object.prototype; + var nativeObjectToString = objectProto.toString; + + function objectToString(value) { + return nativeObjectToString.call(value); + } + + module.exports = objectToString; +},43,[],"node_modules/lodash/_objectToString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + module.exports = isObject; +},44,[],"node_modules/lodash/isObject.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var coreJsData = _$$_REQUIRE(_dependencyMap[0], './_coreJsData'); + + var maskSrcKey = function () { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? 'Symbol(src)_1.' + uid : ''; + }(); + + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + + module.exports = isMasked; +},45,[46],"node_modules/lodash/_isMasked.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var root = _$$_REQUIRE(_dependencyMap[0], './_root'); + + var coreJsData = root['__core-js_shared__']; + module.exports = coreJsData; +},46,[40],"node_modules/lodash/_coreJsData.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var funcProto = Function.prototype; + var funcToString = funcProto.toString; + + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + + try { + return func + ''; + } catch (e) {} + } + + return ''; + } + + module.exports = toSource; +},47,[],"node_modules/lodash/_toSource.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + module.exports = getValue; +},48,[],"node_modules/lodash/_getValue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var mapCacheClear = _$$_REQUIRE(_dependencyMap[0], './_mapCacheClear'), + mapCacheDelete = _$$_REQUIRE(_dependencyMap[1], './_mapCacheDelete'), + mapCacheGet = _$$_REQUIRE(_dependencyMap[2], './_mapCacheGet'), + mapCacheHas = _$$_REQUIRE(_dependencyMap[3], './_mapCacheHas'), + mapCacheSet = _$$_REQUIRE(_dependencyMap[4], './_mapCacheSet'); + + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + module.exports = MapCache; +},49,[50,58,61,62,63],"node_modules/lodash/_MapCache.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Hash = _$$_REQUIRE(_dependencyMap[0], './_Hash'), + ListCache = _$$_REQUIRE(_dependencyMap[1], './_ListCache'), + Map = _$$_REQUIRE(_dependencyMap[2], './_Map'); + + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash(), + 'map': new (Map || ListCache)(), + 'string': new Hash() + }; + } + + module.exports = mapCacheClear; +},50,[51,21,34],"node_modules/lodash/_mapCacheClear.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var hashClear = _$$_REQUIRE(_dependencyMap[0], './_hashClear'), + hashDelete = _$$_REQUIRE(_dependencyMap[1], './_hashDelete'), + hashGet = _$$_REQUIRE(_dependencyMap[2], './_hashGet'), + hashHas = _$$_REQUIRE(_dependencyMap[3], './_hashHas'), + hashSet = _$$_REQUIRE(_dependencyMap[4], './_hashSet'); + + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + this.clear(); + + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + module.exports = Hash; +},51,[52,54,55,56,57],"node_modules/lodash/_Hash.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var nativeCreate = _$$_REQUIRE(_dependencyMap[0], './_nativeCreate'); + + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + module.exports = hashClear; +},52,[53],"node_modules/lodash/_hashClear.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'); + + var nativeCreate = getNative(Object, 'create'); + module.exports = nativeCreate; +},53,[35],"node_modules/lodash/_nativeCreate.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + module.exports = hashDelete; +},54,[],"node_modules/lodash/_hashDelete.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var nativeCreate = _$$_REQUIRE(_dependencyMap[0], './_nativeCreate'); + + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function hashGet(key) { + var data = this.__data__; + + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + module.exports = hashGet; +},55,[53],"node_modules/lodash/_hashGet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var nativeCreate = _$$_REQUIRE(_dependencyMap[0], './_nativeCreate'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); + } + + module.exports = hashHas; +},56,[53],"node_modules/lodash/_hashHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var nativeCreate = _$$_REQUIRE(_dependencyMap[0], './_nativeCreate'); + + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value; + return this; + } + + module.exports = hashSet; +},57,[53],"node_modules/lodash/_hashSet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getMapData = _$$_REQUIRE(_dependencyMap[0], './_getMapData'); + + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + module.exports = mapCacheDelete; +},58,[59],"node_modules/lodash/_mapCacheDelete.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isKeyable = _$$_REQUIRE(_dependencyMap[0], './_isKeyable'); + + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; + } + + module.exports = getMapData; +},59,[60],"node_modules/lodash/_getMapData.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function isKeyable(value) { + var type = typeof value; + return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null; + } + + module.exports = isKeyable; +},60,[],"node_modules/lodash/_isKeyable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getMapData = _$$_REQUIRE(_dependencyMap[0], './_getMapData'); + + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + module.exports = mapCacheGet; +},61,[59],"node_modules/lodash/_mapCacheGet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getMapData = _$$_REQUIRE(_dependencyMap[0], './_getMapData'); + + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + module.exports = mapCacheHas; +},62,[59],"node_modules/lodash/_mapCacheHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getMapData = _$$_REQUIRE(_dependencyMap[0], './_getMapData'); + + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + module.exports = mapCacheSet; +},63,[59],"node_modules/lodash/_mapCacheSet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsEqualDeep = _$$_REQUIRE(_dependencyMap[0], './_baseIsEqualDeep'), + isObjectLike = _$$_REQUIRE(_dependencyMap[1], './isObjectLike'); + + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + + if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { + return value !== value && other !== other; + } + + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + module.exports = baseIsEqual; +},64,[65,89],"node_modules/lodash/_baseIsEqual.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Stack = _$$_REQUIRE(_dependencyMap[0], './_Stack'), + equalArrays = _$$_REQUIRE(_dependencyMap[1], './_equalArrays'), + equalByTag = _$$_REQUIRE(_dependencyMap[2], './_equalByTag'), + equalObjects = _$$_REQUIRE(_dependencyMap[3], './_equalObjects'), + getTag = _$$_REQUIRE(_dependencyMap[4], './_getTag'), + isArray = _$$_REQUIRE(_dependencyMap[5], './isArray'), + isBuffer = _$$_REQUIRE(_dependencyMap[6], './isBuffer'), + isTypedArray = _$$_REQUIRE(_dependencyMap[7], './isTypedArray'); + + var COMPARE_PARTIAL_FLAG = 1; + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + + objIsArr = true; + objIsObj = false; + } + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack()); + return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + + if (!isSameTag) { + return false; + } + + stack || (stack = new Stack()); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + module.exports = baseIsEqualDeep; +},65,[20,66,72,76,103,80,90,93],"node_modules/lodash/_baseIsEqualDeep.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var SetCache = _$$_REQUIRE(_dependencyMap[0], './_SetCache'), + arraySome = _$$_REQUIRE(_dependencyMap[1], './_arraySome'), + cacheHas = _$$_REQUIRE(_dependencyMap[2], './_cacheHas'); + + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + + var stacked = stack.get(array); + + if (stacked && stack.get(other)) { + return stacked == other; + } + + var index = -1, + result = true, + seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined; + stack.set(array, other); + stack.set(other, array); + + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + + if (compared !== undefined) { + if (compared) { + continue; + } + + result = false; + break; + } + + if (seen) { + if (!arraySome(other, function (othValue, othIndex) { + if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + + stack['delete'](array); + stack['delete'](other); + return result; + } + + module.exports = equalArrays; +},66,[67,70,71],"node_modules/lodash/_equalArrays.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var MapCache = _$$_REQUIRE(_dependencyMap[0], './_MapCache'), + setCacheAdd = _$$_REQUIRE(_dependencyMap[1], './_setCacheAdd'), + setCacheHas = _$$_REQUIRE(_dependencyMap[2], './_setCacheHas'); + + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + this.__data__ = new MapCache(); + + while (++index < length) { + this.add(values[index]); + } + } + + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + module.exports = SetCache; +},67,[49,68,69],"node_modules/lodash/_SetCache.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + + return this; + } + + module.exports = setCacheAdd; +},68,[],"node_modules/lodash/_setCacheAdd.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function setCacheHas(value) { + return this.__data__.has(value); + } + + module.exports = setCacheHas; +},69,[],"node_modules/lodash/_setCacheHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + + return false; + } + + module.exports = arraySome; +},70,[],"node_modules/lodash/_arraySome.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function cacheHas(cache, key) { + return cache.has(key); + } + + module.exports = cacheHas; +},71,[],"node_modules/lodash/_cacheHas.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Symbol = _$$_REQUIRE(_dependencyMap[0], './_Symbol'), + Uint8Array = _$$_REQUIRE(_dependencyMap[1], './_Uint8Array'), + eq = _$$_REQUIRE(_dependencyMap[2], './eq'), + equalArrays = _$$_REQUIRE(_dependencyMap[3], './_equalArrays'), + mapToArray = _$$_REQUIRE(_dependencyMap[4], './_mapToArray'), + setToArray = _$$_REQUIRE(_dependencyMap[5], './_setToArray'); + + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + var symbolProto = Symbol ? typeof Symbol === "function" ? Symbol.prototype : "@@prototype" : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + + return true; + + case boolTag: + case dateTag: + case numberTag: + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + return object == other + ''; + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + + var stacked = stack.get(object); + + if (stacked) { + return stacked == other; + } + + bitmask |= COMPARE_UNORDERED_FLAG; + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + + } + + return false; + } + + module.exports = equalByTag; +},72,[39,73,25,66,74,75],"node_modules/lodash/_equalByTag.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var root = _$$_REQUIRE(_dependencyMap[0], './_root'); + + var Uint8Array = root.Uint8Array; + module.exports = Uint8Array; +},73,[40],"node_modules/lodash/_Uint8Array.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function mapToArray(map) { + var index = -1, + result = Array(map.size); + map.forEach(function (value, key) { + result[++index] = [key, value]; + }); + return result; + } + + module.exports = mapToArray; +},74,[],"node_modules/lodash/_mapToArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function setToArray(set) { + var index = -1, + result = Array(set.size); + set.forEach(function (value) { + result[++index] = value; + }); + return result; + } + + module.exports = setToArray; +},75,[],"node_modules/lodash/_setToArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getAllKeys = _$$_REQUIRE(_dependencyMap[0], './_getAllKeys'); + + var COMPARE_PARTIAL_FLAG = 1; + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + + var index = objLength; + + while (index--) { + var key = objProps[index]; + + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + + var stacked = stack.get(object); + + if (stacked && stack.get(other)) { + return stacked == other; + } + + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } + + if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + + skipCtor || (skipCtor = key == 'constructor'); + } + + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + + stack['delete'](object); + stack['delete'](other); + return result; + } + + module.exports = equalObjects; +},76,[77],"node_modules/lodash/_equalObjects.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGetAllKeys = _$$_REQUIRE(_dependencyMap[0], './_baseGetAllKeys'), + getSymbols = _$$_REQUIRE(_dependencyMap[1], './_getSymbols'), + keys = _$$_REQUIRE(_dependencyMap[2], './keys'); + + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + module.exports = getAllKeys; +},77,[78,81,84],"node_modules/lodash/_getAllKeys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var arrayPush = _$$_REQUIRE(_dependencyMap[0], './_arrayPush'), + isArray = _$$_REQUIRE(_dependencyMap[1], './isArray'); + + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + module.exports = baseGetAllKeys; +},78,[79,80],"node_modules/lodash/_baseGetAllKeys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + + return array; + } + + module.exports = arrayPush; +},79,[],"node_modules/lodash/_arrayPush.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isArray = Array.isArray; + module.exports = isArray; +},80,[],"node_modules/lodash/isArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var arrayFilter = _$$_REQUIRE(_dependencyMap[0], './_arrayFilter'), + stubArray = _$$_REQUIRE(_dependencyMap[1], './stubArray'); + + var objectProto = Object.prototype; + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + var nativeGetSymbols = Object.getOwnPropertySymbols; + var getSymbols = !nativeGetSymbols ? stubArray : function (object) { + if (object == null) { + return []; + } + + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function (symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + module.exports = getSymbols; +},81,[82,83],"node_modules/lodash/_getSymbols.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + + return result; + } + + module.exports = arrayFilter; +},82,[],"node_modules/lodash/_arrayFilter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function stubArray() { + return []; + } + + module.exports = stubArray; +},83,[],"node_modules/lodash/stubArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var arrayLikeKeys = _$$_REQUIRE(_dependencyMap[0], './_arrayLikeKeys'), + baseKeys = _$$_REQUIRE(_dependencyMap[1], './_baseKeys'), + isArrayLike = _$$_REQUIRE(_dependencyMap[2], './isArrayLike'); + + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + module.exports = keys; +},84,[85,98,102],"node_modules/lodash/keys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseTimes = _$$_REQUIRE(_dependencyMap[0], './_baseTimes'), + isArguments = _$$_REQUIRE(_dependencyMap[1], './isArguments'), + isArray = _$$_REQUIRE(_dependencyMap[2], './isArray'), + isBuffer = _$$_REQUIRE(_dependencyMap[3], './isBuffer'), + isIndex = _$$_REQUIRE(_dependencyMap[4], './_isIndex'), + isTypedArray = _$$_REQUIRE(_dependencyMap[5], './isTypedArray'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isBuff && (key == 'offset' || key == 'parent') || isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || isIndex(key, length)))) { + result.push(key); + } + } + + return result; + } + + module.exports = arrayLikeKeys; +},85,[86,87,80,90,92,93],"node_modules/lodash/_arrayLikeKeys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + + return result; + } + + module.exports = baseTimes; +},86,[],"node_modules/lodash/_baseTimes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsArguments = _$$_REQUIRE(_dependencyMap[0], './_baseIsArguments'), + isObjectLike = _$$_REQUIRE(_dependencyMap[1], './isObjectLike'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + var isArguments = baseIsArguments(function () { + return arguments; + }()) ? baseIsArguments : function (value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); + }; + module.exports = isArguments; +},87,[88,89],"node_modules/lodash/isArguments.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGetTag = _$$_REQUIRE(_dependencyMap[0], './_baseGetTag'), + isObjectLike = _$$_REQUIRE(_dependencyMap[1], './isObjectLike'); + + var argsTag = '[object Arguments]'; + + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + module.exports = baseIsArguments; +},88,[38,89],"node_modules/lodash/_baseIsArguments.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + module.exports = isObjectLike; +},89,[],"node_modules/lodash/isObjectLike.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var root = _$$_REQUIRE(_dependencyMap[0], './_root'), + stubFalse = _$$_REQUIRE(_dependencyMap[1], './stubFalse'); + + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + var moduleExports = freeModule && freeModule.exports === freeExports; + var Buffer = moduleExports ? root.Buffer : undefined; + var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + var isBuffer = nativeIsBuffer || stubFalse; + module.exports = isBuffer; +},90,[40,91],"node_modules/lodash/isBuffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function stubFalse() { + return false; + } + + module.exports = stubFalse; +},91,[],"node_modules/lodash/stubFalse.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var MAX_SAFE_INTEGER = 9007199254740991; + var reIsUint = /^(?:0|[1-9]\d*)$/; + + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; + } + + module.exports = isIndex; +},92,[],"node_modules/lodash/_isIndex.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsTypedArray = _$$_REQUIRE(_dependencyMap[0], './_baseIsTypedArray'), + baseUnary = _$$_REQUIRE(_dependencyMap[1], './_baseUnary'), + nodeUtil = _$$_REQUIRE(_dependencyMap[2], './_nodeUtil'); + + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + module.exports = isTypedArray; +},93,[94,96,97],"node_modules/lodash/isTypedArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGetTag = _$$_REQUIRE(_dependencyMap[0], './_baseGetTag'), + isLength = _$$_REQUIRE(_dependencyMap[1], './isLength'), + isObjectLike = _$$_REQUIRE(_dependencyMap[2], './isObjectLike'); + + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + + function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + module.exports = baseIsTypedArray; +},94,[38,95,89],"node_modules/lodash/_baseIsTypedArray.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var MAX_SAFE_INTEGER = 9007199254740991; + + function isLength(value) { + return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + module.exports = isLength; +},95,[],"node_modules/lodash/isLength.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseUnary(func) { + return function (value) { + return func(value); + }; + } + + module.exports = baseUnary; +},96,[],"node_modules/lodash/_baseUnary.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var freeGlobal = _$$_REQUIRE(_dependencyMap[0], './_freeGlobal'); + + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + var moduleExports = freeModule && freeModule.exports === freeExports; + var freeProcess = moduleExports && freeGlobal.process; + + var nodeUtil = function () { + try { + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }(); + + module.exports = nodeUtil; +},97,[41],"node_modules/lodash/_nodeUtil.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isPrototype = _$$_REQUIRE(_dependencyMap[0], './_isPrototype'), + nativeKeys = _$$_REQUIRE(_dependencyMap[1], './_nativeKeys'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + + var result = []; + + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + + return result; + } + + module.exports = baseKeys; +},98,[99,100],"node_modules/lodash/_baseKeys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var objectProto = Object.prototype; + + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = typeof Ctor == 'function' && Ctor.prototype || objectProto; + return value === proto; + } + + module.exports = isPrototype; +},99,[],"node_modules/lodash/_isPrototype.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var overArg = _$$_REQUIRE(_dependencyMap[0], './_overArg'); + + var nativeKeys = overArg(Object.keys, Object); + module.exports = nativeKeys; +},100,[101],"node_modules/lodash/_nativeKeys.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function overArg(func, transform) { + return function (arg) { + return func(transform(arg)); + }; + } + + module.exports = overArg; +},101,[],"node_modules/lodash/_overArg.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isFunction = _$$_REQUIRE(_dependencyMap[0], './isFunction'), + isLength = _$$_REQUIRE(_dependencyMap[1], './isLength'); + + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + module.exports = isArrayLike; +},102,[37,95],"node_modules/lodash/isArrayLike.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var DataView = _$$_REQUIRE(_dependencyMap[0], './_DataView'), + Map = _$$_REQUIRE(_dependencyMap[1], './_Map'), + Promise = _$$_REQUIRE(_dependencyMap[2], './_Promise'), + Set = _$$_REQUIRE(_dependencyMap[3], './_Set'), + WeakMap = _$$_REQUIRE(_dependencyMap[4], './_WeakMap'), + baseGetTag = _$$_REQUIRE(_dependencyMap[5], './_baseGetTag'), + toSource = _$$_REQUIRE(_dependencyMap[6], './_toSource'); + + var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + var dataViewTag = '[object DataView]'; + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + var getTag = baseGetTag; + + if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) { + getTag = function getTag(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + + case mapCtorString: + return mapTag; + + case promiseCtorString: + return promiseTag; + + case setCtorString: + return setTag; + + case weakMapCtorString: + return weakMapTag; + } + } + + return result; + }; + } + + module.exports = getTag; +},103,[104,34,105,106,107,38,47],"node_modules/lodash/_getTag.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'), + root = _$$_REQUIRE(_dependencyMap[1], './_root'); + + var DataView = getNative(root, 'DataView'); + module.exports = DataView; +},104,[35,40],"node_modules/lodash/_DataView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'), + root = _$$_REQUIRE(_dependencyMap[1], './_root'); + + var Promise = getNative(root, 'Promise'); + module.exports = Promise; +},105,[35,40],"node_modules/lodash/_Promise.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'), + root = _$$_REQUIRE(_dependencyMap[1], './_root'); + + var Set = getNative(root, 'Set'); + module.exports = Set; +},106,[35,40],"node_modules/lodash/_Set.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'), + root = _$$_REQUIRE(_dependencyMap[1], './_root'); + + var WeakMap = getNative(root, 'WeakMap'); + module.exports = WeakMap; +},107,[35,40],"node_modules/lodash/_WeakMap.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isStrictComparable = _$$_REQUIRE(_dependencyMap[0], './_isStrictComparable'), + keys = _$$_REQUIRE(_dependencyMap[1], './keys'); + + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + result[length] = [key, value, isStrictComparable(value)]; + } + + return result; + } + + module.exports = getMatchData; +},108,[109,84],"node_modules/lodash/_getMatchData.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isObject = _$$_REQUIRE(_dependencyMap[0], './isObject'); + + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + module.exports = isStrictComparable; +},109,[44],"node_modules/lodash/_isStrictComparable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function matchesStrictComparable(key, srcValue) { + return function (object) { + if (object == null) { + return false; + } + + return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); + }; + } + + module.exports = matchesStrictComparable; +},110,[],"node_modules/lodash/_matchesStrictComparable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIsEqual = _$$_REQUIRE(_dependencyMap[0], './_baseIsEqual'), + get = _$$_REQUIRE(_dependencyMap[1], './get'), + hasIn = _$$_REQUIRE(_dependencyMap[2], './hasIn'), + isKey = _$$_REQUIRE(_dependencyMap[3], './_isKey'), + isStrictComparable = _$$_REQUIRE(_dependencyMap[4], './_isStrictComparable'), + matchesStrictComparable = _$$_REQUIRE(_dependencyMap[5], './_matchesStrictComparable'), + toKey = _$$_REQUIRE(_dependencyMap[6], './_toKey'); + + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + + return function (object) { + var objValue = get(object, path); + return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + module.exports = baseMatchesProperty; +},111,[64,112,124,115,109,110,123],"node_modules/lodash/_baseMatchesProperty.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGet = _$$_REQUIRE(_dependencyMap[0], './_baseGet'); + + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + module.exports = get; +},112,[113],"node_modules/lodash/get.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var castPath = _$$_REQUIRE(_dependencyMap[0], './_castPath'), + toKey = _$$_REQUIRE(_dependencyMap[1], './_toKey'); + + function baseGet(object, path) { + path = castPath(path, object); + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + + return index && index == length ? object : undefined; + } + + module.exports = baseGet; +},113,[114,123],"node_modules/lodash/_baseGet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isArray = _$$_REQUIRE(_dependencyMap[0], './isArray'), + isKey = _$$_REQUIRE(_dependencyMap[1], './_isKey'), + stringToPath = _$$_REQUIRE(_dependencyMap[2], './_stringToPath'), + toString = _$$_REQUIRE(_dependencyMap[3], './toString'); + + function castPath(value, object) { + if (isArray(value)) { + return value; + } + + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + module.exports = castPath; +},114,[80,115,117,120],"node_modules/lodash/_castPath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isArray = _$$_REQUIRE(_dependencyMap[0], './isArray'), + isSymbol = _$$_REQUIRE(_dependencyMap[1], './isSymbol'); + + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + + function isKey(value, object) { + if (isArray(value)) { + return false; + } + + var type = typeof value; + + if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) { + return true; + } + + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); + } + + module.exports = isKey; +},115,[80,116],"node_modules/lodash/_isKey.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGetTag = _$$_REQUIRE(_dependencyMap[0], './_baseGetTag'), + isObjectLike = _$$_REQUIRE(_dependencyMap[1], './isObjectLike'); + + var symbolTag = '[object Symbol]'; + + function isSymbol(value) { + return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag; + } + + module.exports = isSymbol; +},116,[38,89],"node_modules/lodash/isSymbol.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var memoizeCapped = _$$_REQUIRE(_dependencyMap[0], './_memoizeCapped'); + + var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + var reEscapeChar = /\\(\\)?/g; + var stringToPath = memoizeCapped(function (string) { + var result = []; + + if (string.charCodeAt(0) === 46) { + result.push(''); + } + + string.replace(rePropName, function (match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match); + }); + return result; + }); + module.exports = stringToPath; +},117,[118],"node_modules/lodash/_stringToPath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var memoize = _$$_REQUIRE(_dependencyMap[0], './memoize'); + + var MAX_MEMOIZE_SIZE = 500; + + function memoizeCapped(func) { + var result = memoize(func, function (key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + + return key; + }); + var cache = result.cache; + return result; + } + + module.exports = memoizeCapped; +},118,[119],"node_modules/lodash/_memoizeCapped.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var MapCache = _$$_REQUIRE(_dependencyMap[0], './_MapCache'); + + var FUNC_ERROR_TEXT = 'Expected a function'; + + function memoize(func, resolver) { + if (typeof func != 'function' || resolver != null && typeof resolver != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + + var memoized = function memoized() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + + memoized.cache = new (memoize.Cache || MapCache)(); + return memoized; + } + + memoize.Cache = MapCache; + module.exports = memoize; +},119,[49],"node_modules/lodash/memoize.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseToString = _$$_REQUIRE(_dependencyMap[0], './_baseToString'); + + function toString(value) { + return value == null ? '' : baseToString(value); + } + + module.exports = toString; +},120,[121],"node_modules/lodash/toString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Symbol = _$$_REQUIRE(_dependencyMap[0], './_Symbol'), + arrayMap = _$$_REQUIRE(_dependencyMap[1], './_arrayMap'), + isArray = _$$_REQUIRE(_dependencyMap[2], './isArray'), + isSymbol = _$$_REQUIRE(_dependencyMap[3], './isSymbol'); + + var INFINITY = 1 / 0; + var symbolProto = Symbol ? typeof Symbol === "function" ? Symbol.prototype : "@@prototype" : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + function baseToString(value) { + if (typeof value == 'string') { + return value; + } + + if (isArray(value)) { + return arrayMap(value, baseToString) + ''; + } + + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; + } + + module.exports = baseToString; +},121,[39,122,80,116],"node_modules/lodash/_baseToString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + + return result; + } + + module.exports = arrayMap; +},122,[],"node_modules/lodash/_arrayMap.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isSymbol = _$$_REQUIRE(_dependencyMap[0], './isSymbol'); + + var INFINITY = 1 / 0; + + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + + var result = value + ''; + return result == '0' && 1 / value == -INFINITY ? '-0' : result; + } + + module.exports = toKey; +},123,[116],"node_modules/lodash/_toKey.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseHasIn = _$$_REQUIRE(_dependencyMap[0], './_baseHasIn'), + hasPath = _$$_REQUIRE(_dependencyMap[1], './_hasPath'); + + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + module.exports = hasIn; +},124,[125,126],"node_modules/lodash/hasIn.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + module.exports = baseHasIn; +},125,[],"node_modules/lodash/_baseHasIn.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var castPath = _$$_REQUIRE(_dependencyMap[0], './_castPath'), + isArguments = _$$_REQUIRE(_dependencyMap[1], './isArguments'), + isArray = _$$_REQUIRE(_dependencyMap[2], './isArray'), + isIndex = _$$_REQUIRE(_dependencyMap[3], './_isIndex'), + isLength = _$$_REQUIRE(_dependencyMap[4], './isLength'), + toKey = _$$_REQUIRE(_dependencyMap[5], './_toKey'); + + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + + if (!(result = object != null && hasFunc(object, key))) { + break; + } + + object = object[key]; + } + + if (result || ++index != length) { + return result; + } + + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)); + } + + module.exports = hasPath; +},126,[114,87,80,92,95,123],"node_modules/lodash/_hasPath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function identity(value) { + return value; + } + + module.exports = identity; +},127,[],"node_modules/lodash/identity.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseProperty = _$$_REQUIRE(_dependencyMap[0], './_baseProperty'), + basePropertyDeep = _$$_REQUIRE(_dependencyMap[1], './_basePropertyDeep'), + isKey = _$$_REQUIRE(_dependencyMap[2], './_isKey'), + toKey = _$$_REQUIRE(_dependencyMap[3], './_toKey'); + + function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); + } + + module.exports = property; +},128,[129,130,115,123],"node_modules/lodash/property.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseProperty(key) { + return function (object) { + return object == null ? undefined : object[key]; + }; + } + + module.exports = baseProperty; +},129,[],"node_modules/lodash/_baseProperty.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseGet = _$$_REQUIRE(_dependencyMap[0], './_baseGet'); + + function basePropertyDeep(path) { + return function (object) { + return baseGet(object, path); + }; + } + + module.exports = basePropertyDeep; +},130,[113],"node_modules/lodash/_basePropertyDeep.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseFindIndex = _$$_REQUIRE(_dependencyMap[0], './_baseFindIndex'), + baseIteratee = _$$_REQUIRE(_dependencyMap[1], './_baseIteratee'), + toInteger = _$$_REQUIRE(_dependencyMap[2], './toInteger'); + + var nativeMax = Math.max; + + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + + if (!length) { + return -1; + } + + var index = fromIndex == null ? 0 : toInteger(fromIndex); + + if (index < 0) { + index = nativeMax(length + index, 0); + } + + return baseFindIndex(array, baseIteratee(predicate, 3), index); + } + + module.exports = findIndex; +},131,[132,17,133],"node_modules/lodash/findIndex.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while (fromRight ? index-- : ++index < length) { + if (predicate(array[index], index, array)) { + return index; + } + } + + return -1; + } + + module.exports = baseFindIndex; +},132,[],"node_modules/lodash/_baseFindIndex.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var toFinite = _$$_REQUIRE(_dependencyMap[0], './toFinite'); + + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + return result === result ? remainder ? result - remainder : result : 0; + } + + module.exports = toInteger; +},133,[134],"node_modules/lodash/toInteger.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var toNumber = _$$_REQUIRE(_dependencyMap[0], './toNumber'); + + var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + + value = toNumber(value); + + if (value === INFINITY || value === -INFINITY) { + var sign = value < 0 ? -1 : 1; + return sign * MAX_INTEGER; + } + + return value === value ? value : 0; + } + + module.exports = toFinite; +},134,[135],"node_modules/lodash/toFinite.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isObject = _$$_REQUIRE(_dependencyMap[0], './isObject'), + isSymbol = _$$_REQUIRE(_dependencyMap[1], './isSymbol'); + + var NAN = 0 / 0; + var reTrim = /^\s+|\s+$/g; + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + var reIsBinary = /^0b[01]+$/i; + var reIsOctal = /^0o[0-7]+$/i; + var freeParseInt = parseInt; + + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + + if (isSymbol(value)) { + return NAN; + } + + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? other + '' : other; + } + + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; + } + + module.exports = toNumber; +},135,[44,116],"node_modules/lodash/toNumber.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createPrototypeProxy; + + var _assign = _$$_REQUIRE(_dependencyMap[0], 'lodash/assign'); + + var _assign2 = _interopRequireDefault(_assign); + + var _difference = _$$_REQUIRE(_dependencyMap[1], 'lodash/difference'); + + var _difference2 = _interopRequireDefault(_difference); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + function createPrototypeProxy() { + var proxy = {}; + var current = null; + var mountedInstances = []; + + function proxyToString(name) { + return function toString() { + if (typeof current[name] === 'function') { + return current[name].toString(); + } else { + return ''; + } + }; + } + + function proxyMethod(name) { + var proxiedMethod = function proxiedMethod() { + if (typeof current[name] === 'function') { + return current[name].apply(this, arguments); + } + }; + + (0, _assign2.default)(proxiedMethod, current[name]); + proxiedMethod.toString = proxyToString(name); + return proxiedMethod; + } + + function proxiedComponentDidMount() { + mountedInstances.push(this); + + if (typeof current.componentDidMount === 'function') { + return current.componentDidMount.apply(this, arguments); + } + } + + proxiedComponentDidMount.toString = proxyToString('componentDidMount'); + + function proxiedComponentWillUnmount() { + var index = mountedInstances.indexOf(this); + + if (index !== -1) { + mountedInstances.splice(index, 1); + } + + if (typeof current.componentWillUnmount === 'function') { + return current.componentWillUnmount.apply(this, arguments); + } + } + + proxiedComponentWillUnmount.toString = proxyToString('componentWillUnmount'); + + function defineProxyProperty(name, descriptor) { + Object.defineProperty(proxy, name, descriptor); + } + + function defineProxyPropertyWithValue(name, value) { + var _ref = Object.getOwnPropertyDescriptor(current, name) || {}; + + var _ref$enumerable = _ref.enumerable; + var enumerable = _ref$enumerable === undefined ? false : _ref$enumerable; + var _ref$writable = _ref.writable; + var writable = _ref$writable === undefined ? true : _ref$writable; + defineProxyProperty(name, { + configurable: true, + enumerable: enumerable, + writable: writable, + value: value + }); + } + + function createAutoBindMap() { + if (!current.__reactAutoBindMap) { + return; + } + + var __reactAutoBindMap = {}; + + for (var name in current.__reactAutoBindMap) { + if (typeof proxy[name] === 'function' && current.__reactAutoBindMap.hasOwnProperty(name)) { + __reactAutoBindMap[name] = proxy[name]; + } + } + + return __reactAutoBindMap; + } + + function createAutoBindPairs() { + var __reactAutoBindPairs = []; + + for (var i = 0; i < current.__reactAutoBindPairs.length; i += 2) { + var name = current.__reactAutoBindPairs[i]; + var method = proxy[name]; + + if (typeof method === 'function') { + __reactAutoBindPairs.push(name, method); + } + } + + return __reactAutoBindPairs; + } + + function update(next) { + current = next; + var currentNames = Object.getOwnPropertyNames(current); + var previousName = Object.getOwnPropertyNames(proxy); + var removedNames = (0, _difference2.default)(previousName, currentNames); + removedNames.forEach(function (name) { + delete proxy[name]; + }); + currentNames.forEach(function (name) { + var descriptor = Object.getOwnPropertyDescriptor(current, name); + + if (typeof descriptor.value === 'function') { + defineProxyPropertyWithValue(name, proxyMethod(name)); + } else { + defineProxyProperty(name, descriptor); + } + }); + defineProxyPropertyWithValue('componentDidMount', proxiedComponentDidMount); + defineProxyPropertyWithValue('componentWillUnmount', proxiedComponentWillUnmount); + + if (current.hasOwnProperty('__reactAutoBindMap')) { + defineProxyPropertyWithValue('__reactAutoBindMap', createAutoBindMap()); + } + + if (current.hasOwnProperty('__reactAutoBindPairs')) { + defineProxyPropertyWithValue('__reactAutoBindPairs', createAutoBindPairs()); + } + + proxy.__proto__ = next; + return mountedInstances; + } + + function get() { + return proxy; + } + + return { + update: update, + get: get + }; + } + + ; +},136,[137,151],"node_modules/react-proxy/modules/createPrototypeProxy.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assignValue = _$$_REQUIRE(_dependencyMap[0], './_assignValue'), + copyObject = _$$_REQUIRE(_dependencyMap[1], './_copyObject'), + createAssigner = _$$_REQUIRE(_dependencyMap[2], './_createAssigner'), + isArrayLike = _$$_REQUIRE(_dependencyMap[3], './isArrayLike'), + isPrototype = _$$_REQUIRE(_dependencyMap[4], './_isPrototype'), + keys = _$$_REQUIRE(_dependencyMap[5], './keys'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var assign = createAssigner(function (object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + module.exports = assign; +},137,[138,141,142,102,99,84],"node_modules/lodash/assign.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseAssignValue = _$$_REQUIRE(_dependencyMap[0], './_baseAssignValue'), + eq = _$$_REQUIRE(_dependencyMap[1], './eq'); + + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + + function assignValue(object, key, value) { + var objValue = object[key]; + + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) { + baseAssignValue(object, key, value); + } + } + + module.exports = assignValue; +},138,[139,25],"node_modules/lodash/_assignValue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var defineProperty = _$$_REQUIRE(_dependencyMap[0], './_defineProperty'); + + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + module.exports = baseAssignValue; +},139,[140],"node_modules/lodash/_baseAssignValue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var getNative = _$$_REQUIRE(_dependencyMap[0], './_getNative'); + + var defineProperty = function () { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }(); + + module.exports = defineProperty; +},140,[35],"node_modules/lodash/_defineProperty.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var assignValue = _$$_REQUIRE(_dependencyMap[0], './_assignValue'), + baseAssignValue = _$$_REQUIRE(_dependencyMap[1], './_baseAssignValue'); + + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + + return object; + } + + module.exports = copyObject; +},141,[138,139],"node_modules/lodash/_copyObject.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseRest = _$$_REQUIRE(_dependencyMap[0], './_baseRest'), + isIterateeCall = _$$_REQUIRE(_dependencyMap[1], './_isIterateeCall'); + + function createAssigner(assigner) { + return baseRest(function (object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + customizer = assigner.length > 3 && typeof customizer == 'function' ? (length--, customizer) : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + + object = Object(object); + + while (++index < length) { + var source = sources[index]; + + if (source) { + assigner(object, source, index, customizer); + } + } + + return object; + }); + } + + module.exports = createAssigner; +},142,[143,150],"node_modules/lodash/_createAssigner.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var identity = _$$_REQUIRE(_dependencyMap[0], './identity'), + overRest = _$$_REQUIRE(_dependencyMap[1], './_overRest'), + setToString = _$$_REQUIRE(_dependencyMap[2], './_setToString'); + + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + module.exports = baseRest; +},143,[127,144,146],"node_modules/lodash/_baseRest.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var apply = _$$_REQUIRE(_dependencyMap[0], './_apply'); + + var nativeMax = Math.max; + + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? func.length - 1 : start, 0); + return function () { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + + index = -1; + var otherArgs = Array(start + 1); + + while (++index < start) { + otherArgs[index] = args[index]; + } + + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + module.exports = overRest; +},144,[145],"node_modules/lodash/_overRest.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + + case 1: + return func.call(thisArg, args[0]); + + case 2: + return func.call(thisArg, args[0], args[1]); + + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + + return func.apply(thisArg, args); + } + + module.exports = apply; +},145,[],"node_modules/lodash/_apply.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseSetToString = _$$_REQUIRE(_dependencyMap[0], './_baseSetToString'), + shortOut = _$$_REQUIRE(_dependencyMap[1], './_shortOut'); + + var setToString = shortOut(baseSetToString); + module.exports = setToString; +},146,[147,149],"node_modules/lodash/_setToString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var constant = _$$_REQUIRE(_dependencyMap[0], './constant'), + defineProperty = _$$_REQUIRE(_dependencyMap[1], './_defineProperty'), + identity = _$$_REQUIRE(_dependencyMap[2], './identity'); + + var baseSetToString = !defineProperty ? identity : function (func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + module.exports = baseSetToString; +},147,[148,140,127],"node_modules/lodash/_baseSetToString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function constant(value) { + return function () { + return value; + }; + } + + module.exports = constant; +},148,[],"node_modules/lodash/constant.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var HOT_COUNT = 800, + HOT_SPAN = 16; + var nativeNow = Date.now; + + function shortOut(func) { + var count = 0, + lastCalled = 0; + return function () { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + + return func.apply(undefined, arguments); + }; + } + + module.exports = shortOut; +},149,[],"node_modules/lodash/_shortOut.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var eq = _$$_REQUIRE(_dependencyMap[0], './eq'), + isArrayLike = _$$_REQUIRE(_dependencyMap[1], './isArrayLike'), + isIndex = _$$_REQUIRE(_dependencyMap[2], './_isIndex'), + isObject = _$$_REQUIRE(_dependencyMap[3], './isObject'); + + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + + var type = typeof index; + + if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) { + return eq(object[index], value); + } + + return false; + } + + module.exports = isIterateeCall; +},150,[25,102,92,44],"node_modules/lodash/_isIterateeCall.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseDifference = _$$_REQUIRE(_dependencyMap[0], './_baseDifference'), + baseFlatten = _$$_REQUIRE(_dependencyMap[1], './_baseFlatten'), + baseRest = _$$_REQUIRE(_dependencyMap[2], './_baseRest'), + isArrayLikeObject = _$$_REQUIRE(_dependencyMap[3], './isArrayLikeObject'); + + var difference = baseRest(function (array, values) { + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : []; + }); + module.exports = difference; +},151,[152,158,143,160],"node_modules/lodash/difference.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var SetCache = _$$_REQUIRE(_dependencyMap[0], './_SetCache'), + arrayIncludes = _$$_REQUIRE(_dependencyMap[1], './_arrayIncludes'), + arrayIncludesWith = _$$_REQUIRE(_dependencyMap[2], './_arrayIncludesWith'), + arrayMap = _$$_REQUIRE(_dependencyMap[3], './_arrayMap'), + baseUnary = _$$_REQUIRE(_dependencyMap[4], './_baseUnary'), + cacheHas = _$$_REQUIRE(_dependencyMap[5], './_cacheHas'); + + var LARGE_ARRAY_SIZE = 200; + + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + + outer: while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + value = comparator || value !== 0 ? value : 0; + + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + + result.push(value); + } else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + + return result; + } + + module.exports = baseDifference; +},152,[67,153,157,122,96,71],"node_modules/lodash/_baseDifference.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseIndexOf = _$$_REQUIRE(_dependencyMap[0], './_baseIndexOf'); + + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + module.exports = arrayIncludes; +},153,[154],"node_modules/lodash/_arrayIncludes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var baseFindIndex = _$$_REQUIRE(_dependencyMap[0], './_baseFindIndex'), + baseIsNaN = _$$_REQUIRE(_dependencyMap[1], './_baseIsNaN'), + strictIndexOf = _$$_REQUIRE(_dependencyMap[2], './_strictIndexOf'); + + function baseIndexOf(array, value, fromIndex) { + return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); + } + + module.exports = baseIndexOf; +},154,[132,155,156],"node_modules/lodash/_baseIndexOf.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function baseIsNaN(value) { + return value !== value; + } + + module.exports = baseIsNaN; +},155,[],"node_modules/lodash/_baseIsNaN.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + + return -1; + } + + module.exports = strictIndexOf; +},156,[],"node_modules/lodash/_strictIndexOf.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + + return false; + } + + module.exports = arrayIncludesWith; +},157,[],"node_modules/lodash/_arrayIncludesWith.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var arrayPush = _$$_REQUIRE(_dependencyMap[0], './_arrayPush'), + isFlattenable = _$$_REQUIRE(_dependencyMap[1], './_isFlattenable'); + + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + + if (depth > 0 && predicate(value)) { + if (depth > 1) { + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + + return result; + } + + module.exports = baseFlatten; +},158,[79,159],"node_modules/lodash/_baseFlatten.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Symbol = _$$_REQUIRE(_dependencyMap[0], './_Symbol'), + isArguments = _$$_REQUIRE(_dependencyMap[1], './isArguments'), + isArray = _$$_REQUIRE(_dependencyMap[2], './isArray'); + + var spreadableSymbol = Symbol ? typeof Symbol === "function" ? Symbol.isConcatSpreadable : "@@isConcatSpreadable" : undefined; + + function isFlattenable(value) { + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + module.exports = isFlattenable; +},159,[39,87,80],"node_modules/lodash/_isFlattenable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var isArrayLike = _$$_REQUIRE(_dependencyMap[0], './isArrayLike'), + isObjectLike = _$$_REQUIRE(_dependencyMap[1], './isObjectLike'); + + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + module.exports = isArrayLikeObject; +},160,[102,89],"node_modules/lodash/isArrayLikeObject.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = bindAutoBindMethods; + + function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + var componentName = component.constructor.displayName, + _bind = boundMethod.bind; + + boundMethod.bind = function (newThis) { + var args = Array.prototype.slice.call(arguments, 1); + + if (newThis !== component && newThis !== null) { + console.warn('bind(): React component methods may only be bound to the ' + 'component instance. See ' + componentName); + } else if (!args.length) { + console.warn('bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See ' + componentName); + return boundMethod; + } + + var reboundMethod = _bind.apply(boundMethod, arguments); + + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + return reboundMethod; + }; + + return boundMethod; + } + + function bindAutoBindMethodsFromMap(component) { + for (var autoBindKey in component.__reactAutoBindMap) { + if (!component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) { + return; + } + + if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) { + continue; + } + + var method = component.__reactAutoBindMap[autoBindKey]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } + + function bindAutoBindMethods(component) { + if (component.__reactAutoBindPairs) { + bindAutoBindMethodsFromArray(component); + } else if (component.__reactAutoBindMap) { + bindAutoBindMethodsFromMap(component); + } + } + + function bindAutoBindMethodsFromArray(component) { + var pairs = component.__reactAutoBindPairs; + + if (!pairs) { + return; + } + + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + + if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) { + continue; + } + + var method = pairs[i + 1]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } +},161,[],"node_modules/react-proxy/modules/bindAutoBindMethods.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = deleteUnknownAutoBindMethods; + + function shouldDeleteClassicInstanceMethod(component, name) { + if (component.__reactAutoBindMap && component.__reactAutoBindMap.hasOwnProperty(name)) { + return false; + } + + if (component.__reactAutoBindPairs && component.__reactAutoBindPairs.indexOf(name) >= 0) { + return false; + } + + if (component[name].__reactBoundArguments !== null) { + return false; + } + + return true; + } + + function shouldDeleteModernInstanceMethod(component, name) { + var prototype = component.constructor.prototype; + var prototypeDescriptor = Object.getOwnPropertyDescriptor(prototype, name); + + if (!prototypeDescriptor || !prototypeDescriptor.get) { + return false; + } + + if (prototypeDescriptor.get().length !== component[name].length) { + return false; + } + + return true; + } + + function shouldDeleteInstanceMethod(component, name) { + var descriptor = Object.getOwnPropertyDescriptor(component, name); + + if (typeof descriptor.value !== 'function') { + return; + } + + if (component.__reactAutoBindMap || component.__reactAutoBindPairs) { + return shouldDeleteClassicInstanceMethod(component, name); + } else { + return shouldDeleteModernInstanceMethod(component, name); + } + } + + function deleteUnknownAutoBindMethods(component) { + var names = Object.getOwnPropertyNames(component); + names.forEach(function (name) { + if (shouldDeleteInstanceMethod(component, name)) { + delete component[name]; + } + }); + } +},162,[],"node_modules/react-proxy/modules/deleteUnknownAutoBindMethods.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + exports.__esModule = true; + exports['default'] = getForceUpdate; + + function traverseRenderedChildren(internalInstance, callback, argument) { + callback(internalInstance, argument); + + if (internalInstance._renderedComponent) { + traverseRenderedChildren(internalInstance._renderedComponent, callback, argument); + } else { + for (var key in internalInstance._renderedChildren) { + if (internalInstance._renderedChildren.hasOwnProperty(key)) { + traverseRenderedChildren(internalInstance._renderedChildren[key], callback, argument); + } + } + } + } + + function setPendingForceUpdate(internalInstance) { + if (internalInstance._pendingForceUpdate === false) { + internalInstance._pendingForceUpdate = true; + } + } + + function forceUpdateIfPending(internalInstance, React) { + if (internalInstance._pendingForceUpdate === true) { + var publicInstance = internalInstance._instance; + React.Component.prototype.forceUpdate.call(publicInstance); + } + } + + function deepForceUpdateStack(instance, React) { + var internalInstance = instance._reactInternalInstance; + traverseRenderedChildren(internalInstance, setPendingForceUpdate); + traverseRenderedChildren(internalInstance, forceUpdateIfPending, React); + } + + function deepForceUpdate(instance, React) { + var root = instance._reactInternalFiber || instance._reactInternalInstance; + + if (typeof root.tag !== 'number') { + return deepForceUpdateStack(instance, React); + } + + var node = root; + + while (true) { + if (node.stateNode !== null && typeof node.type === 'function') { + var publicInstance = node.stateNode; + var updater = publicInstance.updater; + + if (typeof publicInstance.forceUpdate === 'function') { + publicInstance.forceUpdate(); + } else if (updater && typeof updater.enqueueForceUpdate === 'function') { + updater.enqueueForceUpdate(publicInstance); + } + } + + if (node.child) { + node.child['return'] = node; + node = node.child; + continue; + } + + if (node === root) { + return undefined; + } + + while (!node.sibling) { + if (!node['return'] || node['return'] === root) { + return undefined; + } + + node = node['return']; + } + + node.sibling['return'] = node['return']; + node = node.sibling; + } + } + + function getForceUpdate(React) { + return function (instance) { + deepForceUpdate(instance, React); + }; + } + + module.exports = exports['default']; +},163,[],"node_modules/react-deep-force-update/lib/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var win; + + if (typeof window !== "undefined") { + win = window; + } else if (typeof global !== "undefined") { + win = global; + } else if (typeof self !== "undefined") { + win = self; + } else { + win = {}; + } + + module.exports = win; +},164,[],"node_modules/global/window.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var ReactNative = { + get AccessibilityInfo() { + return _$$_REQUIRE(_dependencyMap[1], 'AccessibilityInfo'); + }, + + get ActivityIndicator() { + return _$$_REQUIRE(_dependencyMap[2], 'ActivityIndicator'); + }, + + get ART() { + return _$$_REQUIRE(_dependencyMap[3], 'ReactNativeART'); + }, + + get Button() { + return _$$_REQUIRE(_dependencyMap[4], 'Button'); + }, + + get CheckBox() { + return _$$_REQUIRE(_dependencyMap[5], 'CheckBox'); + }, + + get DatePickerIOS() { + return _$$_REQUIRE(_dependencyMap[6], 'DatePickerIOS'); + }, + + get DrawerLayoutAndroid() { + return _$$_REQUIRE(_dependencyMap[7], 'DrawerLayoutAndroid'); + }, + + get FlatList() { + return _$$_REQUIRE(_dependencyMap[8], 'FlatList'); + }, + + get Image() { + return _$$_REQUIRE(_dependencyMap[9], 'Image'); + }, + + get ImageBackground() { + return _$$_REQUIRE(_dependencyMap[10], 'ImageBackground'); + }, + + get ImageEditor() { + return _$$_REQUIRE(_dependencyMap[11], 'ImageEditor'); + }, + + get ImageStore() { + return _$$_REQUIRE(_dependencyMap[12], 'ImageStore'); + }, + + get InputAccessoryView() { + return _$$_REQUIRE(_dependencyMap[13], 'InputAccessoryView'); + }, + + get KeyboardAvoidingView() { + return _$$_REQUIRE(_dependencyMap[14], 'KeyboardAvoidingView'); + }, + + get ListView() { + return _$$_REQUIRE(_dependencyMap[15], 'ListView'); + }, + + get MaskedViewIOS() { + return _$$_REQUIRE(_dependencyMap[16], 'MaskedViewIOS'); + }, + + get Modal() { + return _$$_REQUIRE(_dependencyMap[17], 'Modal'); + }, + + get NavigatorIOS() { + return _$$_REQUIRE(_dependencyMap[18], 'NavigatorIOS'); + }, + + get Picker() { + return _$$_REQUIRE(_dependencyMap[19], 'Picker'); + }, + + get PickerIOS() { + return _$$_REQUIRE(_dependencyMap[20], 'PickerIOS'); + }, + + get ProgressBarAndroid() { + return _$$_REQUIRE(_dependencyMap[21], 'ProgressBarAndroid'); + }, + + get ProgressViewIOS() { + return _$$_REQUIRE(_dependencyMap[22], 'ProgressViewIOS'); + }, + + get SafeAreaView() { + return _$$_REQUIRE(_dependencyMap[23], 'SafeAreaView'); + }, + + get ScrollView() { + return _$$_REQUIRE(_dependencyMap[24], 'ScrollView'); + }, + + get SectionList() { + return _$$_REQUIRE(_dependencyMap[25], 'SectionList'); + }, + + get SegmentedControlIOS() { + return _$$_REQUIRE(_dependencyMap[26], 'SegmentedControlIOS'); + }, + + get Slider() { + return _$$_REQUIRE(_dependencyMap[27], 'Slider'); + }, + + get SnapshotViewIOS() { + return _$$_REQUIRE(_dependencyMap[28], 'SnapshotViewIOS'); + }, + + get Switch() { + return _$$_REQUIRE(_dependencyMap[29], 'Switch'); + }, + + get RefreshControl() { + return _$$_REQUIRE(_dependencyMap[30], 'RefreshControl'); + }, + + get StatusBar() { + return _$$_REQUIRE(_dependencyMap[31], 'StatusBar'); + }, + + get SwipeableFlatList() { + return _$$_REQUIRE(_dependencyMap[32], 'SwipeableFlatList'); + }, + + get SwipeableListView() { + return _$$_REQUIRE(_dependencyMap[33], 'SwipeableListView'); + }, + + get TabBarIOS() { + return _$$_REQUIRE(_dependencyMap[34], 'TabBarIOS'); + }, + + get Text() { + return _$$_REQUIRE(_dependencyMap[35], 'Text'); + }, + + get TextInput() { + return _$$_REQUIRE(_dependencyMap[36], 'TextInput'); + }, + + get ToastAndroid() { + return _$$_REQUIRE(_dependencyMap[37], 'ToastAndroid'); + }, + + get ToolbarAndroid() { + return _$$_REQUIRE(_dependencyMap[38], 'ToolbarAndroid'); + }, + + get Touchable() { + return _$$_REQUIRE(_dependencyMap[39], 'Touchable'); + }, + + get TouchableHighlight() { + return _$$_REQUIRE(_dependencyMap[40], 'TouchableHighlight'); + }, + + get TouchableNativeFeedback() { + return _$$_REQUIRE(_dependencyMap[41], 'TouchableNativeFeedback'); + }, + + get TouchableOpacity() { + return _$$_REQUIRE(_dependencyMap[42], 'TouchableOpacity'); + }, + + get TouchableWithoutFeedback() { + return _$$_REQUIRE(_dependencyMap[43], 'TouchableWithoutFeedback'); + }, + + get View() { + return _$$_REQUIRE(_dependencyMap[44], 'View'); + }, + + get ViewPagerAndroid() { + return _$$_REQUIRE(_dependencyMap[45], 'ViewPagerAndroid'); + }, + + get VirtualizedList() { + return _$$_REQUIRE(_dependencyMap[46], 'VirtualizedList'); + }, + + get WebView() { + return _$$_REQUIRE(_dependencyMap[47], 'WebView'); + }, + + get ActionSheetIOS() { + return _$$_REQUIRE(_dependencyMap[48], 'ActionSheetIOS'); + }, + + get Alert() { + return _$$_REQUIRE(_dependencyMap[49], 'Alert'); + }, + + get AlertIOS() { + return _$$_REQUIRE(_dependencyMap[50], 'AlertIOS'); + }, + + get Animated() { + return _$$_REQUIRE(_dependencyMap[51], 'Animated'); + }, + + get AppRegistry() { + return _$$_REQUIRE(_dependencyMap[52], 'AppRegistry'); + }, + + get AppState() { + return _$$_REQUIRE(_dependencyMap[53], 'AppState'); + }, + + get AsyncStorage() { + return _$$_REQUIRE(_dependencyMap[54], 'AsyncStorage'); + }, + + get BackAndroid() { + return _$$_REQUIRE(_dependencyMap[55], 'BackAndroid'); + }, + + get BackHandler() { + return _$$_REQUIRE(_dependencyMap[56], 'BackHandler'); + }, + + get CameraRoll() { + return _$$_REQUIRE(_dependencyMap[57], 'CameraRoll'); + }, + + get Clipboard() { + return _$$_REQUIRE(_dependencyMap[58], 'Clipboard'); + }, + + get DatePickerAndroid() { + return _$$_REQUIRE(_dependencyMap[59], 'DatePickerAndroid'); + }, + + get DeviceInfo() { + return _$$_REQUIRE(_dependencyMap[60], 'DeviceInfo'); + }, + + get Dimensions() { + return _$$_REQUIRE(_dependencyMap[61], 'Dimensions'); + }, + + get Easing() { + return _$$_REQUIRE(_dependencyMap[62], 'Easing'); + }, + + get findNodeHandle() { + return _$$_REQUIRE(_dependencyMap[63], 'ReactNative').findNodeHandle; + }, + + get I18nManager() { + return _$$_REQUIRE(_dependencyMap[64], 'I18nManager'); + }, + + get ImagePickerIOS() { + return _$$_REQUIRE(_dependencyMap[65], 'ImagePickerIOS'); + }, + + get InteractionManager() { + return _$$_REQUIRE(_dependencyMap[66], 'InteractionManager'); + }, + + get Keyboard() { + return _$$_REQUIRE(_dependencyMap[67], 'Keyboard'); + }, + + get LayoutAnimation() { + return _$$_REQUIRE(_dependencyMap[68], 'LayoutAnimation'); + }, + + get Linking() { + return _$$_REQUIRE(_dependencyMap[69], 'Linking'); + }, + + get NativeEventEmitter() { + return _$$_REQUIRE(_dependencyMap[70], 'NativeEventEmitter'); + }, + + get NetInfo() { + return _$$_REQUIRE(_dependencyMap[71], 'NetInfo'); + }, + + get PanResponder() { + return _$$_REQUIRE(_dependencyMap[72], 'PanResponder'); + }, + + get PermissionsAndroid() { + return _$$_REQUIRE(_dependencyMap[73], 'PermissionsAndroid'); + }, + + get PixelRatio() { + return _$$_REQUIRE(_dependencyMap[74], 'PixelRatio'); + }, + + get PushNotificationIOS() { + return _$$_REQUIRE(_dependencyMap[75], 'PushNotificationIOS'); + }, + + get Settings() { + return _$$_REQUIRE(_dependencyMap[76], 'Settings'); + }, + + get Share() { + return _$$_REQUIRE(_dependencyMap[77], 'Share'); + }, + + get StatusBarIOS() { + return _$$_REQUIRE(_dependencyMap[78], 'StatusBarIOS'); + }, + + get StyleSheet() { + return _$$_REQUIRE(_dependencyMap[79], 'StyleSheet'); + }, + + get Systrace() { + return _$$_REQUIRE(_dependencyMap[80], 'Systrace'); + }, + + get TimePickerAndroid() { + return _$$_REQUIRE(_dependencyMap[81], 'TimePickerAndroid'); + }, + + get TVEventHandler() { + return _$$_REQUIRE(_dependencyMap[82], 'TVEventHandler'); + }, + + get UIManager() { + return _$$_REQUIRE(_dependencyMap[83], 'UIManager'); + }, + + get unstable_batchedUpdates() { + return _$$_REQUIRE(_dependencyMap[63], 'ReactNative').unstable_batchedUpdates; + }, + + get Vibration() { + return _$$_REQUIRE(_dependencyMap[84], 'Vibration'); + }, + + get VibrationIOS() { + return _$$_REQUIRE(_dependencyMap[85], 'VibrationIOS'); + }, + + get YellowBox() { + return _$$_REQUIRE(_dependencyMap[86], 'YellowBox'); + }, + + get DeviceEventEmitter() { + return _$$_REQUIRE(_dependencyMap[87], 'RCTDeviceEventEmitter'); + }, + + get NativeAppEventEmitter() { + return _$$_REQUIRE(_dependencyMap[88], 'RCTNativeAppEventEmitter'); + }, + + get NativeModules() { + return _$$_REQUIRE(_dependencyMap[89], 'NativeModules'); + }, + + get Platform() { + return _$$_REQUIRE(_dependencyMap[90], 'Platform'); + }, + + get processColor() { + return _$$_REQUIRE(_dependencyMap[91], 'processColor'); + }, + + get requireNativeComponent() { + return _$$_REQUIRE(_dependencyMap[92], 'requireNativeComponent'); + }, + + get takeSnapshot() { + return _$$_REQUIRE(_dependencyMap[93], 'takeSnapshot'); + }, + + get ColorPropType() { + return _$$_REQUIRE(_dependencyMap[94], 'ColorPropType'); + }, + + get EdgeInsetsPropType() { + return _$$_REQUIRE(_dependencyMap[95], 'EdgeInsetsPropType'); + }, + + get PointPropType() { + return _$$_REQUIRE(_dependencyMap[96], 'PointPropType'); + }, + + get ViewPropTypes() { + return _$$_REQUIRE(_dependencyMap[97], 'ViewPropTypes'); + }, + + get Navigator() { + invariant(false, 'Navigator is deprecated and has been removed from this package. It can now be installed ' + 'and imported from `react-native-deprecated-custom-components` instead of `react-native`. ' + 'Learn about alternative navigation solutions at http://facebook.github.io/react-native/docs/navigation.html'); + } + + }; + module.exports = ReactNative; +},165,[166,167,199,241,251,385,386,387,388,361,402,404,405,406,407,390,408,409,446,448,449,239,451,429,367,452,454,455,456,457,396,458,459,463,465,252,467,474,475,257,420,330,331,383,227,476,397,477,481,299,300,332,482,317,492,493,487,494,495,496,204,203,358,261,445,497,340,371,372,478,286,498,461,303,202,499,500,501,502,201,172,503,327,218,504,505,427,194,307,168,176,221,229,506,207,254,368,376],"node_modules/react-native/Libraries/react-native/react-native-implementation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var validateFormat = function validateFormat(format) {}; + + if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } + + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; + throw error; + } + } + + module.exports = invariant; +},166,[],"node_modules/react-native/node_modules/fbjs/lib/invariant.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var Promise = _$$_REQUIRE(_dependencyMap[1], 'Promise'); + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'RCTDeviceEventEmitter'); + + var AccessibilityManager = NativeModules.AccessibilityManager; + var VOICE_OVER_EVENT = 'voiceOverDidChange'; + var ANNOUNCEMENT_DID_FINISH_EVENT = 'announcementDidFinish'; + + var _subscriptions = new Map(); + + var AccessibilityInfo = { + fetch: function fetch() { + return new Promise(function (resolve, reject) { + AccessibilityManager.getCurrentVoiceOverState(resolve, reject); + }); + }, + addEventListener: function addEventListener(eventName, handler) { + var listener; + + if (eventName === 'change') { + listener = RCTDeviceEventEmitter.addListener(VOICE_OVER_EVENT, handler); + } else if (eventName === 'announcementFinished') { + listener = RCTDeviceEventEmitter.addListener(ANNOUNCEMENT_DID_FINISH_EVENT, handler); + } + + _subscriptions.set(handler, listener); + + return { + remove: AccessibilityInfo.removeEventListener.bind(null, eventName, handler) + }; + }, + setAccessibilityFocus: function setAccessibilityFocus(reactTag) { + AccessibilityManager.setAccessibilityFocus(reactTag); + }, + announceForAccessibility: function announceForAccessibility(announcement) { + AccessibilityManager.announceForAccessibility(announcement); + }, + removeEventListener: function removeEventListener(eventName, handler) { + var listener = _subscriptions.get(handler); + + if (!listener) { + return; + } + + listener.remove(); + + _subscriptions.delete(handler); + } + }; + module.exports = AccessibilityInfo; +},167,[168,186,194],"node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[0], 'BatchedBridge'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + function genModule(config, moduleID) { + if (!config) { + return null; + } + + var _config = _slicedToArray(config, 5), + moduleName = _config[0], + constants = _config[1], + methods = _config[2], + promiseMethods = _config[3], + syncMethods = _config[4]; + + invariant(!moduleName.startsWith('RCT') && !moduleName.startsWith('RK'), "Module name prefixes should've been stripped by the native side " + "but wasn't for " + moduleName); + + if (!constants && !methods) { + return { + name: moduleName + }; + } + + var module = {}; + methods && methods.forEach(function (methodName, methodID) { + var isPromise = promiseMethods && arrayContains(promiseMethods, methodID); + var isSync = syncMethods && arrayContains(syncMethods, methodID); + invariant(!isPromise || !isSync, 'Cannot have a method that is both async and a sync hook'); + var methodType = isPromise ? 'promise' : isSync ? 'sync' : 'async'; + module[methodName] = genMethod(moduleID, methodID, methodType); + }); + + _extends(module, constants); + + if (__DEV__) { + BatchedBridge.createDebugLookup(moduleID, moduleName, methods); + } + + return { + name: moduleName, + module: module + }; + } + + global.__fbGenNativeModule = genModule; + + function loadModule(name, moduleID) { + invariant(global.nativeRequireModuleConfig, "Can't lazily create module without nativeRequireModuleConfig"); + var config = global.nativeRequireModuleConfig(name); + var info = genModule(config, moduleID); + return info && info.module; + } + + function genMethod(moduleID, methodID, type) { + var fn = null; + + if (type === 'promise') { + fn = function fn() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return new Promise(function (resolve, reject) { + BatchedBridge.enqueueNativeCall(moduleID, methodID, args, function (data) { + return resolve(data); + }, function (errorData) { + return reject(createErrorFromErrorData(errorData)); + }); + }); + }; + } else if (type === 'sync') { + fn = function fn() { + if (__DEV__) { + invariant(global.nativeCallSyncHook, 'Calling synchronous methods on native ' + 'modules is not supported in Chrome.\n\n Consider providing alternative ' + 'methods to expose this method in debug mode, e.g. by exposing constants ' + 'ahead-of-time.'); + } + + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return global.nativeCallSyncHook(moduleID, methodID, args); + }; + } else { + fn = function fn() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + var lastArg = args.length > 0 ? args[args.length - 1] : null; + var secondLastArg = args.length > 1 ? args[args.length - 2] : null; + var hasSuccessCallback = typeof lastArg === 'function'; + var hasErrorCallback = typeof secondLastArg === 'function'; + hasErrorCallback && invariant(hasSuccessCallback, 'Cannot have a non-function arg after a function arg.'); + var onSuccess = hasSuccessCallback ? lastArg : null; + var onFail = hasErrorCallback ? secondLastArg : null; + var callbackCount = hasSuccessCallback + hasErrorCallback; + args = args.slice(0, args.length - callbackCount); + BatchedBridge.enqueueNativeCall(moduleID, methodID, args, onFail, onSuccess); + }; + } + + fn.type = type; + return fn; + } + + function arrayContains(array, value) { + return array.indexOf(value) !== -1; + } + + function createErrorFromErrorData(errorData) { + var _ref = errorData || {}, + message = _ref.message, + extraErrorInfo = _objectWithoutProperties(_ref, ["message"]); + + var error = new Error(message); + error.framesToPop = 1; + return _extends(error, extraErrorInfo); + } + + var NativeModules = {}; + + if (global.nativeModuleProxy) { + NativeModules = global.nativeModuleProxy; + } else if (!global.nativeExtensions) { + var bridgeConfig = global.__fbBatchedBridgeConfig; + invariant(bridgeConfig, '__fbBatchedBridgeConfig is not set, cannot invoke native modules'); + + var defineLazyObjectProperty = _$$_REQUIRE(_dependencyMap[2], 'defineLazyObjectProperty'); + + (bridgeConfig.remoteModuleConfig || []).forEach(function (config, moduleID) { + var info = genModule(config, moduleID); + + if (!info) { + return; + } + + if (info.module) { + NativeModules[info.name] = info.module; + } else { + defineLazyObjectProperty(NativeModules, info.name, { + get: function get() { + return loadModule(info.name, moduleID); + } + }); + } + }); + } + + module.exports = NativeModules; +},168,[169,166,185],"node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var MessageQueue = _$$_REQUIRE(_dependencyMap[0], 'MessageQueue'); + + var BatchedBridge = new MessageQueue(); + Object.defineProperty(global, '__fbBatchedBridge', { + configurable: true, + value: BatchedBridge + }); + module.exports = BatchedBridge; +},169,[170],"node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var ErrorUtils = _$$_REQUIRE(_dependencyMap[0], 'ErrorUtils'); + + var Systrace = _$$_REQUIRE(_dependencyMap[1], 'Systrace'); + + var deepFreezeAndThrowOnMutationInDev = _$$_REQUIRE(_dependencyMap[2], 'deepFreezeAndThrowOnMutationInDev'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var stringifySafe = _$$_REQUIRE(_dependencyMap[4], 'stringifySafe'); + + var TO_JS = 0; + var TO_NATIVE = 1; + var MODULE_IDS = 0; + var METHOD_IDS = 1; + var PARAMS = 2; + var MIN_TIME_BETWEEN_FLUSHES_MS = 5; + var TRACE_TAG_REACT_APPS = 1 << 17; + var DEBUG_INFO_LIMIT = 32; + var JSTimers = null; + + var MessageQueue = function () { + function MessageQueue() { + _classCallCheck(this, MessageQueue); + + this._lazyCallableModules = {}; + this._queue = [[], [], [], 0]; + this._successCallbacks = {}; + this._failureCallbacks = {}; + this._callID = 0; + this._lastFlush = 0; + this._eventLoopStartTime = new Date().getTime(); + + if (__DEV__) { + this._debugInfo = {}; + this._remoteModuleTable = {}; + this._remoteMethodTable = {}; + } + + this.callFunctionReturnFlushedQueue = this.callFunctionReturnFlushedQueue.bind(this); + this.callFunctionReturnResultAndFlushedQueue = this.callFunctionReturnResultAndFlushedQueue.bind(this); + this.flushedQueue = this.flushedQueue.bind(this); + this.invokeCallbackAndReturnFlushedQueue = this.invokeCallbackAndReturnFlushedQueue.bind(this); + } + + _createClass(MessageQueue, [{ + key: "callFunctionReturnFlushedQueue", + value: function callFunctionReturnFlushedQueue(module, method, args) { + var _this = this; + + this.__guard(function () { + _this.__callFunction(module, method, args); + }); + + return this.flushedQueue(); + } + }, { + key: "callFunctionReturnResultAndFlushedQueue", + value: function callFunctionReturnResultAndFlushedQueue(module, method, args) { + var _this2 = this; + + var result; + + this.__guard(function () { + result = _this2.__callFunction(module, method, args); + }); + + return [result, this.flushedQueue()]; + } + }, { + key: "invokeCallbackAndReturnFlushedQueue", + value: function invokeCallbackAndReturnFlushedQueue(cbID, args) { + var _this3 = this; + + this.__guard(function () { + _this3.__invokeCallback(cbID, args); + }); + + return this.flushedQueue(); + } + }, { + key: "flushedQueue", + value: function flushedQueue() { + var _this4 = this; + + this.__guard(function () { + _this4.__callImmediates(); + }); + + var queue = this._queue; + this._queue = [[], [], [], this._callID]; + return queue[0].length ? queue : null; + } + }, { + key: "getEventLoopRunningTime", + value: function getEventLoopRunningTime() { + return new Date().getTime() - this._eventLoopStartTime; + } + }, { + key: "registerCallableModule", + value: function registerCallableModule(name, module) { + this._lazyCallableModules[name] = function () { + return module; + }; + } + }, { + key: "registerLazyCallableModule", + value: function registerLazyCallableModule(name, factory) { + var module; + var getValue = factory; + + this._lazyCallableModules[name] = function () { + if (getValue) { + module = getValue(); + getValue = null; + } + + return module; + }; + } + }, { + key: "getCallableModule", + value: function getCallableModule(name) { + var getValue = this._lazyCallableModules[name]; + return getValue ? getValue() : null; + } + }, { + key: "enqueueNativeCall", + value: function enqueueNativeCall(moduleID, methodID, params, onFail, onSucc) { + if (onFail || onSucc) { + if (__DEV__) { + this._debugInfo[this._callID] = [moduleID, methodID]; + + if (this._callID > DEBUG_INFO_LIMIT) { + delete this._debugInfo[this._callID - DEBUG_INFO_LIMIT]; + } + } + + onFail && params.push(this._callID << 1); + onSucc && params.push(this._callID << 1 | 1); + this._successCallbacks[this._callID] = onSucc; + this._failureCallbacks[this._callID] = onFail; + } + + if (__DEV__) { + global.nativeTraceBeginAsyncFlow && global.nativeTraceBeginAsyncFlow(TRACE_TAG_REACT_APPS, 'native', this._callID); + } + + this._callID++; + + this._queue[MODULE_IDS].push(moduleID); + + this._queue[METHOD_IDS].push(methodID); + + if (__DEV__) { + var isValidArgument = function isValidArgument(val) { + var t = typeof val; + + if (t === 'undefined' || t === 'null' || t === 'boolean' || t === 'number' || t === 'string') { + return true; + } + + if (t === 'function' || t !== 'object') { + return false; + } + + if (Array.isArray(val)) { + return val.every(isValidArgument); + } + + for (var k in val) { + if (typeof val[k] !== 'function' && !isValidArgument(val[k])) { + return false; + } + } + + return true; + }; + + invariant(isValidArgument(params), '%s is not usable as a native method argument', params); + deepFreezeAndThrowOnMutationInDev(params); + } + + this._queue[PARAMS].push(params); + + var now = new Date().getTime(); + + if (global.nativeFlushQueueImmediate && now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS) { + var queue = this._queue; + this._queue = [[], [], [], this._callID]; + this._lastFlush = now; + global.nativeFlushQueueImmediate(queue); + } + + Systrace.counterEvent('pending_js_to_native_queue', this._queue[0].length); + + if (__DEV__ && this.__spy && isFinite(moduleID)) { + this.__spy({ + type: TO_NATIVE, + module: this._remoteModuleTable[moduleID], + method: this._remoteMethodTable[moduleID][methodID], + args: params + }); + } else if (this.__spy) { + this.__spy({ + type: TO_NATIVE, + module: moduleID + '', + method: methodID, + args: params + }); + } + } + }, { + key: "createDebugLookup", + value: function createDebugLookup(moduleID, name, methods) { + if (__DEV__) { + this._remoteModuleTable[moduleID] = name; + this._remoteMethodTable[moduleID] = methods; + } + } + }, { + key: "__guard", + value: function __guard(fn) { + if (this.__shouldPauseOnThrow()) { + fn(); + } else { + try { + fn(); + } catch (error) { + ErrorUtils.reportFatalError(error); + } + } + } + }, { + key: "__shouldPauseOnThrow", + value: function __shouldPauseOnThrow() { + return typeof DebuggerInternal !== 'undefined' && DebuggerInternal.shouldPauseOnThrow === true; + } + }, { + key: "__callImmediates", + value: function __callImmediates() { + Systrace.beginEvent('JSTimers.callImmediates()'); + + if (!JSTimers) { + JSTimers = _$$_REQUIRE(_dependencyMap[5], 'JSTimers'); + } + + JSTimers.callImmediates(); + Systrace.endEvent(); + } + }, { + key: "__callFunction", + value: function __callFunction(module, method, args) { + this._lastFlush = new Date().getTime(); + this._eventLoopStartTime = this._lastFlush; + + if (__DEV__ || this.__spy) { + Systrace.beginEvent(module + "." + method + "(" + stringifySafe(args) + ")"); + } else { + Systrace.beginEvent(module + "." + method + "(...)"); + } + + if (this.__spy) { + this.__spy({ + type: TO_JS, + module: module, + method: method, + args: args + }); + } + + var moduleMethods = this.getCallableModule(module); + invariant(!!moduleMethods, 'Module %s is not a registered callable module (calling %s)', module, method); + invariant(!!moduleMethods[method], 'Method %s does not exist on module %s', method, module); + var result = moduleMethods[method].apply(moduleMethods, args); + Systrace.endEvent(); + return result; + } + }, { + key: "__invokeCallback", + value: function __invokeCallback(cbID, args) { + this._lastFlush = new Date().getTime(); + this._eventLoopStartTime = this._lastFlush; + var callID = cbID >>> 1; + var isSuccess = cbID & 1; + var callback = isSuccess ? this._successCallbacks[callID] : this._failureCallbacks[callID]; + + if (__DEV__) { + var debug = this._debugInfo[callID]; + + var _module = debug && this._remoteModuleTable[debug[0]]; + + var _method = debug && this._remoteMethodTable[debug[0]][debug[1]]; + + if (!callback) { + var errorMessage = "Callback with id " + cbID + ": " + _module + "." + _method + "() not found"; + + if (_method) { + errorMessage = "The callback " + _method + "() exists in module " + _module + ", " + 'but only one callback may be registered to a function in a native module.'; + } + + invariant(callback, errorMessage); + } + + var profileName = debug ? '' : cbID; + + if (callback && this.__spy) { + this.__spy({ + type: TO_JS, + module: null, + method: profileName, + args: args + }); + } + + Systrace.beginEvent("MessageQueue.invokeCallback(" + profileName + ", " + stringifySafe(args) + ")"); + } + + if (!callback) { + return; + } + + delete this._successCallbacks[callID]; + delete this._failureCallbacks[callID]; + callback.apply(void 0, _toConsumableArray(args)); + + if (__DEV__) { + Systrace.endEvent(); + } + } + }], [{ + key: "spy", + value: function spy(spyOrToggle) { + if (spyOrToggle === true) { + MessageQueue.prototype.__spy = function (info) { + console.log((info.type === TO_JS ? 'N->JS' : 'JS->N') + " : " + ("" + (info.module ? info.module + '.' : '') + info.method) + ("(" + JSON.stringify(info.args) + ")")); + }; + } else if (spyOrToggle === false) { + MessageQueue.prototype.__spy = null; + } else { + MessageQueue.prototype.__spy = spyOrToggle; + } + } + }]); + + return MessageQueue; + }(); + + module.exports = MessageQueue; +},170,[171,172,173,166,174,175],"node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + module.exports = global.ErrorUtils; +},171,[],"node_modules/react-native/Libraries/vendor/core/ErrorUtils.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var TRACE_TAG_REACT_APPS = 1 << 17; + var TRACE_TAG_JS_VM_CALLS = 1 << 27; + var _enabled = false; + var _asyncCookie = 0; + var _markStack = []; + + var _markStackIndex = -1; + + var _canInstallReactHook = false; + var REACT_MARKER = "\u269B"; + var userTimingPolyfill = __DEV__ ? { + mark: function mark(markName) { + if (_enabled) { + _markStackIndex++; + _markStack[_markStackIndex] = markName; + var systraceLabel = markName; + + if (markName[0] === REACT_MARKER) { + var indexOfId = markName.lastIndexOf(' (#'); + var cutoffIndex = indexOfId !== -1 ? indexOfId : markName.length; + systraceLabel = markName.slice(2, cutoffIndex); + } + + Systrace.beginEvent(systraceLabel); + } + }, + measure: function measure(measureName, startMark, endMark) { + if (_enabled) { + invariant(typeof measureName === 'string' && typeof startMark === 'string' && typeof endMark === 'undefined', 'Only performance.measure(string, string) overload is supported.'); + var topMark = _markStack[_markStackIndex]; + invariant(startMark === topMark, 'There was a mismatching performance.measure() call. ' + 'Expected "%s" but got "%s."', topMark, startMark); + _markStackIndex--; + Systrace.endEvent(); + } + }, + clearMarks: function clearMarks(markName) { + if (_enabled) { + if (_markStackIndex === -1) { + return; + } + + if (markName === _markStack[_markStackIndex]) { + if (userTimingPolyfill != null) { + userTimingPolyfill.measure(markName, markName); + } + } + } + }, + clearMeasures: function clearMeasures() {} + } : null; + var Systrace = { + installReactHook: function installReactHook() { + if (_enabled) { + if (__DEV__) { + global.performance = userTimingPolyfill; + } + } + + _canInstallReactHook = true; + }, + setEnabled: function setEnabled(enabled) { + if (_enabled !== enabled) { + if (__DEV__) { + if (enabled) { + global.nativeTraceBeginLegacy && global.nativeTraceBeginLegacy(TRACE_TAG_JS_VM_CALLS); + } else { + global.nativeTraceEndLegacy && global.nativeTraceEndLegacy(TRACE_TAG_JS_VM_CALLS); + } + + if (_canInstallReactHook) { + if (enabled && global.performance === undefined) { + global.performance = userTimingPolyfill; + } + } + } + + _enabled = enabled; + } + }, + isEnabled: function isEnabled() { + return _enabled; + }, + beginEvent: function beginEvent(profileName, args) { + if (_enabled) { + profileName = typeof profileName === 'function' ? profileName() : profileName; + global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, profileName, args); + } + }, + endEvent: function endEvent() { + if (_enabled) { + global.nativeTraceEndSection(TRACE_TAG_REACT_APPS); + } + }, + beginAsyncEvent: function beginAsyncEvent(profileName) { + var cookie = _asyncCookie; + + if (_enabled) { + _asyncCookie++; + profileName = typeof profileName === 'function' ? profileName() : profileName; + global.nativeTraceBeginAsyncSection(TRACE_TAG_REACT_APPS, profileName, cookie); + } + + return cookie; + }, + endAsyncEvent: function endAsyncEvent(profileName, cookie) { + if (_enabled) { + profileName = typeof profileName === 'function' ? profileName() : profileName; + global.nativeTraceEndAsyncSection(TRACE_TAG_REACT_APPS, profileName, cookie); + } + }, + counterEvent: function counterEvent(profileName, value) { + if (_enabled) { + profileName = typeof profileName === 'function' ? profileName() : profileName; + global.nativeTraceCounter && global.nativeTraceCounter(TRACE_TAG_REACT_APPS, profileName, value); + } + } + }; + + if (__DEV__) { + _$$_REQUIRE.Systrace = Systrace; + } + + module.exports = Systrace; +},172,[166],"node_modules/react-native/Libraries/Performance/Systrace.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function deepFreezeAndThrowOnMutationInDev(object) { + if (__DEV__) { + if (typeof object !== 'object' || object === null || Object.isFrozen(object) || Object.isSealed(object)) { + return object; + } + + var keys = Object.keys(object); + var _hasOwnProperty = Object.prototype.hasOwnProperty; + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + + if (_hasOwnProperty.call(object, key)) { + Object.defineProperty(object, key, { + get: identity.bind(null, object[key]) + }); + Object.defineProperty(object, key, { + set: throwOnImmutableMutation.bind(null, key) + }); + } + } + + Object.freeze(object); + Object.seal(object); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + + if (_hasOwnProperty.call(object, key)) { + deepFreezeAndThrowOnMutationInDev(object[key]); + } + } + } + + return object; + } + + function throwOnImmutableMutation(key, value) { + throw Error('You attempted to set the key `' + key + '` with the value `' + JSON.stringify(value) + '` on an object that is meant to be immutable ' + 'and has been frozen.'); + } + + function identity(value) { + return value; + } + + module.exports = deepFreezeAndThrowOnMutationInDev; +},173,[],"node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function stringifySafe(arg) { + var ret; + var type = typeof arg; + + if (arg === undefined) { + ret = 'undefined'; + } else if (arg === null) { + ret = 'null'; + } else if (type === 'string') { + ret = '"' + arg + '"'; + } else if (type === 'function') { + try { + ret = arg.toString(); + } catch (e) { + ret = '[function unknown]'; + } + } else { + try { + ret = JSON.stringify(arg); + } catch (e) { + if (typeof arg.toString === 'function') { + try { + ret = arg.toString(); + } catch (E) {} + } + } + } + + return ret || '["' + type + '" failed to stringify]'; + } + + module.exports = stringifySafe; +},174,[],"node_modules/react-native/Libraries/Utilities/stringifySafe.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var Systrace = _$$_REQUIRE(_dependencyMap[1], 'Systrace'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var _require = _$$_REQUIRE(_dependencyMap[3], 'NativeModules'), + Timing = _require.Timing; + + var _performanceNow = null; + + function performanceNow() { + if (!_performanceNow) { + _performanceNow = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/performanceNow'); + } + + return _performanceNow(); + } + + var FRAME_DURATION = 1000 / 60; + var IDLE_CALLBACK_FRAME_DEADLINE = 1; + var MAX_TIMER_DURATION_MS = 60 * 1000; + var IS_ANDROID = Platform.OS === 'android'; + var ANDROID_LONG_TIMER_MESSAGE = 'Setting a timer for a long period of time, i.e. multiple minutes, is a ' + 'performance and correctness issue on Android as it keeps the timer ' + 'module awake, and timers can only be called when the app is in the foreground. ' + 'See https://github.com/facebook/react-native/issues/12981 for more info.'; + var callbacks = []; + var types = []; + var timerIDs = []; + var immediates = []; + var requestIdleCallbacks = []; + var requestIdleCallbackTimeouts = {}; + var identifiers = []; + var GUID = 1; + var errors = null; + var hasEmittedTimeDriftWarning = false; + + function _getFreeIndex() { + var freeIndex = timerIDs.indexOf(null); + + if (freeIndex === -1) { + freeIndex = timerIDs.length; + } + + return freeIndex; + } + + function _allocateCallback(func, type) { + var id = GUID++; + + var freeIndex = _getFreeIndex(); + + timerIDs[freeIndex] = id; + callbacks[freeIndex] = func; + types[freeIndex] = type; + + if (__DEV__) { + var parseErrorStack = _$$_REQUIRE(_dependencyMap[5], 'parseErrorStack'); + + var error = new Error(); + error.framesToPop = 1; + var stack = parseErrorStack(error); + + if (stack) { + identifiers[freeIndex] = stack.shift(); + } + } + + return id; + } + + function _callTimer(timerID, frameTime, didTimeout) { + _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/warning')(timerID <= GUID, 'Tried to call timer with ID %s but no such timer exists.', timerID); + + var timerIndex = timerIDs.indexOf(timerID); + + if (timerIndex === -1) { + return; + } + + var type = types[timerIndex]; + var callback = callbacks[timerIndex]; + + if (!callback || !type) { + console.error('No callback found for timerID ' + timerID); + return; + } + + if (__DEV__) { + var identifier = identifiers[timerIndex] || {}; + Systrace.beginEvent('Systrace.callTimer: ' + identifier.methodName); + } + + if (type === 'setTimeout' || type === 'setImmediate' || type === 'requestAnimationFrame' || type === 'requestIdleCallback') { + _clearIndex(timerIndex); + } + + try { + if (type === 'setTimeout' || type === 'setInterval' || type === 'setImmediate') { + callback(); + } else if (type === 'requestAnimationFrame') { + callback(performanceNow()); + } else if (type === 'requestIdleCallback') { + callback({ + timeRemaining: function timeRemaining() { + return Math.max(0, FRAME_DURATION - (performanceNow() - frameTime)); + }, + didTimeout: !!didTimeout + }); + } else { + console.error('Tried to call a callback with invalid type: ' + type); + } + } catch (e) { + if (!errors) { + errors = [e]; + } else { + errors.push(e); + } + } + + if (__DEV__) { + Systrace.endEvent(); + } + } + + function _callImmediatesPass() { + if (__DEV__) { + Systrace.beginEvent('callImmediatesPass()'); + } + + if (immediates.length > 0) { + var passImmediates = immediates.slice(); + immediates = []; + + for (var i = 0; i < passImmediates.length; ++i) { + _callTimer(passImmediates[i], 0); + } + } + + if (__DEV__) { + Systrace.endEvent(); + } + + return immediates.length > 0; + } + + function _clearIndex(i) { + timerIDs[i] = null; + callbacks[i] = null; + types[i] = null; + identifiers[i] = null; + } + + function _freeCallback(timerID) { + if (timerID == null) { + return; + } + + var index = timerIDs.indexOf(timerID); + + if (index !== -1) { + _clearIndex(index); + + var type = types[index]; + + if (type !== 'setImmediate' && type !== 'requestIdleCallback') { + Timing.deleteTimer(timerID); + } + } + } + + var JSTimers = { + setTimeout: function setTimeout(func, duration) { + for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + if (__DEV__ && IS_ANDROID && duration > MAX_TIMER_DURATION_MS) { + console.warn(ANDROID_LONG_TIMER_MESSAGE + '\n' + '(Saw setTimeout with duration ' + duration + 'ms)'); + } + + var id = _allocateCallback(function () { + return func.apply(undefined, args); + }, 'setTimeout'); + + Timing.createTimer(id, duration || 0, Date.now(), false); + return id; + }, + setInterval: function setInterval(func, duration) { + for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + if (__DEV__ && IS_ANDROID && duration > MAX_TIMER_DURATION_MS) { + console.warn(ANDROID_LONG_TIMER_MESSAGE + '\n' + '(Saw setInterval with duration ' + duration + 'ms)'); + } + + var id = _allocateCallback(function () { + return func.apply(undefined, args); + }, 'setInterval'); + + Timing.createTimer(id, duration || 0, Date.now(), true); + return id; + }, + setImmediate: function setImmediate(func) { + for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + args[_key3 - 1] = arguments[_key3]; + } + + var id = _allocateCallback(function () { + return func.apply(undefined, args); + }, 'setImmediate'); + + immediates.push(id); + return id; + }, + requestAnimationFrame: function requestAnimationFrame(func) { + var id = _allocateCallback(func, 'requestAnimationFrame'); + + Timing.createTimer(id, 1, Date.now(), false); + return id; + }, + requestIdleCallback: function requestIdleCallback(func, options) { + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(true); + } + + var timeout = options && options.timeout; + + var id = _allocateCallback(timeout != null ? function (deadline) { + var timeoutId = requestIdleCallbackTimeouts[id]; + + if (timeoutId) { + JSTimers.clearTimeout(timeoutId); + delete requestIdleCallbackTimeouts[id]; + } + + return func(deadline); + } : func, 'requestIdleCallback'); + + requestIdleCallbacks.push(id); + + if (timeout != null) { + var timeoutId = JSTimers.setTimeout(function () { + var index = requestIdleCallbacks.indexOf(id); + + if (index > -1) { + requestIdleCallbacks.splice(index, 1); + + _callTimer(id, performanceNow(), true); + } + + delete requestIdleCallbackTimeouts[id]; + + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(false); + } + }, timeout); + requestIdleCallbackTimeouts[id] = timeoutId; + } + + return id; + }, + cancelIdleCallback: function cancelIdleCallback(timerID) { + _freeCallback(timerID); + + var index = requestIdleCallbacks.indexOf(timerID); + + if (index !== -1) { + requestIdleCallbacks.splice(index, 1); + } + + var timeoutId = requestIdleCallbackTimeouts[timerID]; + + if (timeoutId) { + JSTimers.clearTimeout(timeoutId); + delete requestIdleCallbackTimeouts[timerID]; + } + + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(false); + } + }, + clearTimeout: function clearTimeout(timerID) { + _freeCallback(timerID); + }, + clearInterval: function clearInterval(timerID) { + _freeCallback(timerID); + }, + clearImmediate: function clearImmediate(timerID) { + _freeCallback(timerID); + + var index = immediates.indexOf(timerID); + + if (index !== -1) { + immediates.splice(index, 1); + } + }, + cancelAnimationFrame: function cancelAnimationFrame(timerID) { + _freeCallback(timerID); + }, + callTimers: function callTimers(timersToCall) { + invariant(timersToCall.length !== 0, 'Cannot call `callTimers` with an empty list of IDs.'); + errors = null; + + for (var i = 0; i < timersToCall.length; i++) { + _callTimer(timersToCall[i], 0); + } + + if (errors) { + var errorCount = errors.length; + + if (errorCount > 1) { + for (var ii = 1; ii < errorCount; ii++) { + JSTimers.setTimeout(function (error) { + throw error; + }.bind(null, errors[ii]), 0); + } + } + + throw errors[0]; + } + }, + callIdleCallbacks: function callIdleCallbacks(frameTime) { + if (FRAME_DURATION - (performanceNow() - frameTime) < IDLE_CALLBACK_FRAME_DEADLINE) { + return; + } + + errors = null; + + if (requestIdleCallbacks.length > 0) { + var passIdleCallbacks = requestIdleCallbacks.slice(); + requestIdleCallbacks = []; + + for (var i = 0; i < passIdleCallbacks.length; ++i) { + _callTimer(passIdleCallbacks[i], frameTime); + } + } + + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(false); + } + + if (errors) { + errors.forEach(function (error) { + return JSTimers.setTimeout(function () { + throw error; + }, 0); + }); + } + }, + callImmediates: function callImmediates() { + errors = null; + + while (_callImmediatesPass()) {} + + if (errors) { + errors.forEach(function (error) { + return JSTimers.setTimeout(function () { + throw error; + }, 0); + }); + } + }, + emitTimeDriftWarning: function emitTimeDriftWarning(warningMessage) { + if (hasEmittedTimeDriftWarning) { + return; + } + + hasEmittedTimeDriftWarning = true; + console.warn(warningMessage); + } + }; + var ExportedJSTimers; + + if (!Timing) { + console.warn("Timing native module is not available, can't set timers."); + ExportedJSTimers = { + callImmediates: JSTimers.callImmediates, + setImmediate: JSTimers.setImmediate + }; + } else { + ExportedJSTimers = JSTimers; + } + + module.exports = ExportedJSTimers; +},175,[176,172,166,168,177,180,183],"node_modules/react-native/Libraries/Core/Timers/JSTimers.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var Platform = { + OS: 'ios', + + get Version() { + var constants = NativeModules.PlatformConstants; + return constants && constants.osVersion; + }, + + get isPad() { + var constants = NativeModules.PlatformConstants; + return constants ? constants.interfaceIdiom === 'pad' : false; + }, + + get isTVOS() { + return Platform.isTV; + }, + + get isTV() { + var constants = NativeModules.PlatformConstants; + return constants ? constants.interfaceIdiom === 'tv' : false; + }, + + get isTesting() { + var constants = NativeModules.PlatformConstants; + return constants && constants.isTesting; + }, + + select: function select(obj) { + return 'ios' in obj ? obj.ios : obj.default; + } + }; + module.exports = Platform; +},176,[168],"node_modules/react-native/Libraries/Utilities/Platform.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var performance = _$$_REQUIRE(_dependencyMap[0], './performance'); + + var performanceNow; + + if (performance.now) { + performanceNow = function performanceNow() { + return performance.now(); + }; + } else { + performanceNow = function performanceNow() { + return Date.now(); + }; + } + + module.exports = performanceNow; +},177,[178],"node_modules/react-native/node_modules/fbjs/lib/performanceNow.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ExecutionEnvironment = _$$_REQUIRE(_dependencyMap[0], './ExecutionEnvironment'); + + var performance; + + if (ExecutionEnvironment.canUseDOM) { + performance = window.performance || window.msPerformance || window.webkitPerformance; + } + + module.exports = performance || {}; +},178,[179],"node_modules/react-native/node_modules/fbjs/lib/performance.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + var ExecutionEnvironment = { + canUseDOM: canUseDOM, + canUseWorkers: typeof Worker !== 'undefined', + canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + canUseViewport: canUseDOM && !!window.screen, + isInWorker: !canUseDOM + }; + module.exports = ExecutionEnvironment; +},179,[],"node_modules/react-native/node_modules/fbjs/lib/ExecutionEnvironment.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function parseErrorStack(e) { + if (!e || !e.stack) { + return []; + } + + var stacktraceParser = _$$_REQUIRE(_dependencyMap[0], 'stacktrace-parser'); + + var stack = Array.isArray(e.stack) ? e.stack : stacktraceParser.parse(e.stack); + var framesToPop = typeof e.framesToPop === 'number' ? e.framesToPop : 0; + + while (framesToPop--) { + stack.shift(); + } + + return stack; + } + + module.exports = parseErrorStack; +},180,[181],"node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + module.exports = _$$_REQUIRE(_dependencyMap[0], './lib/stacktrace-parser.js'); +},181,[182],"node_modules/stacktrace-parser/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var UNKNOWN_FUNCTION = ''; + var StackTraceParser = { + parse: function parse(stackString) { + var chrome = /^\s*at (?:(?:(?:Anonymous function)?|((?:\[object object\])?\S+(?: \[as \S+\])?)) )?\(?((?:file|http|https):.*?):(\d+)(?::(\d+))?\)?\s*$/i, + gecko = /^(?:\s*([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i, + node = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i, + lines = stackString.split('\n'), + stack = [], + parts, + element; + + for (var i = 0, j = lines.length; i < j; ++i) { + if (parts = gecko.exec(lines[i])) { + element = { + 'file': parts[3], + 'methodName': parts[1] || UNKNOWN_FUNCTION, + 'lineNumber': +parts[4], + 'column': parts[5] ? +parts[5] : null + }; + } else if (parts = chrome.exec(lines[i])) { + element = { + 'file': parts[2], + 'methodName': parts[1] || UNKNOWN_FUNCTION, + 'lineNumber': +parts[3], + 'column': parts[4] ? +parts[4] : null + }; + } else if (parts = node.exec(lines[i])) { + element = { + 'file': parts[2], + 'methodName': parts[1] || UNKNOWN_FUNCTION, + 'lineNumber': +parts[3], + 'column': parts[4] ? +parts[4] : null + }; + } else { + continue; + } + + stack.push(element); + } + + return stack; + } + }; + module.exports = StackTraceParser; +},182,[],"node_modules/stacktrace-parser/lib/stacktrace-parser.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var emptyFunction = _$$_REQUIRE(_dependencyMap[0], './emptyFunction'); + + var warning = emptyFunction; + + if (process.env.NODE_ENV !== 'production') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== 'undefined') { + console.error(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + + warning = function warning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (format.indexOf('Failed Composite propType: ') === 0) { + return; + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + module.exports = warning; +},183,[184],"node_modules/react-native/node_modules/fbjs/lib/warning.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + function makeEmptyFunction(arg) { + return function () { + return arg; + }; + } + + var emptyFunction = function emptyFunction() {}; + + emptyFunction.thatReturns = makeEmptyFunction; + emptyFunction.thatReturnsFalse = makeEmptyFunction(false); + emptyFunction.thatReturnsTrue = makeEmptyFunction(true); + emptyFunction.thatReturnsNull = makeEmptyFunction(null); + + emptyFunction.thatReturnsThis = function () { + return this; + }; + + emptyFunction.thatReturnsArgument = function (arg) { + return arg; + }; + + module.exports = emptyFunction; +},184,[],"node_modules/react-native/node_modules/fbjs/lib/emptyFunction.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function defineLazyObjectProperty(object, name, descriptor) { + var get = descriptor.get; + var enumerable = descriptor.enumerable !== false; + var writable = descriptor.writable !== false; + var value; + var valueSet = false; + + function getValue() { + if (!valueSet) { + valueSet = true; + setValue(get()); + } + + return value; + } + + function setValue(newValue) { + value = newValue; + valueSet = true; + Object.defineProperty(object, name, { + value: newValue, + configurable: true, + enumerable: enumerable, + writable: writable + }); + } + + Object.defineProperty(object, name, { + get: getValue, + set: setValue, + configurable: true, + enumerable: enumerable + }); + } + + module.exports = defineLazyObjectProperty; +},185,[],"node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Promise = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/Promise.native'); + + if (__DEV__) { + _$$_REQUIRE(_dependencyMap[1], 'promise/setimmediate/rejection-tracking').enable({ + allRejections: true, + onUnhandled: function onUnhandled(id) { + var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var message; + var stack; + var stringValue = Object.prototype.toString.call(error); + + if (stringValue === '[object Error]') { + message = Error.prototype.toString.call(error); + stack = error.stack; + } else { + message = _$$_REQUIRE(_dependencyMap[2], 'pretty-format')(error); + } + + var warning = "Possible Unhandled Promise Rejection (id: " + id + "):\n" + (message + "\n") + (stack == null ? '' : stack); + console.warn(warning); + }, + onHandled: function onHandled(id) { + var warning = "Promise Rejection Handled (id: " + id + ")\n" + 'This means you can ignore any previous messages of the form ' + ("\"Possible Unhandled Promise Rejection (id: " + id + "):\""); + console.warn(warning); + } + }); + } + + module.exports = Promise; +},186,[187,191,192],"node_modules/react-native/Libraries/Promise.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Promise = _$$_REQUIRE(_dependencyMap[0], 'promise/setimmediate/es6-extensions'); + + _$$_REQUIRE(_dependencyMap[1], 'promise/setimmediate/done'); + + Promise.prototype['finally'] = function (onSettled) { + return this.then(onSettled, onSettled); + }; + + module.exports = Promise; +},187,[188,190],"node_modules/react-native/node_modules/fbjs/lib/Promise.native.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Promise = _$$_REQUIRE(_dependencyMap[0], './core.js'); + + module.exports = Promise; + var TRUE = valuePromise(true); + var FALSE = valuePromise(false); + var NULL = valuePromise(null); + var UNDEFINED = valuePromise(undefined); + var ZERO = valuePromise(0); + var EMPTYSTRING = valuePromise(''); + + function valuePromise(value) { + var p = new Promise(Promise._61); + p._65 = 1; + p._55 = value; + return p; + } + + Promise.resolve = function (value) { + if (value instanceof Promise) return value; + if (value === null) return NULL; + if (value === undefined) return UNDEFINED; + if (value === true) return TRUE; + if (value === false) return FALSE; + if (value === 0) return ZERO; + if (value === '') return EMPTYSTRING; + + if (typeof value === 'object' || typeof value === 'function') { + try { + var then = value.then; + + if (typeof then === 'function') { + return new Promise(then.bind(value)); + } + } catch (ex) { + return new Promise(function (resolve, reject) { + reject(ex); + }); + } + } + + return valuePromise(value); + }; + + Promise.all = function (arr) { + var args = Array.prototype.slice.call(arr); + return new Promise(function (resolve, reject) { + if (args.length === 0) return resolve([]); + var remaining = args.length; + + function res(i, val) { + if (val && (typeof val === 'object' || typeof val === 'function')) { + if (val instanceof Promise && val.then === Promise.prototype.then) { + while (val._65 === 3) { + val = val._55; + } + + if (val._65 === 1) return res(i, val._55); + if (val._65 === 2) reject(val._55); + val.then(function (val) { + res(i, val); + }, reject); + return; + } else { + var then = val.then; + + if (typeof then === 'function') { + var p = new Promise(then.bind(val)); + p.then(function (val) { + res(i, val); + }, reject); + return; + } + } + } + + args[i] = val; + + if (--remaining === 0) { + resolve(args); + } + } + + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); + }; + + Promise.reject = function (value) { + return new Promise(function (resolve, reject) { + reject(value); + }); + }; + + Promise.race = function (values) { + return new Promise(function (resolve, reject) { + values.forEach(function (value) { + Promise.resolve(value).then(resolve, reject); + }); + }); + }; + + Promise.prototype['catch'] = function (onRejected) { + return this.then(null, onRejected); + }; +},188,[189],"node_modules/promise/setimmediate/es6-extensions.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function noop() {} + + var LAST_ERROR = null; + var IS_ERROR = {}; + + function getThen(obj) { + try { + return obj.then; + } catch (ex) { + LAST_ERROR = ex; + return IS_ERROR; + } + } + + function tryCallOne(fn, a) { + try { + return fn(a); + } catch (ex) { + LAST_ERROR = ex; + return IS_ERROR; + } + } + + function tryCallTwo(fn, a, b) { + try { + fn(a, b); + } catch (ex) { + LAST_ERROR = ex; + return IS_ERROR; + } + } + + module.exports = Promise; + + function Promise(fn) { + if (typeof this !== 'object') { + throw new TypeError('Promises must be constructed via new'); + } + + if (typeof fn !== 'function') { + throw new TypeError('Promise constructor\'s argument is not a function'); + } + + this._40 = 0; + this._65 = 0; + this._55 = null; + this._72 = null; + if (fn === noop) return; + doResolve(fn, this); + } + + Promise._37 = null; + Promise._87 = null; + Promise._61 = noop; + + Promise.prototype.then = function (onFulfilled, onRejected) { + if (this.constructor !== Promise) { + return safeThen(this, onFulfilled, onRejected); + } + + var res = new Promise(noop); + handle(this, new Handler(onFulfilled, onRejected, res)); + return res; + }; + + function safeThen(self, onFulfilled, onRejected) { + return new self.constructor(function (resolve, reject) { + var res = new Promise(noop); + res.then(resolve, reject); + handle(self, new Handler(onFulfilled, onRejected, res)); + }); + } + + function handle(self, deferred) { + while (self._65 === 3) { + self = self._55; + } + + if (Promise._37) { + Promise._37(self); + } + + if (self._65 === 0) { + if (self._40 === 0) { + self._40 = 1; + self._72 = deferred; + return; + } + + if (self._40 === 1) { + self._40 = 2; + self._72 = [self._72, deferred]; + return; + } + + self._72.push(deferred); + + return; + } + + handleResolved(self, deferred); + } + + function handleResolved(self, deferred) { + setImmediate(function () { + var cb = self._65 === 1 ? deferred.onFulfilled : deferred.onRejected; + + if (cb === null) { + if (self._65 === 1) { + resolve(deferred.promise, self._55); + } else { + reject(deferred.promise, self._55); + } + + return; + } + + var ret = tryCallOne(cb, self._55); + + if (ret === IS_ERROR) { + reject(deferred.promise, LAST_ERROR); + } else { + resolve(deferred.promise, ret); + } + }); + } + + function resolve(self, newValue) { + if (newValue === self) { + return reject(self, new TypeError('A promise cannot be resolved with itself.')); + } + + if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { + var then = getThen(newValue); + + if (then === IS_ERROR) { + return reject(self, LAST_ERROR); + } + + if (then === self.then && newValue instanceof Promise) { + self._65 = 3; + self._55 = newValue; + finale(self); + return; + } else if (typeof then === 'function') { + doResolve(then.bind(newValue), self); + return; + } + } + + self._65 = 1; + self._55 = newValue; + finale(self); + } + + function reject(self, newValue) { + self._65 = 2; + self._55 = newValue; + + if (Promise._87) { + Promise._87(self, newValue); + } + + finale(self); + } + + function finale(self) { + if (self._40 === 1) { + handle(self, self._72); + self._72 = null; + } + + if (self._40 === 2) { + for (var i = 0; i < self._72.length; i++) { + handle(self, self._72[i]); + } + + self._72 = null; + } + } + + function Handler(onFulfilled, onRejected, promise) { + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; + this.onRejected = typeof onRejected === 'function' ? onRejected : null; + this.promise = promise; + } + + function doResolve(fn, promise) { + var done = false; + var res = tryCallTwo(fn, function (value) { + if (done) return; + done = true; + resolve(promise, value); + }, function (reason) { + if (done) return; + done = true; + reject(promise, reason); + }); + + if (!done && res === IS_ERROR) { + done = true; + reject(promise, LAST_ERROR); + } + } +},189,[],"node_modules/promise/setimmediate/core.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Promise = _$$_REQUIRE(_dependencyMap[0], './core.js'); + + module.exports = Promise; + + Promise.prototype.done = function (onFulfilled, onRejected) { + var self = arguments.length ? this.then.apply(this, arguments) : this; + self.then(null, function (err) { + setTimeout(function () { + throw err; + }, 0); + }); + }; +},190,[189],"node_modules/promise/setimmediate/done.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Promise = _$$_REQUIRE(_dependencyMap[0], './core'); + + var DEFAULT_WHITELIST = [ReferenceError, TypeError, RangeError]; + var enabled = false; + exports.disable = disable; + + function disable() { + enabled = false; + Promise._37 = null; + Promise._87 = null; + } + + exports.enable = enable; + + function enable(options) { + options = options || {}; + if (enabled) disable(); + enabled = true; + var id = 0; + var displayId = 0; + var rejections = {}; + + Promise._37 = function (promise) { + if (promise._65 === 2 && rejections[promise._51]) { + if (rejections[promise._51].logged) { + onHandled(promise._51); + } else { + clearTimeout(rejections[promise._51].timeout); + } + + delete rejections[promise._51]; + } + }; + + Promise._87 = function (promise, err) { + if (promise._40 === 0) { + promise._51 = id++; + rejections[promise._51] = { + displayId: null, + error: err, + timeout: setTimeout(onUnhandled.bind(null, promise._51), matchWhitelist(err, DEFAULT_WHITELIST) ? 100 : 2000), + logged: false + }; + } + }; + + function onUnhandled(id) { + if (options.allRejections || matchWhitelist(rejections[id].error, options.whitelist || DEFAULT_WHITELIST)) { + rejections[id].displayId = displayId++; + + if (options.onUnhandled) { + rejections[id].logged = true; + options.onUnhandled(rejections[id].displayId, rejections[id].error); + } else { + rejections[id].logged = true; + logError(rejections[id].displayId, rejections[id].error); + } + } + } + + function onHandled(id) { + if (rejections[id].logged) { + if (options.onHandled) { + options.onHandled(rejections[id].displayId, rejections[id].error); + } else if (!rejections[id].onUnhandled) { + console.warn('Promise Rejection Handled (id: ' + rejections[id].displayId + '):'); + console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id ' + rejections[id].displayId + '.'); + } + } + } + } + + function logError(id, error) { + console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):'); + var errStr = (error && (error.stack || error)) + ''; + errStr.split('\n').forEach(function (line) { + console.warn(' ' + line); + }); + } + + function matchWhitelist(error, list) { + return list.some(function (cls) { + return error instanceof cls; + }); + } +},191,[189],"node_modules/promise/setimmediate/rejection-tracking.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var printString = _$$_REQUIRE(_dependencyMap[0], './printString'); + + var toString = Object.prototype.toString; + var toISOString = Date.prototype.toISOString; + var errorToString = Error.prototype.toString; + var regExpToString = RegExp.prototype.toString; + var symbolToString = (typeof Symbol === "function" ? Symbol.prototype : "@@prototype").toString; + var SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; + var NEWLINE_REGEXP = /\n/ig; + + var getSymbols = Object.getOwnPropertySymbols || function (obj) { + return []; + }; + + function isToStringedArrayType(toStringed) { + return toStringed === '[object Array]' || toStringed === '[object ArrayBuffer]' || toStringed === '[object DataView]' || toStringed === '[object Float32Array]' || toStringed === '[object Float64Array]' || toStringed === '[object Int8Array]' || toStringed === '[object Int16Array]' || toStringed === '[object Int32Array]' || toStringed === '[object Uint8Array]' || toStringed === '[object Uint8ClampedArray]' || toStringed === '[object Uint16Array]' || toStringed === '[object Uint32Array]'; + } + + function printNumber(val) { + if (val != +val) return 'NaN'; + var isNegativeZero = val === 0 && 1 / val < 0; + return isNegativeZero ? '-0' : '' + val; + } + + function printFunction(val, printFunctionName) { + if (!printFunctionName) { + return '[Function]'; + } else if (val.name === '') { + return '[Function anonymous]'; + } else { + return '[Function ' + val.name + ']'; + } + } + + function printSymbol(val) { + return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)'); + } + + function printError(val) { + return '[' + errorToString.call(val) + ']'; + } + + function printBasicValue(val, printFunctionName, escapeRegex) { + if (val === true || val === false) return '' + val; + if (val === undefined) return 'undefined'; + if (val === null) return 'null'; + var typeOf = typeof val; + if (typeOf === 'number') return printNumber(val); + if (typeOf === 'string') return '"' + printString(val) + '"'; + if (typeOf === 'function') return printFunction(val, printFunctionName); + if (typeOf === 'symbol') return printSymbol(val); + var toStringed = toString.call(val); + if (toStringed === '[object WeakMap]') return 'WeakMap {}'; + if (toStringed === '[object WeakSet]') return 'WeakSet {}'; + if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') return printFunction(val, printFunctionName); + if (toStringed === '[object Symbol]') return printSymbol(val); + if (toStringed === '[object Date]') return toISOString.call(val); + if (toStringed === '[object Error]') return printError(val); + + if (toStringed === '[object RegExp]') { + if (escapeRegex) { + return printString(regExpToString.call(val)); + } + + return regExpToString.call(val); + } + + ; + if (toStringed === '[object Arguments]' && val.length === 0) return 'Arguments []'; + if (isToStringedArrayType(toStringed) && val.length === 0) return val.constructor.name + ' []'; + if (val instanceof Error) return printError(val); + return false; + } + + function printList(list, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var body = ''; + + if (list.length) { + body += edgeSpacing; + var innerIndent = prevIndent + indent; + + for (var i = 0; i < list.length; i++) { + body += innerIndent + print(list[i], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + + if (i < list.length - 1) { + body += ',' + spacing; + } + } + + body += (min ? '' : ',') + edgeSpacing + prevIndent; + } + + return '[' + body + ']'; + } + + function printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + return (min ? '' : 'Arguments ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + + function printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + return (min ? '' : val.constructor.name + ' ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + + function printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var result = 'Map {'; + var iterator = val.entries(); + var current = iterator.next(); + + if (!current.done) { + result += edgeSpacing; + var innerIndent = prevIndent + indent; + + while (!current.done) { + var key = print(current.value[0], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + var value = print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + result += innerIndent + key + ' => ' + value; + current = iterator.next(); + + if (!current.done) { + result += ',' + spacing; + } + } + + result += (min ? '' : ',') + edgeSpacing + prevIndent; + } + + return result + '}'; + } + + function printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var constructor = min ? '' : val.constructor ? val.constructor.name + ' ' : 'Object '; + var result = constructor + '{'; + var keys = Object.keys(val).sort(); + var symbols = getSymbols(val); + + if (symbols.length) { + keys = keys.filter(function (key) { + return !(typeof key === 'symbol' || toString.call(key) === '[object Symbol]'); + }).concat(symbols); + } + + if (keys.length) { + result += edgeSpacing; + var innerIndent = prevIndent + indent; + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var name = print(key, indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + var value = print(val[key], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + result += innerIndent + name + ': ' + value; + + if (i < keys.length - 1) { + result += ',' + spacing; + } + } + + result += (min ? '' : ',') + edgeSpacing + prevIndent; + } + + return result + '}'; + } + + function printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var result = 'Set {'; + var iterator = val.entries(); + var current = iterator.next(); + + if (!current.done) { + result += edgeSpacing; + var innerIndent = prevIndent + indent; + + while (!current.done) { + result += innerIndent + print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + current = iterator.next(); + + if (!current.done) { + result += ',' + spacing; + } + } + + result += (min ? '' : ',') + edgeSpacing + prevIndent; + } + + return result + '}'; + } + + function printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + refs = refs.slice(); + + if (refs.indexOf(val) > -1) { + return '[Circular]'; + } else { + refs.push(val); + } + + currentDepth++; + var hitMaxDepth = currentDepth > maxDepth; + + if (callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === 'function') { + return print(val.toJSON(), indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + + var toStringed = toString.call(val); + + if (toStringed === '[object Arguments]') { + return hitMaxDepth ? '[Arguments]' : printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } else if (isToStringedArrayType(toStringed)) { + return hitMaxDepth ? '[Array]' : printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } else if (toStringed === '[object Map]') { + return hitMaxDepth ? '[Map]' : printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } else if (toStringed === '[object Set]') { + return hitMaxDepth ? '[Set]' : printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } else if (typeof val === 'object') { + return hitMaxDepth ? '[Object]' : printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + } + + function printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var match = false; + var plugin; + + for (var p = 0; p < plugins.length; p++) { + plugin = plugins[p]; + + if (plugin.test(val)) { + match = true; + break; + } + } + + if (!match) { + return false; + } + + function boundPrint(val) { + return print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + + function boundIndent(str) { + var indentation = prevIndent + indent; + return indentation + str.replace(NEWLINE_REGEXP, '\n' + indentation); + } + + return plugin.print(val, boundPrint, boundIndent, { + edgeSpacing: edgeSpacing, + spacing: spacing + }); + } + + function print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex) { + var basic = printBasicValue(val, printFunctionName, escapeRegex); + if (basic) return basic; + var plugin = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + if (plugin) return plugin; + return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex); + } + + var DEFAULTS = { + callToJSON: true, + indent: 2, + maxDepth: Infinity, + min: false, + plugins: [], + printFunctionName: true, + escapeRegex: false + }; + + function validateOptions(opts) { + Object.keys(opts).forEach(function (key) { + if (!DEFAULTS.hasOwnProperty(key)) { + throw new Error('prettyFormat: Invalid option: ' + key); + } + }); + + if (opts.min && opts.indent !== undefined && opts.indent !== 0) { + throw new Error('prettyFormat: Cannot run with min option and indent'); + } + } + + function normalizeOptions(opts) { + var result = {}; + Object.keys(DEFAULTS).forEach(function (key) { + return result[key] = opts.hasOwnProperty(key) ? opts[key] : DEFAULTS[key]; + }); + + if (result.min) { + result.indent = 0; + } + + return result; + } + + function createIndent(indent) { + return new Array(indent + 1).join(' '); + } + + function prettyFormat(val, opts) { + if (!opts) { + opts = DEFAULTS; + } else { + validateOptions(opts); + opts = normalizeOptions(opts); + } + + var indent; + var refs; + var prevIndent = ''; + var currentDepth = 0; + var spacing = opts.min ? ' ' : '\n'; + var edgeSpacing = opts.min ? '' : '\n'; + + if (opts && opts.plugins.length) { + indent = createIndent(opts.indent); + refs = []; + var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min, opts.callToJSON, opts.printFunctionName, opts.escapeRegex); + if (pluginsResult) return pluginsResult; + } + + var basicResult = printBasicValue(val, opts.printFunctionName, opts.escapeRegex); + if (basicResult) return basicResult; + if (!indent) indent = createIndent(opts.indent); + if (!refs) refs = []; + return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min, opts.callToJSON, opts.printFunctionName, opts.escapeRegex); + } + + module.exports = prettyFormat; +},192,[193],"node_modules/pretty-format/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ESCAPED_CHARACTERS = /(\\|\"|\')/g; + + module.exports = function printString(val) { + return val.replace(ESCAPED_CHARACTERS, '\\$1'); + }; +},193,[],"node_modules/pretty-format/printString.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[0], 'EventEmitter'); + + var EventSubscriptionVendor = _$$_REQUIRE(_dependencyMap[1], 'EventSubscriptionVendor'); + + function checkNativeEventModule(eventType) { + if (eventType) { + if (eventType.lastIndexOf('statusBar', 0) === 0) { + throw new Error('`' + eventType + '` event should be registered via the StatusBarIOS module'); + } + + if (eventType.lastIndexOf('keyboard', 0) === 0) { + throw new Error('`' + eventType + '` event should be registered via the Keyboard module'); + } + + if (eventType === 'appStateDidChange' || eventType === 'memoryWarning') { + throw new Error('`' + eventType + '` event should be registered via the AppState module'); + } + } + } + + var RCTDeviceEventEmitter = function (_EventEmitter) { + function RCTDeviceEventEmitter() { + var _this; + + _classCallCheck(this, RCTDeviceEventEmitter); + + var sharedSubscriber = new EventSubscriptionVendor(); + _this = _possibleConstructorReturn(this, _getPrototypeOf(RCTDeviceEventEmitter).call(this, sharedSubscriber)); + _this.sharedSubscriber = sharedSubscriber; + return _this; + } + + _createClass(RCTDeviceEventEmitter, [{ + key: "addListener", + value: function addListener(eventType, listener, context) { + if (__DEV__) { + checkNativeEventModule(eventType); + } + + return _get(_getPrototypeOf(RCTDeviceEventEmitter.prototype), "addListener", this).call(this, eventType, listener, context); + } + }, { + key: "removeAllListeners", + value: function removeAllListeners(eventType) { + if (__DEV__) { + checkNativeEventModule(eventType); + } + + _get(_getPrototypeOf(RCTDeviceEventEmitter.prototype), "removeAllListeners", this).call(this, eventType); + } + }, { + key: "removeSubscription", + value: function removeSubscription(subscription) { + if (subscription.emitter !== this) { + subscription.emitter.removeSubscription(subscription); + } else { + _get(_getPrototypeOf(RCTDeviceEventEmitter.prototype), "removeSubscription", this).call(this, subscription); + } + } + }]); + + _inherits(RCTDeviceEventEmitter, _EventEmitter); + + return RCTDeviceEventEmitter; + }(EventEmitter); + + module.exports = new RCTDeviceEventEmitter(); +},194,[195,198],"node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var EmitterSubscription = _$$_REQUIRE(_dependencyMap[0], 'EmitterSubscription'); + + var EventSubscriptionVendor = _$$_REQUIRE(_dependencyMap[1], 'EventSubscriptionVendor'); + + var emptyFunction = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/emptyFunction'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var EventEmitter = function () { + function EventEmitter(subscriber) { + _classCallCheck(this, EventEmitter); + + this._subscriber = subscriber || new EventSubscriptionVendor(); + } + + _createClass(EventEmitter, [{ + key: "addListener", + value: function addListener(eventType, listener, context) { + return this._subscriber.addSubscription(eventType, new EmitterSubscription(this, this._subscriber, listener, context)); + } + }, { + key: "once", + value: function once(eventType, listener, context) { + var _this = this; + + return this.addListener(eventType, function () { + _this.removeCurrentListener(); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + listener.apply(context, args); + }); + } + }, { + key: "removeAllListeners", + value: function removeAllListeners(eventType) { + this._subscriber.removeAllSubscriptions(eventType); + } + }, { + key: "removeCurrentListener", + value: function removeCurrentListener() { + invariant(!!this._currentSubscription, 'Not in an emitting cycle; there is no current subscription'); + this.removeSubscription(this._currentSubscription); + } + }, { + key: "removeSubscription", + value: function removeSubscription(subscription) { + invariant(subscription.emitter === this, 'Subscription does not belong to this emitter.'); + + this._subscriber.removeSubscription(subscription); + } + }, { + key: "listeners", + value: function listeners(eventType) { + var subscriptions = this._subscriber.getSubscriptionsForType(eventType); + + return subscriptions ? subscriptions.filter(emptyFunction.thatReturnsTrue).map(function (subscription) { + return subscription.listener; + }) : []; + } + }, { + key: "emit", + value: function emit(eventType) { + var subscriptions = this._subscriber.getSubscriptionsForType(eventType); + + if (subscriptions) { + for (var i = 0, l = subscriptions.length; i < l; i++) { + var subscription = subscriptions[i]; + + if (subscription) { + this._currentSubscription = subscription; + subscription.listener.apply(subscription.context, Array.prototype.slice.call(arguments, 1)); + } + } + + this._currentSubscription = null; + } + } + }, { + key: "removeListener", + value: function removeListener(eventType, listener) { + var subscriptions = this._subscriber.getSubscriptionsForType(eventType); + + if (subscriptions) { + for (var i = 0, l = subscriptions.length; i < l; i++) { + var subscription = subscriptions[i]; + + if (subscription && subscription.listener === listener) { + subscription.remove(); + } + } + } + } + }]); + + return EventEmitter; + }(); + + module.exports = EventEmitter; +},195,[196,198,184,166],"node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventSubscription = _$$_REQUIRE(_dependencyMap[0], 'EventSubscription'); + + var EmitterSubscription = function (_EventSubscription) { + function EmitterSubscription(emitter, subscriber, listener, context) { + var _this; + + _classCallCheck(this, EmitterSubscription); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(EmitterSubscription).call(this, subscriber)); + _this.emitter = emitter; + _this.listener = listener; + _this.context = context; + return _this; + } + + _createClass(EmitterSubscription, [{ + key: "remove", + value: function remove() { + this.emitter.removeSubscription(this); + } + }]); + + _inherits(EmitterSubscription, _EventSubscription); + + return EmitterSubscription; + }(EventSubscription); + + module.exports = EmitterSubscription; +},196,[197],"node_modules/react-native/Libraries/vendor/emitter/EmitterSubscription.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var EventSubscription = function () { + function EventSubscription(subscriber) { + _classCallCheck(this, EventSubscription); + + this.subscriber = subscriber; + } + + _createClass(EventSubscription, [{ + key: "remove", + value: function remove() { + this.subscriber.removeSubscription(this); + } + }]); + + return EventSubscription; + }(); + + module.exports = EventSubscription; +},197,[],"node_modules/react-native/Libraries/vendor/emitter/EventSubscription.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var EventSubscriptionVendor = function () { + function EventSubscriptionVendor() { + _classCallCheck(this, EventSubscriptionVendor); + + this._subscriptionsForType = {}; + this._currentSubscription = null; + } + + _createClass(EventSubscriptionVendor, [{ + key: "addSubscription", + value: function addSubscription(eventType, subscription) { + invariant(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.'); + + if (!this._subscriptionsForType[eventType]) { + this._subscriptionsForType[eventType] = []; + } + + var key = this._subscriptionsForType[eventType].length; + + this._subscriptionsForType[eventType].push(subscription); + + subscription.eventType = eventType; + subscription.key = key; + return subscription; + } + }, { + key: "removeAllSubscriptions", + value: function removeAllSubscriptions(eventType) { + if (eventType === undefined) { + this._subscriptionsForType = {}; + } else { + delete this._subscriptionsForType[eventType]; + } + } + }, { + key: "removeSubscription", + value: function removeSubscription(subscription) { + var eventType = subscription.eventType; + var key = subscription.key; + var subscriptionsForType = this._subscriptionsForType[eventType]; + + if (subscriptionsForType) { + delete subscriptionsForType[key]; + } + } + }, { + key: "getSubscriptionsForType", + value: function getSubscriptionsForType(eventType) { + return this._subscriptionsForType[eventType]; + } + }]); + + return EventSubscriptionVendor; + }(); + + module.exports = EventSubscriptionVendor; +},198,[166],"node_modules/react-native/Libraries/vendor/emitter/EventSubscriptionVendor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[1], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[2], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[3], 'View'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[4], 'requireNativeComponent'); + + var RCTActivityIndicator = Platform.OS === 'android' ? _$$_REQUIRE(_dependencyMap[5], 'ProgressBarAndroid') : requireNativeComponent('RCTActivityIndicatorView'); + var GRAY = '#999999'; + + var ActivityIndicator = function ActivityIndicator(props) { + var onLayout = props.onLayout, + style = props.style, + forwardedRef = props.forwardedRef, + restProps = _objectWithoutProperties(props, ["onLayout", "style", "forwardedRef"]); + + var sizeStyle; + + switch (props.size) { + case 'small': + sizeStyle = styles.sizeSmall; + break; + + case 'large': + sizeStyle = styles.sizeLarge; + break; + + default: + sizeStyle = { + height: props.size, + width: props.size + }; + break; + } + + var nativeProps = _objectSpread({}, restProps, { + ref: forwardedRef, + style: sizeStyle, + styleAttr: 'Normal', + indeterminate: true + }); + + return React.createElement(View, { + onLayout: onLayout, + style: [styles.container, style], + __source: { + fileName: _jsxFileName, + lineNumber: 102 + } + }, React.createElement(RCTActivityIndicator, _extends({}, nativeProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 103 + } + }))); + }; + + var ActivityIndicatorWithRef = React.forwardRef(function (props, ref) { + return React.createElement(ActivityIndicator, _extends({}, props, { + forwardedRef: ref, + __source: { + fileName: _jsxFileName, + lineNumber: 110 + } + })); + }); + ActivityIndicatorWithRef.defaultProps = { + animating: true, + color: Platform.OS === 'ios' ? GRAY : null, + hidesWhenStopped: true, + size: 'small' + }; + ActivityIndicatorWithRef.displayName = 'ActivityIndicator'; + var styles = StyleSheet.create({ + container: { + alignItems: 'center', + justifyContent: 'center' + }, + sizeSmall: { + width: 20, + height: 20 + }, + sizeLarge: { + width: 36, + height: 36 + } + }); + module.exports = ActivityIndicatorWithRef; +},199,[176,200,201,227,229,239],"node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'react'); +},200,[1],"node_modules/react-native/Libraries/react-native/React.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var PixelRatio = _$$_REQUIRE(_dependencyMap[0], 'PixelRatio'); + + var ReactNativeStyleAttributes = _$$_REQUIRE(_dependencyMap[1], 'ReactNativeStyleAttributes'); + + var StyleSheetValidation = _$$_REQUIRE(_dependencyMap[2], 'StyleSheetValidation'); + + var flatten = _$$_REQUIRE(_dependencyMap[3], 'flattenStyle'); + + var hairlineWidth = PixelRatio.roundToNearestPixel(0.4); + + if (hairlineWidth === 0) { + hairlineWidth = 1 / PixelRatio.get(); + } + + var absoluteFill = { + position: 'absolute', + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + + if (__DEV__) { + Object.freeze(absoluteFill); + } + + module.exports = { + hairlineWidth: hairlineWidth, + absoluteFill: absoluteFill, + absoluteFillObject: absoluteFill, + compose: function compose(style1, style2) { + if (style1 != null && style2 != null) { + return [style1, style2]; + } else { + return style1 != null ? style1 : style2; + } + }, + flatten: flatten, + setStyleAttributePreprocessor: function setStyleAttributePreprocessor(property, process) { + var value; + + if (typeof ReactNativeStyleAttributes[property] === 'string') { + value = {}; + } else if (typeof ReactNativeStyleAttributes[property] === 'object') { + value = ReactNativeStyleAttributes[property]; + } else { + console.error(property + " is not a valid style attribute"); + return; + } + + if (__DEV__ && typeof value.process === 'function') { + console.warn("Overwriting " + property + " style attribute preprocessor"); + } + + ReactNativeStyleAttributes[property] = _objectSpread({}, value, { + process: process + }); + }, + create: function create(obj) { + if (__DEV__) { + for (var _key in obj) { + StyleSheetValidation.validateStyle(_key, obj); + + if (obj[_key]) { + Object.freeze(obj[_key]); + } + } + } + + return obj; + } + }; +},201,[202,205,225,226],"node_modules/react-native/Libraries/StyleSheet/StyleSheet.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Dimensions = _$$_REQUIRE(_dependencyMap[0], 'Dimensions'); + + var PixelRatio = function () { + function PixelRatio() { + _classCallCheck(this, PixelRatio); + } + + _createClass(PixelRatio, null, [{ + key: "get", + value: function get() { + return Dimensions.get('window').scale; + } + }, { + key: "getFontScale", + value: function getFontScale() { + return Dimensions.get('window').fontScale || PixelRatio.get(); + } + }, { + key: "getPixelSizeForLayoutSize", + value: function getPixelSizeForLayoutSize(layoutSize) { + return Math.round(layoutSize * PixelRatio.get()); + } + }, { + key: "roundToNearestPixel", + value: function roundToNearestPixel(layoutSize) { + var ratio = PixelRatio.get(); + return Math.round(layoutSize * ratio) / ratio; + } + }, { + key: "startDetecting", + value: function startDetecting() {} + }]); + + return PixelRatio; + }(); + + module.exports = PixelRatio; +},202,[203],"node_modules/react-native/Libraries/Utilities/PixelRatio.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[0], 'EventEmitter'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'RCTDeviceEventEmitter'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var eventEmitter = new EventEmitter(); + var dimensionsInitialized = false; + var dimensions = {}; + + var Dimensions = function () { + function Dimensions() { + _classCallCheck(this, Dimensions); + } + + _createClass(Dimensions, null, [{ + key: "set", + value: function set(dims) { + if (dims && dims.windowPhysicalPixels) { + dims = JSON.parse(JSON.stringify(dims)); + var windowPhysicalPixels = dims.windowPhysicalPixels; + dims.window = { + width: windowPhysicalPixels.width / windowPhysicalPixels.scale, + height: windowPhysicalPixels.height / windowPhysicalPixels.scale, + scale: windowPhysicalPixels.scale, + fontScale: windowPhysicalPixels.fontScale + }; + + if (Platform.OS === 'android') { + var screenPhysicalPixels = dims.screenPhysicalPixels; + dims.screen = { + width: screenPhysicalPixels.width / screenPhysicalPixels.scale, + height: screenPhysicalPixels.height / screenPhysicalPixels.scale, + scale: screenPhysicalPixels.scale, + fontScale: screenPhysicalPixels.fontScale + }; + delete dims.screenPhysicalPixels; + } else { + dims.screen = dims.window; + } + + delete dims.windowPhysicalPixels; + } + + _extends(dimensions, dims); + + if (dimensionsInitialized) { + eventEmitter.emit('change', { + window: dimensions.window, + screen: dimensions.screen + }); + } else { + dimensionsInitialized = true; + } + } + }, { + key: "get", + value: function get(dim) { + invariant(dimensions[dim], 'No dimension set for key ' + dim); + return dimensions[dim]; + } + }, { + key: "addEventListener", + value: function addEventListener(type, handler) { + invariant(type === 'change', 'Trying to subscribe to unknown event: "%s"', type); + eventEmitter.addListener(type, handler); + } + }, { + key: "removeEventListener", + value: function removeEventListener(type, handler) { + invariant(type === 'change', 'Trying to remove listener for unknown event: "%s"', type); + eventEmitter.removeListener(type, handler); + } + }]); + + return Dimensions; + }(); + + var dims = global.nativeExtensions && global.nativeExtensions.DeviceInfo && global.nativeExtensions.DeviceInfo.Dimensions; + var nativeExtensionsEnabled = true; + + if (!dims) { + var DeviceInfo = _$$_REQUIRE(_dependencyMap[4], 'DeviceInfo'); + + dims = DeviceInfo.Dimensions; + nativeExtensionsEnabled = false; + } + + invariant(dims, 'Either DeviceInfo native extension or DeviceInfo Native Module must be registered'); + Dimensions.set(dims); + + if (!nativeExtensionsEnabled) { + RCTDeviceEventEmitter.addListener('didUpdateDimensions', function (update) { + Dimensions.set(update); + }); + } + + module.exports = Dimensions; +},203,[195,176,194,166,204],"node_modules/react-native/Libraries/Utilities/Dimensions.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var DeviceInfo = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').DeviceInfo; + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + invariant(DeviceInfo, 'DeviceInfo native module is not installed correctly'); + module.exports = DeviceInfo; +},204,[168,166],"node_modules/react-native/Libraries/Utilities/DeviceInfo.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ImageStylePropTypes = _$$_REQUIRE(_dependencyMap[0], 'ImageStylePropTypes'); + + var TextStylePropTypes = _$$_REQUIRE(_dependencyMap[1], 'TextStylePropTypes'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[2], 'ViewStylePropTypes'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/keyMirror'); + + var processColor = _$$_REQUIRE(_dependencyMap[4], 'processColor'); + + var processTransform = _$$_REQUIRE(_dependencyMap[5], 'processTransform'); + + var sizesDiffer = _$$_REQUIRE(_dependencyMap[6], 'sizesDiffer'); + + var ReactNativeStyleAttributes = _objectSpread({}, keyMirror(ViewStylePropTypes), keyMirror(TextStylePropTypes), keyMirror(ImageStylePropTypes)); + + ReactNativeStyleAttributes.transform = { + process: processTransform + }; + ReactNativeStyleAttributes.shadowOffset = { + diff: sizesDiffer + }; + var colorAttributes = { + process: processColor + }; + ReactNativeStyleAttributes.backgroundColor = colorAttributes; + ReactNativeStyleAttributes.borderBottomColor = colorAttributes; + ReactNativeStyleAttributes.borderColor = colorAttributes; + ReactNativeStyleAttributes.borderLeftColor = colorAttributes; + ReactNativeStyleAttributes.borderRightColor = colorAttributes; + ReactNativeStyleAttributes.borderTopColor = colorAttributes; + ReactNativeStyleAttributes.borderStartColor = colorAttributes; + ReactNativeStyleAttributes.borderEndColor = colorAttributes; + ReactNativeStyleAttributes.color = colorAttributes; + ReactNativeStyleAttributes.shadowColor = colorAttributes; + ReactNativeStyleAttributes.textDecorationColor = colorAttributes; + ReactNativeStyleAttributes.tintColor = colorAttributes; + ReactNativeStyleAttributes.textShadowColor = colorAttributes; + ReactNativeStyleAttributes.overlayColor = colorAttributes; + module.exports = ReactNativeStyleAttributes; +},205,[206,219,220,210,221,222,224],"node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var ImageResizeMode = _$$_REQUIRE(_dependencyMap[1], 'ImageResizeMode'); + + var LayoutPropTypes = _$$_REQUIRE(_dependencyMap[2], 'LayoutPropTypes'); + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var ShadowPropTypesIOS = _$$_REQUIRE(_dependencyMap[4], 'ShadowPropTypesIOS'); + + var TransformPropTypes = _$$_REQUIRE(_dependencyMap[5], 'TransformPropTypes'); + + var ImageStylePropTypes = _objectSpread({}, LayoutPropTypes, ShadowPropTypesIOS, TransformPropTypes, { + resizeMode: ReactPropTypes.oneOf(Object.keys(ImageResizeMode)), + backfaceVisibility: ReactPropTypes.oneOf(['visible', 'hidden']), + backgroundColor: ColorPropType, + borderColor: ColorPropType, + borderWidth: ReactPropTypes.number, + borderRadius: ReactPropTypes.number, + overflow: ReactPropTypes.oneOf(['visible', 'hidden']), + tintColor: ColorPropType, + opacity: ReactPropTypes.number, + overlayColor: ReactPropTypes.string, + borderTopLeftRadius: ReactPropTypes.number, + borderTopRightRadius: ReactPropTypes.number, + borderBottomLeftRadius: ReactPropTypes.number, + borderBottomRightRadius: ReactPropTypes.number + }); + + module.exports = ImageStylePropTypes; +},206,[207,209,211,212,215,216],"node_modules/react-native/Libraries/Image/ImageStylePropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var normalizeColor = _$$_REQUIRE(_dependencyMap[0], 'normalizeColor'); + + var colorPropType = function colorPropType(isRequired, props, propName, componentName, location, propFullName) { + var color = props[propName]; + + if (color === undefined || color === null) { + if (isRequired) { + return new Error('Required ' + location + ' `' + (propFullName || propName) + '` was not specified in `' + componentName + '`.'); + } + + return; + } + + if (typeof color === 'number') { + return; + } + + if (normalizeColor(color) === null) { + return new Error('Invalid ' + location + ' `' + (propFullName || propName) + '` supplied to `' + componentName + '`: ' + color + '\n' + "Valid color formats are\n - '#f0f' (#rgb)\n - '#f0fc' (#rgba)\n - '#ff00ff' (#rrggbb)\n - '#ff00ff00' (#rrggbbaa)\n - 'rgb(255, 255, 255)'\n - 'rgba(255, 255, 255, 1.0)'\n - 'hsl(360, 100%, 100%)'\n - 'hsla(360, 100%, 100%, 1.0)'\n - 'transparent'\n - 'red'\n - 0xff00ff00 (0xrrggbbaa)\n"); + } + }; + + var ColorPropType = colorPropType.bind(null, false); + ColorPropType.isRequired = colorPropType.bind(null, true); + module.exports = ColorPropType; +},207,[208],"node_modules/react-native/Libraries/StyleSheet/ColorPropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function normalizeColor(color) { + var matchers = getMatchers(); + var match; + + if (typeof color === 'number') { + if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) { + return color; + } + + return null; + } + + if (match = matchers.hex6.exec(color)) { + return parseInt(match[1] + 'ff', 16) >>> 0; + } + + if (names.hasOwnProperty(color)) { + return names[color]; + } + + if (match = matchers.rgb.exec(color)) { + return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0; + } + + if (match = matchers.rgba.exec(color)) { + return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0; + } + + if (match = matchers.hex3.exec(color)) { + return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0; + } + + if (match = matchers.hex8.exec(color)) { + return parseInt(match[1], 16) >>> 0; + } + + if (match = matchers.hex4.exec(color)) { + return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0; + } + + if (match = matchers.hsl.exec(color)) { + return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0; + } + + if (match = matchers.hsla.exec(color)) { + return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0; + } + + return null; + } + + function hue2rgb(p, q, t) { + if (t < 0) { + t += 1; + } + + if (t > 1) { + t -= 1; + } + + if (t < 1 / 6) { + return p + (q - p) * 6 * t; + } + + if (t < 1 / 2) { + return q; + } + + if (t < 2 / 3) { + return p + (q - p) * (2 / 3 - t) * 6; + } + + return p; + } + + function hslToRgb(h, s, l) { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + var r = hue2rgb(p, q, h + 1 / 3); + var g = hue2rgb(p, q, h); + var b = hue2rgb(p, q, h - 1 / 3); + return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8; + } + + var NUMBER = '[-+]?\\d*\\.?\\d+'; + var PERCENTAGE = NUMBER + '%'; + + function call() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return '\\(\\s*(' + args.join(')\\s*,\\s*(') + ')\\s*\\)'; + } + + var cachedMatchers; + + function getMatchers() { + if (cachedMatchers === undefined) { + cachedMatchers = { + rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)), + rgba: new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)), + hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)), + hsla: new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)), + hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#([0-9a-fA-F]{6})$/, + hex8: /^#([0-9a-fA-F]{8})$/ + }; + } + + return cachedMatchers; + } + + function parse255(str) { + var int = parseInt(str, 10); + + if (int < 0) { + return 0; + } + + if (int > 255) { + return 255; + } + + return int; + } + + function parse360(str) { + var int = parseFloat(str); + return (int % 360 + 360) % 360 / 360; + } + + function parse1(str) { + var num = parseFloat(str); + + if (num < 0) { + return 0; + } + + if (num > 1) { + return 255; + } + + return Math.round(num * 255); + } + + function parsePercentage(str) { + var int = parseFloat(str); + + if (int < 0) { + return 0; + } + + if (int > 100) { + return 1; + } + + return int / 100; + } + + var names = { + transparent: 0x00000000, + aliceblue: 0xf0f8ffff, + antiquewhite: 0xfaebd7ff, + aqua: 0x00ffffff, + aquamarine: 0x7fffd4ff, + azure: 0xf0ffffff, + beige: 0xf5f5dcff, + bisque: 0xffe4c4ff, + black: 0x000000ff, + blanchedalmond: 0xffebcdff, + blue: 0x0000ffff, + blueviolet: 0x8a2be2ff, + brown: 0xa52a2aff, + burlywood: 0xdeb887ff, + burntsienna: 0xea7e5dff, + cadetblue: 0x5f9ea0ff, + chartreuse: 0x7fff00ff, + chocolate: 0xd2691eff, + coral: 0xff7f50ff, + cornflowerblue: 0x6495edff, + cornsilk: 0xfff8dcff, + crimson: 0xdc143cff, + cyan: 0x00ffffff, + darkblue: 0x00008bff, + darkcyan: 0x008b8bff, + darkgoldenrod: 0xb8860bff, + darkgray: 0xa9a9a9ff, + darkgreen: 0x006400ff, + darkgrey: 0xa9a9a9ff, + darkkhaki: 0xbdb76bff, + darkmagenta: 0x8b008bff, + darkolivegreen: 0x556b2fff, + darkorange: 0xff8c00ff, + darkorchid: 0x9932ccff, + darkred: 0x8b0000ff, + darksalmon: 0xe9967aff, + darkseagreen: 0x8fbc8fff, + darkslateblue: 0x483d8bff, + darkslategray: 0x2f4f4fff, + darkslategrey: 0x2f4f4fff, + darkturquoise: 0x00ced1ff, + darkviolet: 0x9400d3ff, + deeppink: 0xff1493ff, + deepskyblue: 0x00bfffff, + dimgray: 0x696969ff, + dimgrey: 0x696969ff, + dodgerblue: 0x1e90ffff, + firebrick: 0xb22222ff, + floralwhite: 0xfffaf0ff, + forestgreen: 0x228b22ff, + fuchsia: 0xff00ffff, + gainsboro: 0xdcdcdcff, + ghostwhite: 0xf8f8ffff, + gold: 0xffd700ff, + goldenrod: 0xdaa520ff, + gray: 0x808080ff, + green: 0x008000ff, + greenyellow: 0xadff2fff, + grey: 0x808080ff, + honeydew: 0xf0fff0ff, + hotpink: 0xff69b4ff, + indianred: 0xcd5c5cff, + indigo: 0x4b0082ff, + ivory: 0xfffff0ff, + khaki: 0xf0e68cff, + lavender: 0xe6e6faff, + lavenderblush: 0xfff0f5ff, + lawngreen: 0x7cfc00ff, + lemonchiffon: 0xfffacdff, + lightblue: 0xadd8e6ff, + lightcoral: 0xf08080ff, + lightcyan: 0xe0ffffff, + lightgoldenrodyellow: 0xfafad2ff, + lightgray: 0xd3d3d3ff, + lightgreen: 0x90ee90ff, + lightgrey: 0xd3d3d3ff, + lightpink: 0xffb6c1ff, + lightsalmon: 0xffa07aff, + lightseagreen: 0x20b2aaff, + lightskyblue: 0x87cefaff, + lightslategray: 0x778899ff, + lightslategrey: 0x778899ff, + lightsteelblue: 0xb0c4deff, + lightyellow: 0xffffe0ff, + lime: 0x00ff00ff, + limegreen: 0x32cd32ff, + linen: 0xfaf0e6ff, + magenta: 0xff00ffff, + maroon: 0x800000ff, + mediumaquamarine: 0x66cdaaff, + mediumblue: 0x0000cdff, + mediumorchid: 0xba55d3ff, + mediumpurple: 0x9370dbff, + mediumseagreen: 0x3cb371ff, + mediumslateblue: 0x7b68eeff, + mediumspringgreen: 0x00fa9aff, + mediumturquoise: 0x48d1ccff, + mediumvioletred: 0xc71585ff, + midnightblue: 0x191970ff, + mintcream: 0xf5fffaff, + mistyrose: 0xffe4e1ff, + moccasin: 0xffe4b5ff, + navajowhite: 0xffdeadff, + navy: 0x000080ff, + oldlace: 0xfdf5e6ff, + olive: 0x808000ff, + olivedrab: 0x6b8e23ff, + orange: 0xffa500ff, + orangered: 0xff4500ff, + orchid: 0xda70d6ff, + palegoldenrod: 0xeee8aaff, + palegreen: 0x98fb98ff, + paleturquoise: 0xafeeeeff, + palevioletred: 0xdb7093ff, + papayawhip: 0xffefd5ff, + peachpuff: 0xffdab9ff, + peru: 0xcd853fff, + pink: 0xffc0cbff, + plum: 0xdda0ddff, + powderblue: 0xb0e0e6ff, + purple: 0x800080ff, + rebeccapurple: 0x663399ff, + red: 0xff0000ff, + rosybrown: 0xbc8f8fff, + royalblue: 0x4169e1ff, + saddlebrown: 0x8b4513ff, + salmon: 0xfa8072ff, + sandybrown: 0xf4a460ff, + seagreen: 0x2e8b57ff, + seashell: 0xfff5eeff, + sienna: 0xa0522dff, + silver: 0xc0c0c0ff, + skyblue: 0x87ceebff, + slateblue: 0x6a5acdff, + slategray: 0x708090ff, + slategrey: 0x708090ff, + snow: 0xfffafaff, + springgreen: 0x00ff7fff, + steelblue: 0x4682b4ff, + tan: 0xd2b48cff, + teal: 0x008080ff, + thistle: 0xd8bfd8ff, + tomato: 0xff6347ff, + turquoise: 0x40e0d0ff, + violet: 0xee82eeff, + wheat: 0xf5deb3ff, + white: 0xffffffff, + whitesmoke: 0xf5f5f5ff, + yellow: 0xffff00ff, + yellowgreen: 0x9acd32ff + }; + module.exports = normalizeColor; +},208,[],"node_modules/react-native/Libraries/Color/normalizeColor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var keyMirror = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/keyMirror'); + + var ImageResizeMode = keyMirror({ + contain: null, + cover: null, + stretch: null, + center: null, + repeat: null + }); + module.exports = ImageResizeMode; +},209,[210],"node_modules/react-native/Libraries/Image/ImageResizeMode.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], './invariant'); + + var keyMirror = function keyMirror(obj) { + var ret = {}; + var key; + !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; + + for (key in obj) { + if (!obj.hasOwnProperty(key)) { + continue; + } + + ret[key] = key; + } + + return ret; + }; + + module.exports = keyMirror; +},210,[166],"node_modules/react-native/node_modules/fbjs/lib/keyMirror.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var LayoutPropTypes = { + display: ReactPropTypes.oneOf(['none', 'flex']), + width: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + height: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + start: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + end: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + top: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + left: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + right: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + bottom: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + minWidth: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + maxWidth: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + minHeight: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + maxHeight: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + margin: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginVertical: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginHorizontal: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginTop: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginBottom: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginLeft: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginRight: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginStart: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + marginEnd: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + padding: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingVertical: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingHorizontal: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingTop: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingBottom: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingLeft: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingRight: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingStart: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + paddingEnd: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + borderWidth: ReactPropTypes.number, + borderTopWidth: ReactPropTypes.number, + borderStartWidth: ReactPropTypes.number, + borderEndWidth: ReactPropTypes.number, + borderRightWidth: ReactPropTypes.number, + borderBottomWidth: ReactPropTypes.number, + borderLeftWidth: ReactPropTypes.number, + position: ReactPropTypes.oneOf(['absolute', 'relative']), + flexDirection: ReactPropTypes.oneOf(['row', 'row-reverse', 'column', 'column-reverse']), + flexWrap: ReactPropTypes.oneOf(['wrap', 'nowrap', 'wrap-reverse']), + justifyContent: ReactPropTypes.oneOf(['flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly']), + alignItems: ReactPropTypes.oneOf(['flex-start', 'flex-end', 'center', 'stretch', 'baseline']), + alignSelf: ReactPropTypes.oneOf(['auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline']), + alignContent: ReactPropTypes.oneOf(['flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around']), + overflow: ReactPropTypes.oneOf(['visible', 'hidden', 'scroll']), + flex: ReactPropTypes.number, + flexGrow: ReactPropTypes.number, + flexShrink: ReactPropTypes.number, + flexBasis: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]), + aspectRatio: ReactPropTypes.number, + zIndex: ReactPropTypes.number, + direction: ReactPropTypes.oneOf(['inherit', 'ltr', 'rtl']) + }; + module.exports = LayoutPropTypes; +},211,[212],"node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + if (process.env.NODE_ENV !== 'production') { + var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && (typeof Symbol === "function" ? Symbol.for : "@@for") && (typeof Symbol === "function" ? Symbol.for : "@@for")('react.element') || 0xeac7; + + var isValidElement = function isValidElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + }; + + var throwOnDirectAccess = true; + module.exports = _$$_REQUIRE(_dependencyMap[0], './factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); + } else { + module.exports = _$$_REQUIRE(_dependencyMap[1], './factoryWithThrowingShims')(); + } +},212,[213,214],"node_modules/prop-types/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var assign = _$$_REQUIRE(_dependencyMap[0], 'object-assign'); + + var ReactPropTypesSecret = _$$_REQUIRE(_dependencyMap[1], './lib/ReactPropTypesSecret'); + + var checkPropTypes = _$$_REQUIRE(_dependencyMap[2], './checkPropTypes'); + + var printWarning = function printWarning() {}; + + if (process.env.NODE_ENV !== 'production') { + printWarning = function printWarning(text) { + var message = 'Warning: ' + text; + + if (typeof console !== 'undefined') { + console.error(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + } + + function emptyFunctionThatReturnsNull() { + return null; + } + + module.exports = function (isValidElement, throwOnDirectAccess) { + var ITERATOR_SYMBOL = typeof Symbol === 'function' && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + var ANONYMOUS = '<>'; + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker + }; + + function is(x, y) { + if (x === y) { + return x !== 0 || 1 / x === 1 / y; + } else { + return x !== x && y !== y; + } + } + + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret) { + if (throwOnDirectAccess) { + var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types'); + err.name = 'Invariant Violation'; + throw err; + } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + var cacheKey = componentName + ':' + propName; + + if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) { + printWarning('You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + + if (propType !== expectedType) { + var preciseType = getPreciseType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunctionThatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + + var propValue = props[propName]; + + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + + if (error instanceof Error) { + return error; + } + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + + var propValue = props[propName]; + var propType = getPropType(propValue); + + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + + if (error instanceof Error) { + return error; + } + } + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + + if (typeof checker !== 'function') { + printWarning('Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'); + return emptyFunctionThatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { + return null; + } + } + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + + if (!checker) { + continue; + } + + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + + if (error) { + return error; + } + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + + var allKeys = assign({}, props[propName], shapeTypes); + + for (var key in allKeys) { + var checker = shapeTypes[key]; + + if (!checker) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')); + } + + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + + if (error) { + return error; + } + } + + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + + case 'boolean': + return !propValue; + + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + while (!(step = iterator.next()).done) { + var entry = step.value; + + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + + default: + return false; + } + } + + function isSymbol(propType, propValue) { + if (propType === 'symbol') { + return true; + } + + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + function getPropType(propValue) { + var propType = typeof propValue; + + if (Array.isArray(propValue)) { + return 'array'; + } + + if (propValue instanceof RegExp) { + return 'object'; + } + + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + + return propType; + } + + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + + var propType = getPropType(propValue); + + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + + return propType; + } + + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + + default: + return type; + } + } + + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes; + ReactPropTypes.PropTypes = ReactPropTypes; + return ReactPropTypes; + }; +},213,[3,10,9],"node_modules/prop-types/factoryWithTypeCheckers.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ReactPropTypesSecret = _$$_REQUIRE(_dependencyMap[0], './lib/ReactPropTypesSecret'); + + function emptyFunction() {} + + module.exports = function () { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + return; + } + + var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types'); + err.name = 'Invariant Violation'; + throw err; + } + + ; + shim.isRequired = shim; + + function getShim() { + return shim; + } + + ; + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + any: shim, + arrayOf: getShim, + element: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; + return ReactPropTypes; + }; +},214,[10],"node_modules/prop-types/factoryWithThrowingShims.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[1], 'prop-types'); + + var ShadowPropTypesIOS = { + shadowColor: ColorPropType, + shadowOffset: ReactPropTypes.shape({ + width: ReactPropTypes.number, + height: ReactPropTypes.number + }), + shadowOpacity: ReactPropTypes.number, + shadowRadius: ReactPropTypes.number + }; + module.exports = ShadowPropTypesIOS; +},215,[207,212],"node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var deprecatedPropType = _$$_REQUIRE(_dependencyMap[1], 'deprecatedPropType'); + + var TransformMatrixPropType = function TransformMatrixPropType(props, propName, componentName) { + if (props[propName]) { + return new Error('The transformMatrix style property is deprecated. ' + 'Use `transform: [{ matrix: ... }]` instead.'); + } + }; + + var DecomposedMatrixPropType = function DecomposedMatrixPropType(props, propName, componentName) { + if (props[propName]) { + return new Error('The decomposedMatrix style property is deprecated. ' + 'Use `transform: [...]` instead.'); + } + }; + + var TransformPropTypes = { + transform: ReactPropTypes.arrayOf(ReactPropTypes.oneOfType([ReactPropTypes.shape({ + perspective: ReactPropTypes.number + }), ReactPropTypes.shape({ + rotate: ReactPropTypes.string + }), ReactPropTypes.shape({ + rotateX: ReactPropTypes.string + }), ReactPropTypes.shape({ + rotateY: ReactPropTypes.string + }), ReactPropTypes.shape({ + rotateZ: ReactPropTypes.string + }), ReactPropTypes.shape({ + scale: ReactPropTypes.number + }), ReactPropTypes.shape({ + scaleX: ReactPropTypes.number + }), ReactPropTypes.shape({ + scaleY: ReactPropTypes.number + }), ReactPropTypes.shape({ + translateX: ReactPropTypes.number + }), ReactPropTypes.shape({ + translateY: ReactPropTypes.number + }), ReactPropTypes.shape({ + skewX: ReactPropTypes.string + }), ReactPropTypes.shape({ + skewY: ReactPropTypes.string + })])), + transformMatrix: TransformMatrixPropType, + decomposedMatrix: DecomposedMatrixPropType, + scaleX: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'), + scaleY: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'), + rotation: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'), + translateX: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'), + translateY: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.') + }; + module.exports = TransformPropTypes; +},216,[212,217],"node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var UIManager = _$$_REQUIRE(_dependencyMap[0], 'UIManager'); + + function deprecatedPropType(propType, explanation) { + return function validate(props, propName, componentName) { + if (!UIManager[componentName] && props[propName] !== undefined) { + console.warn("`" + propName + "` supplied to `" + componentName + "` has been deprecated. " + explanation); + } + + for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { + rest[_key - 3] = arguments[_key]; + } + + return propType.apply(void 0, [props, propName, componentName].concat(rest)); + }; + } + + module.exports = deprecatedPropType; +},217,[218],"node_modules/react-native/Libraries/Utilities/deprecatedPropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var defineLazyObjectProperty = _$$_REQUIRE(_dependencyMap[2], 'defineLazyObjectProperty'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var UIManager = NativeModules.UIManager; + invariant(UIManager, 'UIManager is undefined. The native module config is probably incorrect.'); + UIManager.__takeSnapshot = UIManager.takeSnapshot; + + UIManager.takeSnapshot = function () { + invariant(false, 'UIManager.takeSnapshot should not be called directly. ' + 'Use ReactNative.takeSnapshot instead.'); + }; + + if (Platform.OS === 'ios') { + Object.keys(UIManager).forEach(function (viewName) { + var viewConfig = UIManager[viewName]; + + if (viewConfig.Manager) { + defineLazyObjectProperty(viewConfig, 'Constants', { + get: function get() { + var viewManager = NativeModules[viewConfig.Manager]; + var constants = {}; + viewManager && Object.keys(viewManager).forEach(function (key) { + var value = viewManager[key]; + + if (typeof value !== 'function') { + constants[key] = value; + } + }); + return constants; + } + }); + defineLazyObjectProperty(viewConfig, 'Commands', { + get: function get() { + var viewManager = NativeModules[viewConfig.Manager]; + var commands = {}; + var index = 0; + viewManager && Object.keys(viewManager).forEach(function (key) { + var value = viewManager[key]; + + if (typeof value === 'function') { + commands[key] = index++; + } + }); + return commands; + } + }); + } + }); + } else if (UIManager.ViewManagerNames) { + var residual = global.__residual ? global.__residual : function (_, f) { + for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + return f.apply(undefined, args); + }; + residual('void', function (UIManager, defineLazyObjectProperty) { + UIManager.ViewManagerNames.forEach(function (viewManagerName) { + defineLazyObjectProperty(UIManager, viewManagerName, { + get: function get() { + return UIManager.getConstantsForViewManager(viewManagerName); + } + }); + }); + }, UIManager, defineLazyObjectProperty); + if (global.__makePartial) global.__makePartial(UIManager); + } + + module.exports = UIManager; +},218,[168,176,185,166],"node_modules/react-native/Libraries/ReactNative/UIManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[1], 'prop-types'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[2], 'ViewStylePropTypes'); + + var TextStylePropTypes = _objectSpread({}, ViewStylePropTypes, { + color: ColorPropType, + fontFamily: ReactPropTypes.string, + fontSize: ReactPropTypes.number, + fontStyle: ReactPropTypes.oneOf(['normal', 'italic']), + fontWeight: ReactPropTypes.oneOf(['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900']), + fontVariant: ReactPropTypes.arrayOf(ReactPropTypes.oneOf(['small-caps', 'oldstyle-nums', 'lining-nums', 'tabular-nums', 'proportional-nums'])), + textShadowOffset: ReactPropTypes.shape({ + width: ReactPropTypes.number, + height: ReactPropTypes.number + }), + textShadowRadius: ReactPropTypes.number, + textShadowColor: ColorPropType, + letterSpacing: ReactPropTypes.number, + lineHeight: ReactPropTypes.number, + textAlign: ReactPropTypes.oneOf(['auto', 'left', 'right', 'center', 'justify']), + textAlignVertical: ReactPropTypes.oneOf(['auto', 'top', 'bottom', 'center']), + includeFontPadding: ReactPropTypes.bool, + textDecorationLine: ReactPropTypes.oneOf(['none', 'underline', 'line-through', 'underline line-through']), + textDecorationStyle: ReactPropTypes.oneOf(['solid', 'double', 'dotted', 'dashed']), + textDecorationColor: ColorPropType, + textTransform: ReactPropTypes.oneOf(['none', 'capitalize', 'uppercase', 'lowercase']), + writingDirection: ReactPropTypes.oneOf(['auto', 'ltr', 'rtl']) + }); + + module.exports = TextStylePropTypes; +},219,[207,212,220],"node_modules/react-native/Libraries/Text/TextStylePropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var LayoutPropTypes = _$$_REQUIRE(_dependencyMap[1], 'LayoutPropTypes'); + + var ReactPropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var ShadowPropTypesIOS = _$$_REQUIRE(_dependencyMap[3], 'ShadowPropTypesIOS'); + + var TransformPropTypes = _$$_REQUIRE(_dependencyMap[4], 'TransformPropTypes'); + + var ViewStylePropTypes = _objectSpread({}, LayoutPropTypes, ShadowPropTypesIOS, TransformPropTypes, { + backfaceVisibility: ReactPropTypes.oneOf(['visible', 'hidden']), + backgroundColor: ColorPropType, + borderColor: ColorPropType, + borderTopColor: ColorPropType, + borderRightColor: ColorPropType, + borderBottomColor: ColorPropType, + borderLeftColor: ColorPropType, + borderStartColor: ColorPropType, + borderEndColor: ColorPropType, + borderRadius: ReactPropTypes.number, + borderTopLeftRadius: ReactPropTypes.number, + borderTopRightRadius: ReactPropTypes.number, + borderTopStartRadius: ReactPropTypes.number, + borderTopEndRadius: ReactPropTypes.number, + borderBottomLeftRadius: ReactPropTypes.number, + borderBottomRightRadius: ReactPropTypes.number, + borderBottomStartRadius: ReactPropTypes.number, + borderBottomEndRadius: ReactPropTypes.number, + borderStyle: ReactPropTypes.oneOf(['solid', 'dotted', 'dashed']), + borderWidth: ReactPropTypes.number, + borderTopWidth: ReactPropTypes.number, + borderRightWidth: ReactPropTypes.number, + borderBottomWidth: ReactPropTypes.number, + borderLeftWidth: ReactPropTypes.number, + opacity: ReactPropTypes.number, + elevation: ReactPropTypes.number + }); + + module.exports = ViewStylePropTypes; +},220,[207,211,212,215,216],"node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var normalizeColor = _$$_REQUIRE(_dependencyMap[1], 'normalizeColor'); + + function processColor(color) { + if (color === undefined || color === null) { + return color; + } + + var int32Color = normalizeColor(color); + + if (int32Color === null || int32Color === undefined) { + return undefined; + } + + int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0; + + if (Platform.OS === 'android') { + int32Color = int32Color | 0x0; + } + + return int32Color; + } + + module.exports = processColor; +},221,[176,208],"node_modules/react-native/Libraries/StyleSheet/processColor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var MatrixMath = _$$_REQUIRE(_dependencyMap[0], 'MatrixMath'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var stringifySafe = _$$_REQUIRE(_dependencyMap[3], 'stringifySafe'); + + function processTransform(transform) { + if (__DEV__) { + _validateTransforms(transform); + } + + if (Platform.OS === 'android' || Platform.OS === 'ios') { + return transform; + } + + var result = MatrixMath.createIdentityMatrix(); + transform.forEach(function (transformation) { + var key = Object.keys(transformation)[0]; + var value = transformation[key]; + + switch (key) { + case 'matrix': + MatrixMath.multiplyInto(result, result, value); + break; + + case 'perspective': + _multiplyTransform(result, MatrixMath.reusePerspectiveCommand, [value]); + + break; + + case 'rotateX': + _multiplyTransform(result, MatrixMath.reuseRotateXCommand, [_convertToRadians(value)]); + + break; + + case 'rotateY': + _multiplyTransform(result, MatrixMath.reuseRotateYCommand, [_convertToRadians(value)]); + + break; + + case 'rotate': + case 'rotateZ': + _multiplyTransform(result, MatrixMath.reuseRotateZCommand, [_convertToRadians(value)]); + + break; + + case 'scale': + _multiplyTransform(result, MatrixMath.reuseScaleCommand, [value]); + + break; + + case 'scaleX': + _multiplyTransform(result, MatrixMath.reuseScaleXCommand, [value]); + + break; + + case 'scaleY': + _multiplyTransform(result, MatrixMath.reuseScaleYCommand, [value]); + + break; + + case 'translate': + _multiplyTransform(result, MatrixMath.reuseTranslate3dCommand, [value[0], value[1], value[2] || 0]); + + break; + + case 'translateX': + _multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [value, 0]); + + break; + + case 'translateY': + _multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [0, value]); + + break; + + case 'skewX': + _multiplyTransform(result, MatrixMath.reuseSkewXCommand, [_convertToRadians(value)]); + + break; + + case 'skewY': + _multiplyTransform(result, MatrixMath.reuseSkewYCommand, [_convertToRadians(value)]); + + break; + + default: + throw new Error('Invalid transform name: ' + key); + } + }); + return result; + } + + function _multiplyTransform(result, matrixMathFunction, args) { + var matrixToApply = MatrixMath.createIdentityMatrix(); + var argsWithIdentity = [matrixToApply].concat(args); + matrixMathFunction.apply(this, argsWithIdentity); + MatrixMath.multiplyInto(result, result, matrixToApply); + } + + function _convertToRadians(value) { + var floatValue = parseFloat(value); + return value.indexOf('rad') > -1 ? floatValue : floatValue * Math.PI / 180; + } + + function _validateTransforms(transform) { + transform.forEach(function (transformation) { + var keys = Object.keys(transformation); + invariant(keys.length === 1, 'You must specify exactly one property per transform object. Passed properties: %s', stringifySafe(transformation)); + var key = keys[0]; + var value = transformation[key]; + + _validateTransform(key, value, transformation); + }); + } + + function _validateTransform(key, value, transformation) { + invariant(!value.getValue, 'You passed an Animated.Value to a normal component. ' + 'You need to wrap that component in an Animated. For example, ' + 'replace by .'); + var multivalueTransforms = ['matrix', 'translate']; + + if (multivalueTransforms.indexOf(key) !== -1) { + invariant(Array.isArray(value), 'Transform with key of %s must have an array as the value: %s', key, stringifySafe(transformation)); + } + + switch (key) { + case 'matrix': + invariant(value.length === 9 || value.length === 16, 'Matrix transform must have a length of 9 (2d) or 16 (3d). ' + 'Provided matrix has a length of %s: %s', value.length, stringifySafe(transformation)); + break; + + case 'translate': + invariant(value.length === 2 || value.length === 3, 'Transform with key translate must be an array of length 2 or 3, found %s: %s', value.length, stringifySafe(transformation)); + break; + + case 'rotateX': + case 'rotateY': + case 'rotateZ': + case 'rotate': + case 'skewX': + case 'skewY': + invariant(typeof value === 'string', 'Transform with key of "%s" must be a string: %s', key, stringifySafe(transformation)); + invariant(value.indexOf('deg') > -1 || value.indexOf('rad') > -1, 'Rotate transform must be expressed in degrees (deg) or radians ' + '(rad): %s', stringifySafe(transformation)); + break; + + case 'perspective': + invariant(typeof value === 'number', 'Transform with key of "%s" must be a number: %s', key, stringifySafe(transformation)); + invariant(value !== 0, 'Transform with key of "%s" cannot be zero: %s', key, stringifySafe(transformation)); + break; + + case 'translateX': + case 'translateY': + case 'scale': + case 'scaleX': + case 'scaleY': + invariant(typeof value === 'number', 'Transform with key of "%s" must be a number: %s', key, stringifySafe(transformation)); + break; + + default: + invariant(false, 'Invalid transform %s: %s', key, stringifySafe(transformation)); + } + } + + module.exports = processTransform; +},222,[223,176,166,174],"node_modules/react-native/Libraries/StyleSheet/processTransform.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var MatrixMath = { + createIdentityMatrix: function createIdentityMatrix() { + return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + }, + createCopy: function createCopy(m) { + return [m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]]; + }, + createOrthographic: function createOrthographic(left, right, bottom, top, near, far) { + var a = 2 / (right - left); + var b = 2 / (top - bottom); + var c = -2 / (far - near); + var tx = -(right + left) / (right - left); + var ty = -(top + bottom) / (top - bottom); + var tz = -(far + near) / (far - near); + return [a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, tx, ty, tz, 1]; + }, + createFrustum: function createFrustum(left, right, bottom, top, near, far) { + var r_width = 1 / (right - left); + var r_height = 1 / (top - bottom); + var r_depth = 1 / (near - far); + var x = 2 * (near * r_width); + var y = 2 * (near * r_height); + var A = (right + left) * r_width; + var B = (top + bottom) * r_height; + var C = (far + near) * r_depth; + var D = 2 * (far * near * r_depth); + return [x, 0, 0, 0, 0, y, 0, 0, A, B, C, -1, 0, 0, D, 0]; + }, + createPerspective: function createPerspective(fovInRadians, aspect, near, far) { + var h = 1 / Math.tan(fovInRadians / 2); + var r_depth = 1 / (near - far); + var C = (far + near) * r_depth; + var D = 2 * (far * near * r_depth); + return [h / aspect, 0, 0, 0, 0, h, 0, 0, 0, 0, C, -1, 0, 0, D, 0]; + }, + createTranslate2d: function createTranslate2d(x, y) { + var mat = MatrixMath.createIdentityMatrix(); + MatrixMath.reuseTranslate2dCommand(mat, x, y); + return mat; + }, + reuseTranslate2dCommand: function reuseTranslate2dCommand(matrixCommand, x, y) { + matrixCommand[12] = x; + matrixCommand[13] = y; + }, + reuseTranslate3dCommand: function reuseTranslate3dCommand(matrixCommand, x, y, z) { + matrixCommand[12] = x; + matrixCommand[13] = y; + matrixCommand[14] = z; + }, + createScale: function createScale(factor) { + var mat = MatrixMath.createIdentityMatrix(); + MatrixMath.reuseScaleCommand(mat, factor); + return mat; + }, + reuseScaleCommand: function reuseScaleCommand(matrixCommand, factor) { + matrixCommand[0] = factor; + matrixCommand[5] = factor; + }, + reuseScale3dCommand: function reuseScale3dCommand(matrixCommand, x, y, z) { + matrixCommand[0] = x; + matrixCommand[5] = y; + matrixCommand[10] = z; + }, + reusePerspectiveCommand: function reusePerspectiveCommand(matrixCommand, p) { + matrixCommand[11] = -1 / p; + }, + reuseScaleXCommand: function reuseScaleXCommand(matrixCommand, factor) { + matrixCommand[0] = factor; + }, + reuseScaleYCommand: function reuseScaleYCommand(matrixCommand, factor) { + matrixCommand[5] = factor; + }, + reuseScaleZCommand: function reuseScaleZCommand(matrixCommand, factor) { + matrixCommand[10] = factor; + }, + reuseRotateXCommand: function reuseRotateXCommand(matrixCommand, radians) { + matrixCommand[5] = Math.cos(radians); + matrixCommand[6] = Math.sin(radians); + matrixCommand[9] = -Math.sin(radians); + matrixCommand[10] = Math.cos(radians); + }, + reuseRotateYCommand: function reuseRotateYCommand(matrixCommand, amount) { + matrixCommand[0] = Math.cos(amount); + matrixCommand[2] = -Math.sin(amount); + matrixCommand[8] = Math.sin(amount); + matrixCommand[10] = Math.cos(amount); + }, + reuseRotateZCommand: function reuseRotateZCommand(matrixCommand, radians) { + matrixCommand[0] = Math.cos(radians); + matrixCommand[1] = Math.sin(radians); + matrixCommand[4] = -Math.sin(radians); + matrixCommand[5] = Math.cos(radians); + }, + createRotateZ: function createRotateZ(radians) { + var mat = MatrixMath.createIdentityMatrix(); + MatrixMath.reuseRotateZCommand(mat, radians); + return mat; + }, + reuseSkewXCommand: function reuseSkewXCommand(matrixCommand, radians) { + matrixCommand[4] = Math.tan(radians); + }, + reuseSkewYCommand: function reuseSkewYCommand(matrixCommand, radians) { + matrixCommand[1] = Math.tan(radians); + }, + multiplyInto: function multiplyInto(out, a, b) { + var a00 = a[0], + a01 = a[1], + a02 = a[2], + a03 = a[3], + a10 = a[4], + a11 = a[5], + a12 = a[6], + a13 = a[7], + a20 = a[8], + a21 = a[9], + a22 = a[10], + a23 = a[11], + a30 = a[12], + a31 = a[13], + a32 = a[14], + a33 = a[15]; + var b0 = b[0], + b1 = b[1], + b2 = b[2], + b3 = b[3]; + out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = b[4]; + b1 = b[5]; + b2 = b[6]; + b3 = b[7]; + out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = b[8]; + b1 = b[9]; + b2 = b[10]; + b3 = b[11]; + out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = b[12]; + b1 = b[13]; + b2 = b[14]; + b3 = b[15]; + out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + }, + determinant: function determinant(matrix) { + var _matrix = _slicedToArray(matrix, 16), + m00 = _matrix[0], + m01 = _matrix[1], + m02 = _matrix[2], + m03 = _matrix[3], + m10 = _matrix[4], + m11 = _matrix[5], + m12 = _matrix[6], + m13 = _matrix[7], + m20 = _matrix[8], + m21 = _matrix[9], + m22 = _matrix[10], + m23 = _matrix[11], + m30 = _matrix[12], + m31 = _matrix[13], + m32 = _matrix[14], + m33 = _matrix[15]; + + return m03 * m12 * m21 * m30 - m02 * m13 * m21 * m30 - m03 * m11 * m22 * m30 + m01 * m13 * m22 * m30 + m02 * m11 * m23 * m30 - m01 * m12 * m23 * m30 - m03 * m12 * m20 * m31 + m02 * m13 * m20 * m31 + m03 * m10 * m22 * m31 - m00 * m13 * m22 * m31 - m02 * m10 * m23 * m31 + m00 * m12 * m23 * m31 + m03 * m11 * m20 * m32 - m01 * m13 * m20 * m32 - m03 * m10 * m21 * m32 + m00 * m13 * m21 * m32 + m01 * m10 * m23 * m32 - m00 * m11 * m23 * m32 - m02 * m11 * m20 * m33 + m01 * m12 * m20 * m33 + m02 * m10 * m21 * m33 - m00 * m12 * m21 * m33 - m01 * m10 * m22 * m33 + m00 * m11 * m22 * m33; + }, + inverse: function inverse(matrix) { + var det = MatrixMath.determinant(matrix); + + if (!det) { + return matrix; + } + + var _matrix2 = _slicedToArray(matrix, 16), + m00 = _matrix2[0], + m01 = _matrix2[1], + m02 = _matrix2[2], + m03 = _matrix2[3], + m10 = _matrix2[4], + m11 = _matrix2[5], + m12 = _matrix2[6], + m13 = _matrix2[7], + m20 = _matrix2[8], + m21 = _matrix2[9], + m22 = _matrix2[10], + m23 = _matrix2[11], + m30 = _matrix2[12], + m31 = _matrix2[13], + m32 = _matrix2[14], + m33 = _matrix2[15]; + + return [(m12 * m23 * m31 - m13 * m22 * m31 + m13 * m21 * m32 - m11 * m23 * m32 - m12 * m21 * m33 + m11 * m22 * m33) / det, (m03 * m22 * m31 - m02 * m23 * m31 - m03 * m21 * m32 + m01 * m23 * m32 + m02 * m21 * m33 - m01 * m22 * m33) / det, (m02 * m13 * m31 - m03 * m12 * m31 + m03 * m11 * m32 - m01 * m13 * m32 - m02 * m11 * m33 + m01 * m12 * m33) / det, (m03 * m12 * m21 - m02 * m13 * m21 - m03 * m11 * m22 + m01 * m13 * m22 + m02 * m11 * m23 - m01 * m12 * m23) / det, (m13 * m22 * m30 - m12 * m23 * m30 - m13 * m20 * m32 + m10 * m23 * m32 + m12 * m20 * m33 - m10 * m22 * m33) / det, (m02 * m23 * m30 - m03 * m22 * m30 + m03 * m20 * m32 - m00 * m23 * m32 - m02 * m20 * m33 + m00 * m22 * m33) / det, (m03 * m12 * m30 - m02 * m13 * m30 - m03 * m10 * m32 + m00 * m13 * m32 + m02 * m10 * m33 - m00 * m12 * m33) / det, (m02 * m13 * m20 - m03 * m12 * m20 + m03 * m10 * m22 - m00 * m13 * m22 - m02 * m10 * m23 + m00 * m12 * m23) / det, (m11 * m23 * m30 - m13 * m21 * m30 + m13 * m20 * m31 - m10 * m23 * m31 - m11 * m20 * m33 + m10 * m21 * m33) / det, (m03 * m21 * m30 - m01 * m23 * m30 - m03 * m20 * m31 + m00 * m23 * m31 + m01 * m20 * m33 - m00 * m21 * m33) / det, (m01 * m13 * m30 - m03 * m11 * m30 + m03 * m10 * m31 - m00 * m13 * m31 - m01 * m10 * m33 + m00 * m11 * m33) / det, (m03 * m11 * m20 - m01 * m13 * m20 - m03 * m10 * m21 + m00 * m13 * m21 + m01 * m10 * m23 - m00 * m11 * m23) / det, (m12 * m21 * m30 - m11 * m22 * m30 - m12 * m20 * m31 + m10 * m22 * m31 + m11 * m20 * m32 - m10 * m21 * m32) / det, (m01 * m22 * m30 - m02 * m21 * m30 + m02 * m20 * m31 - m00 * m22 * m31 - m01 * m20 * m32 + m00 * m21 * m32) / det, (m02 * m11 * m30 - m01 * m12 * m30 - m02 * m10 * m31 + m00 * m12 * m31 + m01 * m10 * m32 - m00 * m11 * m32) / det, (m01 * m12 * m20 - m02 * m11 * m20 + m02 * m10 * m21 - m00 * m12 * m21 - m01 * m10 * m22 + m00 * m11 * m22) / det]; + }, + transpose: function transpose(m) { + return [m[0], m[4], m[8], m[12], m[1], m[5], m[9], m[13], m[2], m[6], m[10], m[14], m[3], m[7], m[11], m[15]]; + }, + multiplyVectorByMatrix: function multiplyVectorByMatrix(v, m) { + var _v = _slicedToArray(v, 4), + vx = _v[0], + vy = _v[1], + vz = _v[2], + vw = _v[3]; + + return [vx * m[0] + vy * m[4] + vz * m[8] + vw * m[12], vx * m[1] + vy * m[5] + vz * m[9] + vw * m[13], vx * m[2] + vy * m[6] + vz * m[10] + vw * m[14], vx * m[3] + vy * m[7] + vz * m[11] + vw * m[15]]; + }, + v3Length: function v3Length(a) { + return Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); + }, + v3Normalize: function v3Normalize(vector, v3Length) { + var im = 1 / (v3Length || MatrixMath.v3Length(vector)); + return [vector[0] * im, vector[1] * im, vector[2] * im]; + }, + v3Dot: function v3Dot(a, b) { + return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; + }, + v3Combine: function v3Combine(a, b, aScale, bScale) { + return [aScale * a[0] + bScale * b[0], aScale * a[1] + bScale * b[1], aScale * a[2] + bScale * b[2]]; + }, + v3Cross: function v3Cross(a, b) { + return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]; + }, + quaternionToDegreesXYZ: function quaternionToDegreesXYZ(q, matrix, row) { + var _q = _slicedToArray(q, 4), + qx = _q[0], + qy = _q[1], + qz = _q[2], + qw = _q[3]; + + var qw2 = qw * qw; + var qx2 = qx * qx; + var qy2 = qy * qy; + var qz2 = qz * qz; + var test = qx * qy + qz * qw; + var unit = qw2 + qx2 + qy2 + qz2; + var conv = 180 / Math.PI; + + if (test > 0.49999 * unit) { + return [0, 2 * Math.atan2(qx, qw) * conv, 90]; + } + + if (test < -0.49999 * unit) { + return [0, -2 * Math.atan2(qx, qw) * conv, -90]; + } + + return [MatrixMath.roundTo3Places(Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx2 - 2 * qz2) * conv), MatrixMath.roundTo3Places(Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy2 - 2 * qz2) * conv), MatrixMath.roundTo3Places(Math.asin(2 * qx * qy + 2 * qz * qw) * conv)]; + }, + roundTo3Places: function roundTo3Places(n) { + var arr = n.toString().split('e'); + return Math.round(arr[0] + 'e' + (arr[1] ? +arr[1] - 3 : 3)) * 0.001; + }, + decomposeMatrix: function decomposeMatrix(transformMatrix) { + invariant(transformMatrix.length === 16, 'Matrix decomposition needs a list of 3d matrix values, received %s', transformMatrix); + var perspective = []; + var quaternion = []; + var scale = []; + var skew = []; + var translation = []; + + if (!transformMatrix[15]) { + return; + } + + var matrix = []; + var perspectiveMatrix = []; + + for (var i = 0; i < 4; i++) { + matrix.push([]); + + for (var j = 0; j < 4; j++) { + var value = transformMatrix[i * 4 + j] / transformMatrix[15]; + matrix[i].push(value); + perspectiveMatrix.push(j === 3 ? 0 : value); + } + } + + perspectiveMatrix[15] = 1; + + if (!MatrixMath.determinant(perspectiveMatrix)) { + return; + } + + if (matrix[0][3] !== 0 || matrix[1][3] !== 0 || matrix[2][3] !== 0) { + var rightHandSide = [matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]]; + var inversePerspectiveMatrix = MatrixMath.inverse(perspectiveMatrix); + var transposedInversePerspectiveMatrix = MatrixMath.transpose(inversePerspectiveMatrix); + var perspective = MatrixMath.multiplyVectorByMatrix(rightHandSide, transposedInversePerspectiveMatrix); + } else { + perspective[0] = perspective[1] = perspective[2] = 0; + perspective[3] = 1; + } + + for (var i = 0; i < 3; i++) { + translation[i] = matrix[3][i]; + } + + var row = []; + + for (i = 0; i < 3; i++) { + row[i] = [matrix[i][0], matrix[i][1], matrix[i][2]]; + } + + scale[0] = MatrixMath.v3Length(row[0]); + row[0] = MatrixMath.v3Normalize(row[0], scale[0]); + skew[0] = MatrixMath.v3Dot(row[0], row[1]); + row[1] = MatrixMath.v3Combine(row[1], row[0], 1.0, -skew[0]); + skew[0] = MatrixMath.v3Dot(row[0], row[1]); + row[1] = MatrixMath.v3Combine(row[1], row[0], 1.0, -skew[0]); + scale[1] = MatrixMath.v3Length(row[1]); + row[1] = MatrixMath.v3Normalize(row[1], scale[1]); + skew[0] /= scale[1]; + skew[1] = MatrixMath.v3Dot(row[0], row[2]); + row[2] = MatrixMath.v3Combine(row[2], row[0], 1.0, -skew[1]); + skew[2] = MatrixMath.v3Dot(row[1], row[2]); + row[2] = MatrixMath.v3Combine(row[2], row[1], 1.0, -skew[2]); + scale[2] = MatrixMath.v3Length(row[2]); + row[2] = MatrixMath.v3Normalize(row[2], scale[2]); + skew[1] /= scale[2]; + skew[2] /= scale[2]; + var pdum3 = MatrixMath.v3Cross(row[1], row[2]); + + if (MatrixMath.v3Dot(row[0], pdum3) < 0) { + for (i = 0; i < 3; i++) { + scale[i] *= -1; + row[i][0] *= -1; + row[i][1] *= -1; + row[i][2] *= -1; + } + } + + quaternion[0] = 0.5 * Math.sqrt(Math.max(1 + row[0][0] - row[1][1] - row[2][2], 0)); + quaternion[1] = 0.5 * Math.sqrt(Math.max(1 - row[0][0] + row[1][1] - row[2][2], 0)); + quaternion[2] = 0.5 * Math.sqrt(Math.max(1 - row[0][0] - row[1][1] + row[2][2], 0)); + quaternion[3] = 0.5 * Math.sqrt(Math.max(1 + row[0][0] + row[1][1] + row[2][2], 0)); + + if (row[2][1] > row[1][2]) { + quaternion[0] = -quaternion[0]; + } + + if (row[0][2] > row[2][0]) { + quaternion[1] = -quaternion[1]; + } + + if (row[1][0] > row[0][1]) { + quaternion[2] = -quaternion[2]; + } + + var rotationDegrees; + + if (quaternion[0] < 0.001 && quaternion[0] >= 0 && quaternion[1] < 0.001 && quaternion[1] >= 0) { + rotationDegrees = [0, 0, MatrixMath.roundTo3Places(Math.atan2(row[0][1], row[0][0]) * 180 / Math.PI)]; + } else { + rotationDegrees = MatrixMath.quaternionToDegreesXYZ(quaternion, matrix, row); + } + + return { + rotationDegrees: rotationDegrees, + perspective: perspective, + quaternion: quaternion, + scale: scale, + skew: skew, + translation: translation, + rotate: rotationDegrees[2], + rotateX: rotationDegrees[0], + rotateY: rotationDegrees[1], + scaleX: scale[0], + scaleY: scale[1], + translateX: translation[0], + translateY: translation[1] + }; + } + }; + module.exports = MatrixMath; +},223,[166],"node_modules/react-native/Libraries/Utilities/MatrixMath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var dummySize = { + width: undefined, + height: undefined + }; + + var sizesDiffer = function sizesDiffer(one, two) { + one = one || dummySize; + two = two || dummySize; + return one !== two && (one.width !== two.width || one.height !== two.height); + }; + + module.exports = sizesDiffer; +},224,[],"node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var ImageStylePropTypes = _$$_REQUIRE(_dependencyMap[0], 'ImageStylePropTypes'); + + var TextStylePropTypes = _$$_REQUIRE(_dependencyMap[1], 'TextStylePropTypes'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[2], 'ViewStylePropTypes'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + + var StyleSheetValidation = function () { + function StyleSheetValidation() { + _classCallCheck(this, StyleSheetValidation); + } + + _createClass(StyleSheetValidation, null, [{ + key: "validateStyleProp", + value: function validateStyleProp(prop, style, caller) { + if (!__DEV__) { + return; + } + + if (allStylePropTypes[prop] === undefined) { + var message1 = '"' + prop + '" is not a valid style property.'; + var message2 = '\nValid style props: ' + JSON.stringify(Object.keys(allStylePropTypes).sort(), null, ' '); + styleError(message1, style, caller, message2); + } + + var error = allStylePropTypes[prop](style, prop, caller, 'prop', null, ReactPropTypesSecret); + + if (error) { + styleError(error.message, style, caller); + } + } + }, { + key: "validateStyle", + value: function validateStyle(name, styles) { + if (!__DEV__) { + return; + } + + for (var prop in styles[name]) { + StyleSheetValidation.validateStyleProp(prop, styles[name], 'StyleSheet ' + name); + } + } + }, { + key: "addValidStylePropTypes", + value: function addValidStylePropTypes(stylePropTypes) { + for (var key in stylePropTypes) { + allStylePropTypes[key] = stylePropTypes[key]; + } + } + }]); + + return StyleSheetValidation; + }(); + + var styleError = function styleError(message1, style, caller, message2) { + invariant(false, message1 + '\n' + (caller || '<>') + ': ' + JSON.stringify(style, null, ' ') + (message2 || '')); + }; + + var allStylePropTypes = {}; + StyleSheetValidation.addValidStylePropTypes(ImageStylePropTypes); + StyleSheetValidation.addValidStylePropTypes(TextStylePropTypes); + StyleSheetValidation.addValidStylePropTypes(ViewStylePropTypes); + module.exports = StyleSheetValidation; +},225,[206,219,220,166],"node_modules/react-native/Libraries/StyleSheet/StyleSheetValidation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function flattenStyle(style) { + if (style === null || typeof style !== 'object') { + return undefined; + } + + if (!Array.isArray(style)) { + return style; + } + + var result = {}; + + for (var i = 0, styleLength = style.length; i < styleLength; ++i) { + var computedStyle = flattenStyle(style[i]); + + if (computedStyle) { + for (var key in computedStyle) { + result[key] = computedStyle[key]; + } + } + } + + return result; + } + + module.exports = flattenStyle; +},226,[],"node_modules/react-native/Libraries/StyleSheet/flattenStyle.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/View/View.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var TextAncestor = _$$_REQUIRE(_dependencyMap[1], 'TextAncestor'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[3], 'requireNativeComponent'); + + var RCTView = requireNativeComponent('RCTView'); + var ViewToExport = RCTView; + + if (__DEV__) { + ViewToExport = React.forwardRef(function (props, ref) { + return React.createElement(TextAncestor.Consumer, { + __source: { + fileName: _jsxFileName, + lineNumber: 37 + } + }, function (hasTextAncestor) { + invariant(!hasTextAncestor, 'Nesting of within is not currently supported.'); + return React.createElement(RCTView, _extends({}, props, { + ref: ref, + __source: { + fileName: _jsxFileName, + lineNumber: 43 + } + })); + }); + }); + ViewToExport.displayName = 'View'; + } + + module.exports = ViewToExport; +},227,[200,228,166,229],"node_modules/react-native/Libraries/Components/View/View.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + module.exports = React.createContext(false); +},228,[200],"node_modules/react-native/Libraries/Text/TextAncestor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ReactNativeStyleAttributes = _$$_REQUIRE(_dependencyMap[0], 'ReactNativeStyleAttributes'); + + var UIManager = _$$_REQUIRE(_dependencyMap[1], 'UIManager'); + + var createReactNativeComponentClass = _$$_REQUIRE(_dependencyMap[2], 'createReactNativeComponentClass'); + + var insetsDiffer = _$$_REQUIRE(_dependencyMap[3], 'insetsDiffer'); + + var matricesDiffer = _$$_REQUIRE(_dependencyMap[4], 'matricesDiffer'); + + var pointsDiffer = _$$_REQUIRE(_dependencyMap[5], 'pointsDiffer'); + + var processColor = _$$_REQUIRE(_dependencyMap[6], 'processColor'); + + var resolveAssetSource = _$$_REQUIRE(_dependencyMap[7], 'resolveAssetSource'); + + var sizesDiffer = _$$_REQUIRE(_dependencyMap[8], 'sizesDiffer'); + + var invariant = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/invariant'); + + var warning = _$$_REQUIRE(_dependencyMap[10], 'fbjs/lib/warning'); + + var requireNativeComponent = function requireNativeComponent(uiViewClassName) { + return createReactNativeComponentClass(uiViewClassName, function () { + var viewConfig = UIManager[uiViewClassName]; + invariant(viewConfig != null && viewConfig.NativeProps != null, 'requireNativeComponent: "%s" was not found in the UIManager.', uiViewClassName); + var baseModuleName = viewConfig.baseModuleName, + bubblingEventTypes = viewConfig.bubblingEventTypes, + directEventTypes = viewConfig.directEventTypes; + var nativeProps = viewConfig.NativeProps; + + while (baseModuleName) { + var baseModule = UIManager[baseModuleName]; + + if (!baseModule) { + warning(false, 'Base module "%s" does not exist', baseModuleName); + baseModuleName = null; + } else { + bubblingEventTypes = _objectSpread({}, baseModule.bubblingEventTypes, bubblingEventTypes); + directEventTypes = _objectSpread({}, baseModule.directEventTypes, directEventTypes); + nativeProps = _objectSpread({}, baseModule.NativeProps, nativeProps); + baseModuleName = baseModule.baseModuleName; + } + } + + var validAttributes = {}; + + for (var key in nativeProps) { + var typeName = nativeProps[key]; + var diff = getDifferForType(typeName); + var process = getProcessorForType(typeName); + validAttributes[key] = diff == null && process == null ? true : { + diff: diff, + process: process + }; + } + + validAttributes.style = ReactNativeStyleAttributes; + + _extends(viewConfig, { + uiViewClassName: uiViewClassName, + validAttributes: validAttributes, + bubblingEventTypes: bubblingEventTypes, + directEventTypes: directEventTypes + }); + + if (!hasAttachedDefaultEventTypes) { + attachDefaultEventTypes(viewConfig); + hasAttachedDefaultEventTypes = true; + } + + return viewConfig; + }); + }; + + var hasAttachedDefaultEventTypes = false; + + function attachDefaultEventTypes(viewConfig) { + if (UIManager.ViewManagerNames) { + viewConfig = merge(viewConfig, UIManager.getDefaultEventTypes()); + } else { + viewConfig.bubblingEventTypes = merge(viewConfig.bubblingEventTypes, UIManager.genericBubblingEventTypes); + viewConfig.directEventTypes = merge(viewConfig.directEventTypes, UIManager.genericDirectEventTypes); + } + } + + function merge(destination, source) { + if (!source) { + return destination; + } + + if (!destination) { + return source; + } + + for (var key in source) { + if (!source.hasOwnProperty(key)) { + continue; + } + + var sourceValue = source[key]; + + if (destination.hasOwnProperty(key)) { + var destinationValue = destination[key]; + + if (typeof sourceValue === 'object' && typeof destinationValue === 'object') { + sourceValue = merge(destinationValue, sourceValue); + } + } + + destination[key] = sourceValue; + } + + return destination; + } + + function getDifferForType(typeName) { + switch (typeName) { + case 'CATransform3D': + return matricesDiffer; + + case 'CGPoint': + return pointsDiffer; + + case 'CGSize': + return sizesDiffer; + + case 'UIEdgeInsets': + return insetsDiffer; + } + + return null; + } + + function getProcessorForType(typeName) { + switch (typeName) { + case 'CGColor': + case 'UIColor': + return processColor; + + case 'CGColorArray': + case 'UIColorArray': + return processColorArray; + + case 'CGImage': + case 'UIImage': + case 'RCTImageSource': + return resolveAssetSource; + + case 'Color': + return processColor; + + case 'ColorArray': + return processColorArray; + } + + return null; + } + + function processColorArray(colors) { + return colors == null ? null : colors.map(processColor); + } + + module.exports = requireNativeComponent; +},229,[205,218,230,232,233,234,221,235,224,166,183],"node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _require = _$$_REQUIRE(_dependencyMap[0], 'ReactNativeViewConfigRegistry'), + register = _require.register; + + var createReactNativeComponentClass = function createReactNativeComponentClass(name, callback) { + return register(name, callback); + }; + + module.exports = createReactNativeComponentClass; +},230,[231],"node_modules/react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var customBubblingEventTypes = {}; + var customDirectEventTypes = {}; + var eventTypes = {}; + exports.customBubblingEventTypes = customBubblingEventTypes; + exports.customDirectEventTypes = customDirectEventTypes; + exports.eventTypes = eventTypes; + var viewConfigCallbacks = new Map(); + var viewConfigs = new Map(); + + function processEventTypes(viewConfig) { + var bubblingEventTypes = viewConfig.bubblingEventTypes, + directEventTypes = viewConfig.directEventTypes; + + if (__DEV__) { + if (bubblingEventTypes != null && directEventTypes != null) { + for (var topLevelType in directEventTypes) { + invariant(bubblingEventTypes[topLevelType] == null, 'Event cannot be both direct and bubbling: %s', topLevelType); + } + } + } + + if (bubblingEventTypes != null) { + for (var _topLevelType in bubblingEventTypes) { + if (customBubblingEventTypes[_topLevelType] == null) { + eventTypes[_topLevelType] = customBubblingEventTypes[_topLevelType] = bubblingEventTypes[_topLevelType]; + } + } + } + + if (directEventTypes != null) { + for (var _topLevelType2 in directEventTypes) { + if (customDirectEventTypes[_topLevelType2] == null) { + eventTypes[_topLevelType2] = customDirectEventTypes[_topLevelType2] = directEventTypes[_topLevelType2]; + } + } + } + } + + exports.register = function (name, callback) { + invariant(!viewConfigCallbacks.has(name), 'Tried to register two views with the same name %s', name); + viewConfigCallbacks.set(name, callback); + return name; + }; + + exports.get = function (name) { + var viewConfig; + + if (!viewConfigs.has(name)) { + var callback = viewConfigCallbacks.get(name); + invariant(typeof callback === 'function', 'View config not found for name %s', name); + viewConfigCallbacks.set(name, null); + viewConfig = callback(); + processEventTypes(viewConfig); + viewConfigs.set(name, viewConfig); + } else { + viewConfig = viewConfigs.get(name); + } + + invariant(viewConfig, 'View config not found for name %s', name); + return viewConfig; + }; +},231,[166],"node_modules/react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var dummyInsets = { + top: undefined, + left: undefined, + right: undefined, + bottom: undefined + }; + + var insetsDiffer = function insetsDiffer(one, two) { + one = one || dummyInsets; + two = two || dummyInsets; + return one !== two && (one.top !== two.top || one.left !== two.left || one.right !== two.right || one.bottom !== two.bottom); + }; + + module.exports = insetsDiffer; +},232,[],"node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var matricesDiffer = function matricesDiffer(one, two) { + if (one === two) { + return false; + } + + return !one || !two || one[12] !== two[12] || one[13] !== two[13] || one[14] !== two[14] || one[5] !== two[5] || one[10] !== two[10] || one[1] !== two[1] || one[2] !== two[2] || one[3] !== two[3] || one[4] !== two[4] || one[6] !== two[6] || one[7] !== two[7] || one[8] !== two[8] || one[9] !== two[9] || one[11] !== two[11] || one[15] !== two[15]; + }; + + module.exports = matricesDiffer; +},233,[],"node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var dummyPoint = { + x: undefined, + y: undefined + }; + + var pointsDiffer = function pointsDiffer(one, two) { + one = one || dummyPoint; + two = two || dummyPoint; + return one !== two && (one.x !== two.x || one.y !== two.y); + }; + + module.exports = pointsDiffer; +},234,[],"node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var AssetRegistry = _$$_REQUIRE(_dependencyMap[0], 'AssetRegistry'); + + var AssetSourceResolver = _$$_REQUIRE(_dependencyMap[1], 'AssetSourceResolver'); + + var _customSourceTransformer, _serverURL, _scriptURL; + + var _sourceCodeScriptURL; + + function getSourceCodeScriptURL() { + if (_sourceCodeScriptURL) { + return _sourceCodeScriptURL; + } + + var sourceCode = global.nativeExtensions && global.nativeExtensions.SourceCode; + + if (!sourceCode) { + var NativeModules = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'); + + sourceCode = NativeModules && NativeModules.SourceCode; + } + + _sourceCodeScriptURL = sourceCode.scriptURL; + return _sourceCodeScriptURL; + } + + function getDevServerURL() { + if (_serverURL === undefined) { + var sourceCodeScriptURL = getSourceCodeScriptURL(); + var match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\/\/.*?\//); + + if (match) { + _serverURL = match[0]; + } else { + _serverURL = null; + } + } + + return _serverURL; + } + + function _coerceLocalScriptURL(scriptURL) { + if (scriptURL) { + if (scriptURL.startsWith('assets://')) { + return null; + } + + scriptURL = scriptURL.substring(0, scriptURL.lastIndexOf('/') + 1); + + if (!scriptURL.includes('://')) { + scriptURL = 'file://' + scriptURL; + } + } + + return scriptURL; + } + + function getScriptURL() { + if (_scriptURL === undefined) { + _scriptURL = _coerceLocalScriptURL(getSourceCodeScriptURL()); + } + + return _scriptURL; + } + + function setCustomSourceTransformer(transformer) { + _customSourceTransformer = transformer; + } + + function resolveAssetSource(source) { + if (typeof source === 'object') { + return source; + } + + var asset = AssetRegistry.getAssetByID(source); + + if (!asset) { + return null; + } + + var resolver = new AssetSourceResolver(getDevServerURL(), getScriptURL(), asset); + + if (_customSourceTransformer) { + return _customSourceTransformer(resolver); + } + + return resolver.defaultAsset(); + } + + module.exports = resolveAssetSource; + module.exports.pickScale = AssetSourceResolver.pickScale; + module.exports.setCustomSourceTransformer = setCustomSourceTransformer; +},235,[236,237,168],"node_modules/react-native/Libraries/Image/resolveAssetSource.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var assets = []; + + function registerAsset(asset) { + return assets.push(asset); + } + + function getAssetByID(assetId) { + return assets[assetId - 1]; + } + + module.exports = { + registerAsset: registerAsset, + getAssetByID: getAssetByID + }; +},236,[],"node_modules/react-native/Libraries/Image/AssetRegistry.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var PixelRatio = _$$_REQUIRE(_dependencyMap[0], 'PixelRatio'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var assetPathUtils = _$$_REQUIRE(_dependencyMap[2], '../../local-cli/bundle/assetPathUtils'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + function getScaledAssetPath(asset) { + var scale = AssetSourceResolver.pickScale(asset.scales, PixelRatio.get()); + var scaleSuffix = scale === 1 ? '' : '@' + scale + 'x'; + var assetDir = assetPathUtils.getBasePath(asset); + return assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type; + } + + function getAssetPathInDrawableFolder(asset) { + var scale = AssetSourceResolver.pickScale(asset.scales, PixelRatio.get()); + var drawbleFolder = assetPathUtils.getAndroidResourceFolderName(asset, scale); + var fileName = assetPathUtils.getAndroidResourceIdentifier(asset); + return drawbleFolder + '/' + fileName + '.' + asset.type; + } + + var AssetSourceResolver = function () { + function AssetSourceResolver(serverUrl, jsbundleUrl, asset) { + _classCallCheck(this, AssetSourceResolver); + + this.serverUrl = serverUrl; + this.jsbundleUrl = jsbundleUrl; + this.asset = asset; + } + + _createClass(AssetSourceResolver, [{ + key: "isLoadedFromServer", + value: function isLoadedFromServer() { + return !!this.serverUrl; + } + }, { + key: "isLoadedFromFileSystem", + value: function isLoadedFromFileSystem() { + return !!(this.jsbundleUrl && this.jsbundleUrl.startsWith('file://')); + } + }, { + key: "defaultAsset", + value: function defaultAsset() { + if (this.isLoadedFromServer()) { + return this.assetServerURL(); + } + + if (Platform.OS === 'android') { + return this.isLoadedFromFileSystem() ? this.drawableFolderInBundle() : this.resourceIdentifierWithoutScale(); + } else { + return this.scaledAssetURLNearBundle(); + } + } + }, { + key: "assetServerURL", + value: function assetServerURL() { + invariant(!!this.serverUrl, 'need server to load from'); + return this.fromSource(this.serverUrl + getScaledAssetPath(this.asset) + '?platform=' + Platform.OS + '&hash=' + this.asset.hash); + } + }, { + key: "scaledAssetPath", + value: function scaledAssetPath() { + return this.fromSource(getScaledAssetPath(this.asset)); + } + }, { + key: "scaledAssetURLNearBundle", + value: function scaledAssetURLNearBundle() { + var path = this.jsbundleUrl || 'file://'; + return this.fromSource(path + getScaledAssetPath(this.asset)); + } + }, { + key: "resourceIdentifierWithoutScale", + value: function resourceIdentifierWithoutScale() { + invariant(Platform.OS === 'android', 'resource identifiers work on Android'); + return this.fromSource(assetPathUtils.getAndroidResourceIdentifier(this.asset)); + } + }, { + key: "drawableFolderInBundle", + value: function drawableFolderInBundle() { + var path = this.jsbundleUrl || 'file://'; + return this.fromSource(path + getAssetPathInDrawableFolder(this.asset)); + } + }, { + key: "fromSource", + value: function fromSource(source) { + return { + __packager_asset: true, + width: this.asset.width, + height: this.asset.height, + uri: source, + scale: AssetSourceResolver.pickScale(this.asset.scales, PixelRatio.get()) + }; + } + }], [{ + key: "pickScale", + value: function pickScale(scales, deviceScale) { + for (var i = 0; i < scales.length; i++) { + if (scales[i] >= deviceScale) { + return scales[i]; + } + } + + return scales[scales.length - 1] || 1; + } + }]); + + return AssetSourceResolver; + }(); + + module.exports = AssetSourceResolver; +},237,[202,176,238,166],"node_modules/react-native/Libraries/Image/AssetSourceResolver.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function getAndroidAssetSuffix(scale) { + switch (scale) { + case 0.75: + return 'ldpi'; + + case 1: + return 'mdpi'; + + case 1.5: + return 'hdpi'; + + case 2: + return 'xhdpi'; + + case 3: + return 'xxhdpi'; + + case 4: + return 'xxxhdpi'; + } + + throw new Error('no such scale'); + } + + var drawableFileTypes = new Set(['gif', 'jpeg', 'jpg', 'png', 'svg', 'webp', 'xml']); + + function getAndroidResourceFolderName(asset, scale) { + if (!drawableFileTypes.has(asset.type)) { + return 'raw'; + } + + var suffix = getAndroidAssetSuffix(scale); + + if (!suffix) { + throw new Error("Don't know which android drawable suffix to use for asset: " + JSON.stringify(asset)); + } + + var androidFolder = 'drawable-' + suffix; + return androidFolder; + } + + function getAndroidResourceIdentifier(asset) { + var folderPath = getBasePath(asset); + return (folderPath + '/' + asset.name).toLowerCase().replace(/\//g, '_').replace(/([^a-z0-9_])/g, '').replace(/^assets_/, ''); + } + + function getBasePath(asset) { + var basePath = asset.httpServerLocation; + + if (basePath[0] === '/') { + basePath = basePath.substr(1); + } + + return basePath; + } + + module.exports = { + getAndroidAssetSuffix: getAndroidAssetSuffix, + getAndroidResourceFolderName: getAndroidResourceFolderName, + getAndroidResourceIdentifier: getAndroidResourceIdentifier, + getBasePath: getBasePath + }; +},238,[],"node_modules/react-native/local-cli/bundle/assetPathUtils.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},239,[240],"node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + UnimplementedView: { + displayName: "UnimplementedView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var UnimplementedView = function (_React$Component) { + function UnimplementedView() { + _classCallCheck(this, UnimplementedView); + + return _possibleConstructorReturn(this, _getPrototypeOf(UnimplementedView).apply(this, arguments)); + } + + _createClass(UnimplementedView, [{ + key: "setNativeProps", + value: function setNativeProps() {} + }, { + key: "render", + value: function render() { + var View = _$$_REQUIRE(_dependencyMap[4], 'View'); + + return React.createElement(View, { + style: [styles.unimplementedView, this.props.style], + __source: { + fileName: _jsxFileName, + lineNumber: 30 + } + }, this.props.children); + } + }]); + + _inherits(UnimplementedView, _React$Component); + + return UnimplementedView; + }(React.Component); + + UnimplementedView = _wrapComponent("UnimplementedView")(UnimplementedView); + var styles = StyleSheet.create({ + unimplementedView: __DEV__ ? { + alignSelf: 'flex-start', + borderColor: 'red', + borderWidth: 1 + } : {} + }); + module.exports = UnimplementedView; +},240,[1,11,200,201,227],"node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/ART/ReactNativeART.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Surface: { + displayName: "Surface" + }, + Group: { + displayName: "Group" + }, + ClippingRectangle: { + displayName: "ClippingRectangle" + }, + Shape: { + displayName: "Shape" + }, + Text: { + displayName: "Text" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/ART/ReactNativeART.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Color = _$$_REQUIRE(_dependencyMap[2], 'art/core/color'); + + var Path = _$$_REQUIRE(_dependencyMap[3], 'ARTSerializablePath'); + + var Transform = _$$_REQUIRE(_dependencyMap[4], 'art/core/transform'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[6], 'prop-types'); + + var ReactNativeViewAttributes = _$$_REQUIRE(_dependencyMap[7], 'ReactNativeViewAttributes'); + + var createReactNativeComponentClass = _$$_REQUIRE(_dependencyMap[8], 'createReactNativeComponentClass'); + + var merge = _$$_REQUIRE(_dependencyMap[9], 'merge'); + + var invariant = _$$_REQUIRE(_dependencyMap[10], 'fbjs/lib/invariant'); + + function arrayDiffer(a, b) { + if (a == null || b == null) { + return true; + } + + if (a.length !== b.length) { + return true; + } + + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { + return true; + } + } + + return false; + } + + function fontAndLinesDiffer(a, b) { + if (a === b) { + return false; + } + + if (a.font !== b.font) { + if (a.font === null) { + return true; + } + + if (b.font === null) { + return true; + } + + if (a.font.fontFamily !== b.font.fontFamily || a.font.fontSize !== b.font.fontSize || a.font.fontWeight !== b.font.fontWeight || a.font.fontStyle !== b.font.fontStyle) { + return true; + } + } + + return arrayDiffer(a.lines, b.lines); + } + + var SurfaceViewAttributes = merge(ReactNativeViewAttributes.UIView, {}); + var NodeAttributes = { + transform: { + diff: arrayDiffer + }, + opacity: true + }; + var GroupAttributes = merge(NodeAttributes, { + clipping: { + diff: arrayDiffer + } + }); + var RenderableAttributes = merge(NodeAttributes, { + fill: { + diff: arrayDiffer + }, + stroke: { + diff: arrayDiffer + }, + strokeWidth: true, + strokeCap: true, + strokeJoin: true, + strokeDash: { + diff: arrayDiffer + } + }); + var ShapeAttributes = merge(RenderableAttributes, { + d: { + diff: arrayDiffer + } + }); + var TextAttributes = merge(RenderableAttributes, { + alignment: true, + frame: { + diff: fontAndLinesDiffer + }, + path: { + diff: arrayDiffer + } + }); + var NativeSurfaceView = createReactNativeComponentClass('ARTSurfaceView', function () { + return { + validAttributes: SurfaceViewAttributes, + uiViewClassName: 'ARTSurfaceView' + }; + }); + var NativeGroup = createReactNativeComponentClass('ARTGroup', function () { + return { + validAttributes: GroupAttributes, + uiViewClassName: 'ARTGroup' + }; + }); + var NativeShape = createReactNativeComponentClass('ARTShape', function () { + return { + validAttributes: ShapeAttributes, + uiViewClassName: 'ARTShape' + }; + }); + var NativeText = createReactNativeComponentClass('ARTText', function () { + return { + validAttributes: TextAttributes, + uiViewClassName: 'ARTText' + }; + }); + + function childrenAsString(children) { + if (!children) { + return ''; + } + + if (typeof children === 'string') { + return children; + } + + if (children.length) { + return children.join('\n'); + } + + return ''; + } + + var Surface = function (_React$Component) { + function Surface() { + _classCallCheck(this, Surface); + + return _possibleConstructorReturn(this, _getPrototypeOf(Surface).apply(this, arguments)); + } + + _createClass(Surface, [{ + key: "getChildContext", + value: function getChildContext() { + return { + isInSurface: true + }; + } + }, { + key: "render", + value: function render() { + var props = this.props; + var w = extractNumber(props.width, 0); + var h = extractNumber(props.height, 0); + return React.createElement(NativeSurfaceView, { + style: [props.style, { + width: w, + height: h + }], + __source: { + fileName: _jsxFileName, + lineNumber: 157 + } + }, this.props.children); + } + }]); + + _inherits(Surface, _React$Component); + + return Surface; + }(React.Component); + + Surface.childContextTypes = { + isInSurface: PropTypes.bool + }; + Surface = _wrapComponent("Surface")(Surface); + + function extractNumber(value, defaultValue) { + if (value == null) { + return defaultValue; + } + + return +value; + } + + var pooledTransform = new Transform(); + + function extractTransform(props) { + var scaleX = props.scaleX != null ? props.scaleX : props.scale != null ? props.scale : 1; + var scaleY = props.scaleY != null ? props.scaleY : props.scale != null ? props.scale : 1; + pooledTransform.transformTo(1, 0, 0, 1, 0, 0).move(props.x || 0, props.y || 0).rotate(props.rotation || 0, props.originX, props.originY).scale(scaleX, scaleY, props.originX, props.originY); + + if (props.transform != null) { + pooledTransform.transform(props.transform); + } + + return [pooledTransform.xx, pooledTransform.yx, pooledTransform.xy, pooledTransform.yy, pooledTransform.x, pooledTransform.y]; + } + + function extractOpacity(props) { + if (props.visible === false) { + return 0; + } + + if (props.opacity == null) { + return 1; + } + + return +props.opacity; + } + + var Group = function (_React$Component2) { + function Group() { + _classCallCheck(this, Group); + + return _possibleConstructorReturn(this, _getPrototypeOf(Group).apply(this, arguments)); + } + + _createClass(Group, [{ + key: "render", + value: function render() { + var props = this.props; + invariant(this.context.isInSurface, 'ART: must be a child of a '); + return React.createElement(NativeGroup, { + opacity: extractOpacity(props), + transform: extractTransform(props), + __source: { + fileName: _jsxFileName, + lineNumber: 232 + } + }, this.props.children); + } + }]); + + _inherits(Group, _React$Component2); + + return Group; + }(React.Component); + + Group.contextTypes = { + isInSurface: PropTypes.bool.isRequired + }; + Group = _wrapComponent("Group")(Group); + + var ClippingRectangle = function (_React$Component3) { + function ClippingRectangle() { + _classCallCheck(this, ClippingRectangle); + + return _possibleConstructorReturn(this, _getPrototypeOf(ClippingRectangle).apply(this, arguments)); + } + + _createClass(ClippingRectangle, [{ + key: "render", + value: function render() { + var props = this.props; + var x = extractNumber(props.x, 0); + var y = extractNumber(props.y, 0); + var w = extractNumber(props.width, 0); + var h = extractNumber(props.height, 0); + var clipping = [x, y, w, h]; + var propsExcludingXAndY = merge(props); + delete propsExcludingXAndY.x; + delete propsExcludingXAndY.y; + return React.createElement(NativeGroup, { + clipping: clipping, + opacity: extractOpacity(props), + transform: extractTransform(propsExcludingXAndY), + __source: { + fileName: _jsxFileName, + lineNumber: 254 + } + }, this.props.children); + } + }]); + + _inherits(ClippingRectangle, _React$Component3); + + return ClippingRectangle; + }(React.Component); + + ClippingRectangle = _wrapComponent("ClippingRectangle")(ClippingRectangle); + var SOLID_COLOR = 0; + var LINEAR_GRADIENT = 1; + var RADIAL_GRADIENT = 2; + var PATTERN = 3; + + function insertColorIntoArray(color, targetArray, atIndex) { + var c = new Color(color); + targetArray[atIndex + 0] = c.red / 255; + targetArray[atIndex + 1] = c.green / 255; + targetArray[atIndex + 2] = c.blue / 255; + targetArray[atIndex + 3] = c.alpha; + } + + function insertColorsIntoArray(stops, targetArray, atIndex) { + var i = 0; + + if ('length' in stops) { + while (i < stops.length) { + insertColorIntoArray(stops[i], targetArray, atIndex + i * 4); + i++; + } + } else { + for (var offset in stops) { + insertColorIntoArray(stops[offset], targetArray, atIndex + i * 4); + i++; + } + } + + return atIndex + i * 4; + } + + function insertOffsetsIntoArray(stops, targetArray, atIndex, multi, reverse) { + var offsetNumber; + var i = 0; + + if ('length' in stops) { + while (i < stops.length) { + offsetNumber = i / (stops.length - 1) * multi; + targetArray[atIndex + i] = reverse ? 1 - offsetNumber : offsetNumber; + i++; + } + } else { + for (var offsetString in stops) { + offsetNumber = +offsetString * multi; + targetArray[atIndex + i] = reverse ? 1 - offsetNumber : offsetNumber; + i++; + } + } + + return atIndex + i; + } + + function insertColorStopsIntoArray(stops, targetArray, atIndex) { + var lastIndex = insertColorsIntoArray(stops, targetArray, atIndex); + insertOffsetsIntoArray(stops, targetArray, lastIndex, 1, false); + } + + function insertDoubleColorStopsIntoArray(stops, targetArray, atIndex) { + var lastIndex = insertColorsIntoArray(stops, targetArray, atIndex); + lastIndex = insertColorsIntoArray(stops, targetArray, lastIndex); + lastIndex = insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, false); + insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, true); + } + + function applyBoundingBoxToBrushData(brushData, props) { + var type = brushData[0]; + var width = +props.width; + var height = +props.height; + + if (type === LINEAR_GRADIENT) { + brushData[1] *= width; + brushData[2] *= height; + brushData[3] *= width; + brushData[4] *= height; + } else if (type === RADIAL_GRADIENT) { + brushData[1] *= width; + brushData[2] *= height; + brushData[3] *= width; + brushData[4] *= height; + brushData[5] *= width; + brushData[6] *= height; + } else if (type === PATTERN) {} + } + + function extractBrush(colorOrBrush, props) { + if (colorOrBrush == null) { + return null; + } + + if (colorOrBrush._brush) { + if (colorOrBrush._bb) { + applyBoundingBoxToBrushData(colorOrBrush._brush, props); + colorOrBrush._bb = false; + } + + return colorOrBrush._brush; + } + + var c = new Color(colorOrBrush); + return [SOLID_COLOR, c.red / 255, c.green / 255, c.blue / 255, c.alpha]; + } + + function extractColor(color) { + if (color == null) { + return null; + } + + var c = new Color(color); + return [c.red / 255, c.green / 255, c.blue / 255, c.alpha]; + } + + function extractStrokeCap(strokeCap) { + switch (strokeCap) { + case 'butt': + return 0; + + case 'square': + return 2; + + default: + return 1; + } + } + + function extractStrokeJoin(strokeJoin) { + switch (strokeJoin) { + case 'miter': + return 0; + + case 'bevel': + return 2; + + default: + return 1; + } + } + + var Shape = function (_React$Component4) { + function Shape() { + _classCallCheck(this, Shape); + + return _possibleConstructorReturn(this, _getPrototypeOf(Shape).apply(this, arguments)); + } + + _createClass(Shape, [{ + key: "render", + value: function render() { + var props = this.props; + var path = props.d || childrenAsString(props.children); + var d = (path instanceof Path ? path : new Path(path)).toJSON(); + return React.createElement(NativeShape, { + fill: extractBrush(props.fill, props), + opacity: extractOpacity(props), + stroke: extractColor(props.stroke), + strokeCap: extractStrokeCap(props.strokeCap), + strokeDash: props.strokeDash || null, + strokeJoin: extractStrokeJoin(props.strokeJoin), + strokeWidth: extractNumber(props.strokeWidth, 1), + transform: extractTransform(props), + d: d, + __source: { + fileName: _jsxFileName, + lineNumber: 408 + } + }); + } + }]); + + _inherits(Shape, _React$Component4); + + return Shape; + }(React.Component); + + Shape = _wrapComponent("Shape")(Shape); + var cachedFontObjectsFromString = {}; + var fontFamilyPrefix = /^[\s"']*/; + var fontFamilySuffix = /[\s"']*$/; + + function extractSingleFontFamily(fontFamilyString) { + return fontFamilyString.split(',')[0].replace(fontFamilyPrefix, '').replace(fontFamilySuffix, ''); + } + + function parseFontString(font) { + if (cachedFontObjectsFromString.hasOwnProperty(font)) { + return cachedFontObjectsFromString[font]; + } + + var regexp = /^\s*((?:(?:normal|bold|italic)\s+)*)(?:(\d+(?:\.\d+)?)[ptexm\%]*(?:\s*\/.*?)?\s+)?\s*\"?([^\"]*)/i; + var match = regexp.exec(font); + + if (!match) { + return null; + } + + var fontFamily = extractSingleFontFamily(match[3]); + var fontSize = +match[2] || 12; + var isBold = /bold/.exec(match[1]); + var isItalic = /italic/.exec(match[1]); + cachedFontObjectsFromString[font] = { + fontFamily: fontFamily, + fontSize: fontSize, + fontWeight: isBold ? 'bold' : 'normal', + fontStyle: isItalic ? 'italic' : 'normal' + }; + return cachedFontObjectsFromString[font]; + } + + function extractFont(font) { + if (font == null) { + return null; + } + + if (typeof font === 'string') { + return parseFontString(font); + } + + var fontFamily = extractSingleFontFamily(font.fontFamily); + var fontSize = +font.fontSize || 12; + var fontWeight = font.fontWeight != null ? font.fontWeight.toString() : '400'; + return { + fontFamily: fontFamily, + fontSize: fontSize, + fontWeight: fontWeight, + fontStyle: font.fontStyle + }; + } + + var newLine = /\n/g; + + function extractFontAndLines(font, text) { + return { + font: extractFont(font), + lines: text.split(newLine) + }; + } + + function extractAlignment(alignment) { + switch (alignment) { + case 'right': + return 1; + + case 'center': + return 2; + + default: + return 0; + } + } + + var Text = function (_React$Component5) { + function Text() { + _classCallCheck(this, Text); + + return _possibleConstructorReturn(this, _getPrototypeOf(Text).apply(this, arguments)); + } + + _createClass(Text, [{ + key: "render", + value: function render() { + var props = this.props; + var path = props.path; + var textPath = path ? (path instanceof Path ? path : new Path(path)).toJSON() : null; + var textFrame = extractFontAndLines(props.font, childrenAsString(props.children)); + return React.createElement(NativeText, { + fill: extractBrush(props.fill, props), + opacity: extractOpacity(props), + stroke: extractColor(props.stroke), + strokeCap: extractStrokeCap(props.strokeCap), + strokeDash: props.strokeDash || null, + strokeJoin: extractStrokeJoin(props.strokeJoin), + strokeWidth: extractNumber(props.strokeWidth, 1), + transform: extractTransform(props), + alignment: extractAlignment(props.alignment), + frame: textFrame, + path: textPath, + __source: { + fileName: _jsxFileName, + lineNumber: 510 + } + }); + } + }]); + + _inherits(Text, _React$Component5); + + return Text; + }(React.Component); + + Text = _wrapComponent("Text")(Text); + + function LinearGradient(stops, x1, y1, x2, y2) { + var type = LINEAR_GRADIENT; + + if (arguments.length < 5) { + var angle = (x1 == null ? 270 : x1) * Math.PI / 180; + var x = Math.cos(angle); + var y = -Math.sin(angle); + var l = (Math.abs(x) + Math.abs(y)) / 2; + x *= l; + y *= l; + x1 = 0.5 - x; + x2 = 0.5 + x; + y1 = 0.5 - y; + y2 = 0.5 + y; + this._bb = true; + } else { + this._bb = false; + } + + var brushData = [type, +x1, +y1, +x2, +y2]; + insertColorStopsIntoArray(stops, brushData, 5); + this._brush = brushData; + } + + function RadialGradient(stops, fx, fy, rx, ry, cx, cy) { + if (ry == null) { + ry = rx; + } + + if (cx == null) { + cx = fx; + } + + if (cy == null) { + cy = fy; + } + + if (fx == null) { + fx = fy = rx = ry = cx = cy = 0.5; + this._bb = true; + } else { + this._bb = false; + } + + var brushData = [RADIAL_GRADIENT, +fx, +fy, +rx * 2, +ry * 2, +cx, +cy]; + insertDoubleColorStopsIntoArray(stops, brushData, 7); + this._brush = brushData; + } + + function Pattern(url, width, height, left, top) { + this._brush = [PATTERN, url, +left || 0, +top || 0, +width, +height]; + } + + var ReactART = { + LinearGradient: LinearGradient, + RadialGradient: RadialGradient, + Pattern: Pattern, + Transform: Transform, + Path: Path, + Surface: Surface, + Group: Group, + ClippingRectangle: ClippingRectangle, + Shape: Shape, + Text: Text + }; + module.exports = ReactART; +},241,[1,11,242,243,246,200,212,247,230,248,166],"node_modules/react-native/Libraries/ART/ReactNativeART.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var colors = { + maroon: '#800000', + red: '#ff0000', + orange: '#ffA500', + yellow: '#ffff00', + olive: '#808000', + purple: '#800080', + fuchsia: "#ff00ff", + white: '#ffffff', + lime: '#00ff00', + green: '#008000', + navy: '#000080', + blue: '#0000ff', + aqua: '#00ffff', + teal: '#008080', + black: '#000000', + silver: '#c0c0c0', + gray: '#808080' + }; + + var map = function map(array, fn) { + var results = []; + + for (var i = 0, l = array.length; i < l; i++) { + results[i] = fn(array[i], i); + } + + return results; + }; + + var Color = function Color(color, type) { + if (color.isColor) { + this.red = color.red; + this.green = color.green; + this.blue = color.blue; + this.alpha = color.alpha; + } else { + var namedColor = colors[color]; + + if (namedColor) { + color = namedColor; + type = 'hex'; + } + + switch (typeof color) { + case 'string': + if (!type) type = (type = color.match(/^rgb|^hsb|^hsl/)) ? type[0] : 'hex'; + break; + + case 'object': + type = type || 'rgb'; + color = color.toString(); + break; + + case 'number': + type = 'hex'; + color = color.toString(16); + break; + } + + color = Color['parse' + type.toUpperCase()](color); + this.red = color[0]; + this.green = color[1]; + this.blue = color[2]; + this.alpha = color[3]; + } + + this.isColor = true; + }; + + var limit = function limit(number, min, max) { + return Math.min(max, Math.max(min, number)); + }; + + var listMatch = /([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,?\s*([-.\d]*\%?)/; + var hexMatch = /^#?([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{0,2})$/i; + + Color.parseRGB = function (color) { + return map(color.match(listMatch).slice(1), function (bit, i) { + if (bit) bit = parseFloat(bit) * (bit[bit.length - 1] == '%' ? 2.55 : 1); + return i < 3 ? Math.round((bit %= 256) < 0 ? bit + 256 : bit) : limit(bit === '' ? 1 : Number(bit), 0, 1); + }); + }; + + Color.parseHEX = function (color) { + if (color.length == 1) color = color + color + color; + return map(color.match(hexMatch).slice(1), function (bit, i) { + if (i == 3) return bit ? parseInt(bit, 16) / 255 : 1; + return parseInt(bit.length == 1 ? bit + bit : bit, 16); + }); + }; + + Color.parseHSB = function (color) { + var hsb = map(color.match(listMatch).slice(1), function (bit, i) { + if (bit) bit = parseFloat(bit); + if (i === 0) return Math.round((bit %= 360) < 0 ? bit + 360 : bit);else if (i < 3) return limit(Math.round(bit), 0, 100);else return limit(bit === '' ? 1 : Number(bit), 0, 1); + }); + var a = hsb[3]; + var br = Math.round(hsb[2] / 100 * 255); + if (hsb[1] == 0) return [br, br, br, a]; + var hue = hsb[0]; + var f = hue % 60; + var p = Math.round(hsb[2] * (100 - hsb[1]) / 10000 * 255); + var q = Math.round(hsb[2] * (6000 - hsb[1] * f) / 600000 * 255); + var t = Math.round(hsb[2] * (6000 - hsb[1] * (60 - f)) / 600000 * 255); + + switch (Math.floor(hue / 60)) { + case 0: + return [br, t, p, a]; + + case 1: + return [q, br, p, a]; + + case 2: + return [p, br, t, a]; + + case 3: + return [p, q, br, a]; + + case 4: + return [t, p, br, a]; + + default: + return [br, p, q, a]; + } + }; + + Color.parseHSL = function (color) { + var hsb = map(color.match(listMatch).slice(1), function (bit, i) { + if (bit) bit = parseFloat(bit); + if (i === 0) return Math.round((bit %= 360) < 0 ? bit + 360 : bit);else if (i < 3) return limit(Math.round(bit), 0, 100);else return limit(bit === '' ? 1 : Number(bit), 0, 1); + }); + var h = hsb[0] / 60; + var s = hsb[1] / 100; + var l = hsb[2] / 100; + var a = hsb[3]; + var c = (1 - Math.abs(2 * l - 1)) * s; + var x = c * (1 - Math.abs(h % 2 - 1)); + var m = l - c / 2; + var p = Math.round((c + m) * 255); + var q = Math.round((x + m) * 255); + var t = Math.round(m * 255); + + switch (Math.floor(h)) { + case 0: + return [p, q, t, a]; + + case 1: + return [q, p, t, a]; + + case 2: + return [t, p, q, a]; + + case 3: + return [t, q, p, a]; + + case 4: + return [q, t, p, a]; + + default: + return [p, t, q, a]; + } + }; + + var toString = function toString(type, array) { + if (array[3] != 1) type += 'a';else array.pop(); + return type + '(' + array.join(', ') + ')'; + }; + + Color.prototype = { + toHSB: function toHSB(array) { + var red = this.red, + green = this.green, + blue = this.blue, + alpha = this.alpha; + var max = Math.max(red, green, blue), + min = Math.min(red, green, blue), + delta = max - min; + var hue = 0, + saturation = delta != 0 ? delta / max : 0, + brightness = max / 255; + + if (saturation) { + var rr = (max - red) / delta, + gr = (max - green) / delta, + br = (max - blue) / delta; + hue = red == max ? br - gr : green == max ? 2 + rr - br : 4 + gr - rr; + if ((hue /= 6) < 0) hue++; + } + + var hsb = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(brightness * 100), alpha]; + return array ? hsb : toString('hsb', hsb); + }, + toHSL: function toHSL(array) { + var red = this.red, + green = this.green, + blue = this.blue, + alpha = this.alpha; + var max = Math.max(red, green, blue), + min = Math.min(red, green, blue), + delta = max - min; + var hue = 0, + saturation = delta != 0 ? delta / (255 - Math.abs(max + min - 255)) : 0, + lightness = (max + min) / 512; + + if (saturation) { + var rr = (max - red) / delta, + gr = (max - green) / delta, + br = (max - blue) / delta; + hue = red == max ? br - gr : green == max ? 2 + rr - br : 4 + gr - rr; + if ((hue /= 6) < 0) hue++; + } + + var hsl = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(lightness * 100), alpha]; + return array ? hsl : toString('hsl', hsl); + }, + toHEX: function toHEX(array) { + var a = this.alpha; + var alpha = (a = Math.round(a * 255).toString(16)).length == 1 ? a + a : a; + var hex = map([this.red, this.green, this.blue], function (bit) { + bit = bit.toString(16); + return bit.length == 1 ? '0' + bit : bit; + }); + return array ? hex.concat(alpha) : '#' + hex.join('') + (alpha == 'ff' ? '' : alpha); + }, + toRGB: function toRGB(array) { + var rgb = [this.red, this.green, this.blue, this.alpha]; + return array ? rgb : toString('rgb', rgb); + } + }; + Color.prototype.toString = Color.prototype.toRGB; + + Color.hex = function (hex) { + return new Color(hex, 'hex'); + }; + + if (this.hex == null) this.hex = Color.hex; + + Color.hsb = function (h, s, b, a) { + return new Color([h || 0, s || 0, b || 0, a == null ? 1 : a], 'hsb'); + }; + + if (this.hsb == null) this.hsb = Color.hsb; + + Color.hsl = function (h, s, l, a) { + return new Color([h || 0, s || 0, l || 0, a == null ? 1 : a], 'hsl'); + }; + + if (this.hsl == null) this.hsl = Color.hsl; + + Color.rgb = function (r, g, b, a) { + return new Color([r || 0, g || 0, b || 0, a == null ? 1 : a], 'rgb'); + }; + + if (this.rgb == null) this.rgb = Color.rgb; + + Color.detach = function (color) { + color = new Color(color); + return [Color.rgb(color.red, color.green, color.blue).toString(), color.alpha]; + }; + + module.exports = Color; +},242,[],"node_modules/art/core/color.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Class = _$$_REQUIRE(_dependencyMap[0], 'art/core/class.js'); + + var Path = _$$_REQUIRE(_dependencyMap[1], 'art/core/path.js'); + + var MOVE_TO = 0; + var CLOSE = 1; + var LINE_TO = 2; + var CURVE_TO = 3; + var ARC = 4; + var SerializablePath = Class(Path, { + initialize: function initialize(path) { + this.reset(); + + if (path instanceof SerializablePath) { + this.path = path.path.slice(0); + } else if (path) { + if (path.applyToPath) { + path.applyToPath(this); + } else { + this.push(path); + } + } + }, + onReset: function onReset() { + this.path = []; + }, + onMove: function onMove(sx, sy, x, y) { + this.path.push(MOVE_TO, x, y); + }, + onLine: function onLine(sx, sy, x, y) { + this.path.push(LINE_TO, x, y); + }, + onBezierCurve: function onBezierCurve(sx, sy, p1x, p1y, p2x, p2y, x, y) { + this.path.push(CURVE_TO, p1x, p1y, p2x, p2y, x, y); + }, + _arcToBezier: Path.prototype.onArc, + onArc: function onArc(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation) { + if (rx !== ry || rotation) { + return this._arcToBezier(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation); + } + + this.path.push(ARC, cx, cy, rx, sa, ea, ccw ? 0 : 1); + }, + onClose: function onClose() { + this.path.push(CLOSE); + }, + toJSON: function toJSON() { + return this.path; + } + }); + module.exports = SerializablePath; +},243,[244,245],"node_modules/react-native/Libraries/ART/ARTSerializablePath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + module.exports = function (mixins) { + var proto = {}; + + for (var i = 0, l = arguments.length; i < l; i++) { + var mixin = arguments[i]; + if (typeof mixin == 'function') mixin = mixin.prototype; + + for (var key in mixin) { + proto[key] = mixin[key]; + } + } + + if (!proto.initialize) proto.initialize = function () {}; + + proto.constructor = function (a, b, c, d, e, f, g, h) { + return new proto.initialize(a, b, c, d, e, f, g, h); + }; + + proto.constructor.prototype = proto.initialize.prototype = proto; + return proto.constructor; + }; +},244,[],"node_modules/art/core/class.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Class = _$$_REQUIRE(_dependencyMap[0], './class'); + + module.exports = Class({ + initialize: function initialize(path) { + this.reset().push(path); + }, + push: function push() { + var p = Array.prototype.join.call(arguments, ' ').match(/[a-df-z]|[\-+]?(?:[\d\.]e[\-+]?|[^\s\-+,a-z])+/ig); + if (!p) return this; + var last, + cmd = p[0], + i = 1; + + while (cmd) { + switch (cmd) { + case 'm': + this.move(p[i++], p[i++]); + break; + + case 'l': + this.line(p[i++], p[i++]); + break; + + case 'c': + this.curve(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]); + break; + + case 's': + this.curve(p[i++], p[i++], null, null, p[i++], p[i++]); + break; + + case 'q': + this.curve(p[i++], p[i++], p[i++], p[i++]); + break; + + case 't': + this.curve(p[i++], p[i++]); + break; + + case 'a': + this.arc(p[i + 5], p[i + 6], p[i], p[i + 1], p[i + 3], !+p[i + 4], p[i + 2]); + i += 7; + break; + + case 'h': + this.line(p[i++], 0); + break; + + case 'v': + this.line(0, p[i++]); + break; + + case 'M': + this.moveTo(p[i++], p[i++]); + break; + + case 'L': + this.lineTo(p[i++], p[i++]); + break; + + case 'C': + this.curveTo(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]); + break; + + case 'S': + this.curveTo(p[i++], p[i++], null, null, p[i++], p[i++]); + break; + + case 'Q': + this.curveTo(p[i++], p[i++], p[i++], p[i++]); + break; + + case 'T': + this.curveTo(p[i++], p[i++]); + break; + + case 'A': + this.arcTo(p[i + 5], p[i + 6], p[i], p[i + 1], p[i + 3], !+p[i + 4], p[i + 2]); + i += 7; + break; + + case 'H': + this.lineTo(p[i++], this.penY); + break; + + case 'V': + this.lineTo(this.penX, p[i++]); + break; + + case 'Z': + case 'z': + this.close(); + break; + + default: + cmd = last; + i--; + continue; + } + + last = cmd; + if (last == 'm') last = 'l';else if (last == 'M') last = 'L'; + cmd = p[i++]; + } + + return this; + }, + reset: function reset() { + this.penX = this.penY = 0; + this.penDownX = this.penDownY = null; + this._pivotX = this._pivotY = 0; + this.onReset(); + return this; + }, + move: function move(x, y) { + this.onMove(this.penX, this.penY, this._pivotX = this.penX += +x, this._pivotY = this.penY += +y); + return this; + }, + moveTo: function moveTo(x, y) { + this.onMove(this.penX, this.penY, this._pivotX = this.penX = +x, this._pivotY = this.penY = +y); + return this; + }, + line: function line(x, y) { + return this.lineTo(this.penX + +x, this.penY + +y); + }, + lineTo: function lineTo(x, y) { + if (this.penDownX == null) { + this.penDownX = this.penX; + this.penDownY = this.penY; + } + + this.onLine(this.penX, this.penY, this._pivotX = this.penX = +x, this._pivotY = this.penY = +y); + return this; + }, + curve: function curve(c1x, c1y, c2x, c2y, ex, ey) { + var x = this.penX, + y = this.penY; + return this.curveTo(x + +c1x, y + +c1y, c2x == null ? null : x + +c2x, c2y == null ? null : y + +c2y, ex == null ? null : x + +ex, ey == null ? null : y + +ey); + }, + curveTo: function curveTo(c1x, c1y, c2x, c2y, ex, ey) { + var x = this.penX, + y = this.penY; + + if (c2x == null) { + c2x = +c1x; + c2y = +c1y; + c1x = x * 2 - (this._pivotX || 0); + c1y = y * 2 - (this._pivotY || 0); + } + + if (ex == null) { + this._pivotX = +c1x; + this._pivotY = +c1y; + ex = +c2x; + ey = +c2y; + c2x = (ex + +c1x * 2) / 3; + c2y = (ey + +c1y * 2) / 3; + c1x = (x + +c1x * 2) / 3; + c1y = (y + +c1y * 2) / 3; + } else { + this._pivotX = +c2x; + this._pivotY = +c2y; + } + + if (this.penDownX == null) { + this.penDownX = x; + this.penDownY = y; + } + + this.onBezierCurve(x, y, +c1x, +c1y, +c2x, +c2y, this.penX = +ex, this.penY = +ey); + return this; + }, + arc: function arc(x, y, rx, ry, outer, counterClockwise, rotation) { + return this.arcTo(this.penX + +x, this.penY + +y, rx, ry, outer, counterClockwise, rotation); + }, + arcTo: function arcTo(x, y, rx, ry, outer, counterClockwise, rotation) { + ry = Math.abs(+ry || +rx || +y - this.penY); + rx = Math.abs(+rx || +x - this.penX); + if (!rx || !ry || x == this.penX && y == this.penY) return this.lineTo(x, y); + var tX = this.penX, + tY = this.penY, + clockwise = !+counterClockwise, + large = !!+outer; + var rad = rotation ? rotation * Math.PI / 180 : 0, + cos = Math.cos(rad), + sin = Math.sin(rad); + x -= tX; + y -= tY; + var cx = cos * x / 2 + sin * y / 2, + cy = -sin * x / 2 + cos * y / 2, + rxry = rx * rx * ry * ry, + rycx = ry * ry * cx * cx, + rxcy = rx * rx * cy * cy, + a = rxry - rxcy - rycx; + + if (a < 0) { + a = Math.sqrt(1 - a / rxry); + rx *= a; + ry *= a; + cx = x / 2; + cy = y / 2; + } else { + a = Math.sqrt(a / (rxcy + rycx)); + if (large == clockwise) a = -a; + var cxd = -a * cy * rx / ry, + cyd = a * cx * ry / rx; + cx = cos * cxd - sin * cyd + x / 2; + cy = sin * cxd + cos * cyd + y / 2; + } + + var xx = cos / rx, + yx = sin / rx, + xy = -sin / ry, + yy = cos / ry; + var sa = Math.atan2(xy * -cx + yy * -cy, xx * -cx + yx * -cy), + ea = Math.atan2(xy * (x - cx) + yy * (y - cy), xx * (x - cx) + yx * (y - cy)); + cx += tX; + cy += tY; + x += tX; + y += tY; + + if (this.penDownX == null) { + this.penDownX = this.penX; + this.penDownY = this.penY; + } + + this.onArc(tX, tY, this._pivotX = this.penX = x, this._pivotY = this.penY = y, cx, cy, rx, ry, sa, ea, !clockwise, rotation); + return this; + }, + counterArc: function counterArc(x, y, rx, ry, outer) { + return this.arc(x, y, rx, ry, outer, true); + }, + counterArcTo: function counterArcTo(x, y, rx, ry, outer) { + return this.arcTo(x, y, rx, ry, outer, true); + }, + close: function close() { + if (this.penDownX != null) { + this.onClose(this.penX, this.penY, this.penX = this.penDownX, this.penY = this.penDownY); + this.penDownX = null; + } + + return this; + }, + onReset: function onReset() {}, + onMove: function onMove(sx, sy, ex, ey) {}, + onLine: function onLine(sx, sy, ex, ey) { + this.onBezierCurve(sx, sy, sx, sy, ex, ey, ex, ey); + }, + onBezierCurve: function onBezierCurve(sx, sy, c1x, c1y, c2x, c2y, ex, ey) { + var gx = ex - sx, + gy = ey - sy, + g = gx * gx + gy * gy, + v1, + v2, + cx, + cy, + u; + cx = c1x - sx; + cy = c1y - sy; + u = cx * gx + cy * gy; + + if (u > g) { + cx -= gx; + cy -= gy; + } else if (u > 0 && g != 0) { + cx -= u / g * gx; + cy -= u / g * gy; + } + + v1 = cx * cx + cy * cy; + cx = c2x - sx; + cy = c2y - sy; + u = cx * gx + cy * gy; + + if (u > g) { + cx -= gx; + cy -= gy; + } else if (u > 0 && g != 0) { + cx -= u / g * gx; + cy -= u / g * gy; + } + + v2 = cx * cx + cy * cy; + + if (v1 < 0.01 && v2 < 0.01) { + this.onLine(sx, sy, ex, ey); + return; + } + + if (isNaN(v1) || isNaN(v2)) { + throw new Error('Bad input'); + } + + var s1x = (c1x + c2x) * 0.5, + s1y = (c1y + c2y) * 0.5, + l1x = (c1x + sx) * 0.5, + l1y = (c1y + sy) * 0.5, + l2x = (l1x + s1x) * 0.5, + l2y = (l1y + s1y) * 0.5, + r2x = (ex + c2x) * 0.5, + r2y = (ey + c2y) * 0.5, + r1x = (r2x + s1x) * 0.5, + r1y = (r2y + s1y) * 0.5, + l2r1x = (l2x + r1x) * 0.5, + l2r1y = (l2y + r1y) * 0.5; + this.onBezierCurve(sx, sy, l1x, l1y, l2x, l2y, l2r1x, l2r1y); + this.onBezierCurve(l2r1x, l2r1y, r1x, r1y, r2x, r2y, ex, ey); + }, + onArc: function onArc(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation) { + var rad = rotation ? rotation * Math.PI / 180 : 0, + cos = Math.cos(rad), + sin = Math.sin(rad), + xx = cos * rx, + yx = -sin * ry, + xy = sin * rx, + yy = cos * ry; + var arc = ea - sa; + if (arc < 0 && !ccw) arc += Math.PI * 2;else if (arc > 0 && ccw) arc -= Math.PI * 2; + var n = Math.ceil(Math.abs(arc / (Math.PI / 2))), + step = arc / n, + k = 4 / 3 * Math.tan(step / 4); + var x = Math.cos(sa), + y = Math.sin(sa); + + for (var i = 0; i < n; i++) { + var cp1x = x - k * y, + cp1y = y + k * x; + sa += step; + x = Math.cos(sa); + y = Math.sin(sa); + var cp2x = x + k * y, + cp2y = y - k * x; + this.onBezierCurve(sx, sy, cx + xx * cp1x + yx * cp1y, cy + xy * cp1x + yy * cp1y, cx + xx * cp2x + yx * cp2y, cy + xy * cp2x + yy * cp2y, sx = cx + xx * x + yx * y, sy = cy + xy * x + yy * y); + } + }, + onClose: function onClose(sx, sy, ex, ey) { + this.onLine(sx, sy, ex, ey); + } + }); +},245,[244],"node_modules/art/core/path.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Class = _$$_REQUIRE(_dependencyMap[0], './class'); + + function Transform(xx, yx, xy, yy, x, y) { + if (xx && typeof xx == 'object') { + yx = xx.yx; + yy = xx.yy; + y = xx.y; + xy = xx.xy; + x = xx.x; + xx = xx.xx; + } + + this.xx = xx == null ? 1 : xx; + this.yx = yx || 0; + this.xy = xy || 0; + this.yy = yy == null ? 1 : yy; + this.x = (x == null ? this.x : x) || 0; + this.y = (y == null ? this.y : y) || 0; + + this._transform(); + + return this; + } + + ; + module.exports = Class({ + initialize: Transform, + _transform: function _transform() {}, + xx: 1, + yx: 0, + x: 0, + xy: 0, + yy: 1, + y: 0, + transform: function transform(xx, yx, xy, yy, x, y) { + var m = this; + + if (xx && typeof xx == 'object') { + yx = xx.yx; + yy = xx.yy; + y = xx.y; + xy = xx.xy; + x = xx.x; + xx = xx.xx; + } + + if (!x) x = 0; + if (!y) y = 0; + return this.transformTo(m.xx * xx + m.xy * yx, m.yx * xx + m.yy * yx, m.xx * xy + m.xy * yy, m.yx * xy + m.yy * yy, m.xx * x + m.xy * y + m.x, m.yx * x + m.yy * y + m.y); + }, + transformTo: Transform, + translate: function translate(x, y) { + return this.transform(1, 0, 0, 1, x, y); + }, + move: function move(x, y) { + this.x += x || 0; + this.y += y || 0; + + this._transform(); + + return this; + }, + scale: function scale(x, y) { + if (y == null) y = x; + return this.transform(x, 0, 0, y, 0, 0); + }, + rotate: function rotate(deg, x, y) { + if (x == null || y == null) { + x = (this.left || 0) + (this.width || 0) / 2; + y = (this.top || 0) + (this.height || 0) / 2; + } + + var rad = deg * Math.PI / 180, + sin = Math.sin(rad), + cos = Math.cos(rad); + this.transform(1, 0, 0, 1, x, y); + var m = this; + return this.transformTo(cos * m.xx - sin * m.yx, sin * m.xx + cos * m.yx, cos * m.xy - sin * m.yy, sin * m.xy + cos * m.yy, m.x, m.y).transform(1, 0, 0, 1, -x, -y); + }, + moveTo: function moveTo(x, y) { + var m = this; + return this.transformTo(m.xx, m.yx, m.xy, m.yy, x, y); + }, + rotateTo: function rotateTo(deg, x, y) { + var m = this; + var flip = m.yx / m.xx > m.yy / m.xy ? -1 : 1; + if (m.xx < 0 ? m.xy >= 0 : m.xy < 0) flip = -flip; + return this.rotate(deg - Math.atan2(flip * m.yx, flip * m.xx) * 180 / Math.PI, x, y); + }, + scaleTo: function scaleTo(x, y) { + var m = this; + var h = Math.sqrt(m.xx * m.xx + m.yx * m.yx); + m.xx /= h; + m.yx /= h; + h = Math.sqrt(m.yy * m.yy + m.xy * m.xy); + m.yy /= h; + m.xy /= h; + return this.scale(x, y); + }, + resizeTo: function resizeTo(width, height) { + var w = this.width, + h = this.height; + if (!w || !h) return this; + return this.scaleTo(width / w, height / h); + }, + inversePoint: function inversePoint(x, y) { + var a = this.xx, + b = this.yx, + c = this.xy, + d = this.yy, + e = this.x, + f = this.y; + var det = b * c - a * d; + if (det == 0) return null; + return { + x: (d * (e - x) + c * (y - f)) / det, + y: (a * (f - y) + b * (x - e)) / det + }; + }, + point: function point(x, y) { + var m = this; + return { + x: m.xx * x + m.xy * y + m.x, + y: m.yx * x + m.yy * y + m.y + }; + } + }); +},246,[244],"node_modules/art/core/transform.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ReactNativeStyleAttributes = _$$_REQUIRE(_dependencyMap[0], 'ReactNativeStyleAttributes'); + + var ReactNativeViewAttributes = {}; + ReactNativeViewAttributes.UIView = { + pointerEvents: true, + accessible: true, + accessibilityActions: true, + accessibilityLabel: true, + accessibilityComponentType: true, + accessibilityLiveRegion: true, + accessibilityTraits: true, + importantForAccessibility: true, + nativeID: true, + testID: true, + renderToHardwareTextureAndroid: true, + shouldRasterizeIOS: true, + onLayout: true, + onAccessibilityAction: true, + onAccessibilityTap: true, + onMagicTap: true, + collapsable: true, + needsOffscreenAlphaCompositing: true, + style: ReactNativeStyleAttributes + }; + ReactNativeViewAttributes.RCTView = _objectSpread({}, ReactNativeViewAttributes.UIView, { + removeClippedSubviews: true + }); + module.exports = ReactNativeViewAttributes; +},247,[205],"node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var mergeInto = _$$_REQUIRE(_dependencyMap[0], 'mergeInto'); + + var merge = function merge(one, two) { + var result = {}; + mergeInto(result, one); + mergeInto(result, two); + return result; + }; + + module.exports = merge; +},248,[249],"node_modules/react-native/Libraries/vendor/core/merge.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var mergeHelpers = _$$_REQUIRE(_dependencyMap[0], 'mergeHelpers'); + + var checkMergeObjectArg = mergeHelpers.checkMergeObjectArg; + var checkMergeIntoObjectArg = mergeHelpers.checkMergeIntoObjectArg; + + function mergeInto(one, two) { + checkMergeIntoObjectArg(one); + + if (two != null) { + checkMergeObjectArg(two); + + for (var key in two) { + if (!two.hasOwnProperty(key)) { + continue; + } + + one[key] = two[key]; + } + } + } + + module.exports = mergeInto; +},249,[250],"node_modules/react-native/Libraries/vendor/core/mergeInto.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var MAX_MERGE_DEPTH = 36; + + var isTerminal = function isTerminal(o) { + return typeof o !== 'object' || o instanceof Date || o === null; + }; + + var mergeHelpers = { + MAX_MERGE_DEPTH: MAX_MERGE_DEPTH, + isTerminal: isTerminal, + normalizeMergeArg: function normalizeMergeArg(arg) { + return arg === undefined || arg === null ? {} : arg; + }, + checkMergeArrayArgs: function checkMergeArrayArgs(one, two) { + invariant(Array.isArray(one) && Array.isArray(two), 'Tried to merge arrays, instead got %s and %s.', one, two); + }, + checkMergeObjectArgs: function checkMergeObjectArgs(one, two) { + mergeHelpers.checkMergeObjectArg(one); + mergeHelpers.checkMergeObjectArg(two); + }, + checkMergeObjectArg: function checkMergeObjectArg(arg) { + invariant(!isTerminal(arg) && !Array.isArray(arg), 'Tried to merge an object, instead got %s.', arg); + }, + checkMergeIntoObjectArg: function checkMergeIntoObjectArg(arg) { + invariant((!isTerminal(arg) || typeof arg === 'function') && !Array.isArray(arg), 'Tried to merge into an object, instead got %s.', arg); + }, + checkMergeLevel: function checkMergeLevel(level) { + invariant(level < MAX_MERGE_DEPTH, 'Maximum deep merge depth exceeded. You may be attempting to merge ' + 'circular structures in an unsupported way.'); + }, + checkArrayStrategy: function checkArrayStrategy(strategy) { + invariant(strategy === undefined || strategy in mergeHelpers.ArrayStrategies, 'You must provide an array strategy to deep merge functions to ' + 'instruct the deep merge how to resolve merging two arrays.'); + }, + ArrayStrategies: { + Clobber: 'Clobber', + Concat: 'Concat', + IndexByIndex: 'IndexByIndex' + } + }; + module.exports = mergeHelpers; +},250,[166],"node_modules/react-native/Libraries/vendor/core/mergeHelpers.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Button.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Button: { + displayName: "Button" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Button.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[2], 'ColorPropType'); + + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[5], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[7], 'Text'); + + var TouchableNativeFeedback = _$$_REQUIRE(_dependencyMap[8], 'TouchableNativeFeedback'); + + var TouchableOpacity = _$$_REQUIRE(_dependencyMap[9], 'TouchableOpacity'); + + var View = _$$_REQUIRE(_dependencyMap[10], 'View'); + + var invariant = _$$_REQUIRE(_dependencyMap[11], 'fbjs/lib/invariant'); + + var Button = function (_React$Component) { + function Button() { + _classCallCheck(this, Button); + + return _possibleConstructorReturn(this, _getPrototypeOf(Button).apply(this, arguments)); + } + + _createClass(Button, [{ + key: "render", + value: function render() { + var _this$props = this.props, + accessibilityLabel = _this$props.accessibilityLabel, + color = _this$props.color, + onPress = _this$props.onPress, + title = _this$props.title, + hasTVPreferredFocus = _this$props.hasTVPreferredFocus, + disabled = _this$props.disabled, + testID = _this$props.testID; + var buttonStyles = [styles.button]; + var textStyles = [styles.text]; + + if (color) { + if (Platform.OS === 'ios') { + textStyles.push({ + color: color + }); + } else { + buttonStyles.push({ + backgroundColor: color + }); + } + } + + var accessibilityTraits = ['button']; + + if (disabled) { + buttonStyles.push(styles.buttonDisabled); + textStyles.push(styles.textDisabled); + accessibilityTraits.push('disabled'); + } + + invariant(typeof title === 'string', 'The title prop of a Button must be a string'); + var formattedTitle = Platform.OS === 'android' ? title.toUpperCase() : title; + var Touchable = Platform.OS === 'android' ? TouchableNativeFeedback : TouchableOpacity; + return React.createElement(Touchable, { + accessibilityComponentType: "button", + accessibilityLabel: accessibilityLabel, + accessibilityTraits: accessibilityTraits, + hasTVPreferredFocus: hasTVPreferredFocus, + testID: testID, + disabled: disabled, + onPress: onPress, + __source: { + fileName: _jsxFileName, + lineNumber: 127 + } + }, React.createElement(View, { + style: buttonStyles, + __source: { + fileName: _jsxFileName, + lineNumber: 135 + } + }, React.createElement(Text, { + style: textStyles, + disabled: disabled, + __source: { + fileName: _jsxFileName, + lineNumber: 136 + } + }, formattedTitle))); + } + }]); + + _inherits(Button, _React$Component); + + return Button; + }(React.Component); + + Button.propTypes = { + title: PropTypes.string.isRequired, + accessibilityLabel: PropTypes.string, + color: ColorPropType, + disabled: PropTypes.bool, + hasTVPreferredFocus: PropTypes.bool, + onPress: PropTypes.func.isRequired, + testID: PropTypes.string + }; + Button = _wrapComponent("Button")(Button); + var styles = StyleSheet.create({ + button: Platform.select({ + ios: {}, + android: { + elevation: 4, + backgroundColor: '#2196F3', + borderRadius: 2 + } + }), + text: Platform.select({ + ios: { + color: '#007AFF', + textAlign: 'center', + padding: 8, + fontSize: 18 + }, + android: { + color: 'white', + textAlign: 'center', + padding: 8, + fontWeight: '500' + } + }), + buttonDisabled: Platform.select({ + ios: {}, + android: { + elevation: 0, + backgroundColor: '#dfdfdf' + } + }), + textDisabled: Platform.select({ + ios: { + color: '#cdcdcd' + }, + android: { + color: '#a1a1a1' + } + }) + }); + module.exports = Button; +},251,[1,11,207,176,200,212,201,252,330,331,227,166],"node_modules/react-native/Libraries/Components/Button.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Text/Text.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _components = { + TouchableText: { + displayName: "TouchableText" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Text/Text.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var ReactNativeViewAttributes = _$$_REQUIRE(_dependencyMap[3], 'ReactNativeViewAttributes'); + + var TextAncestor = _$$_REQUIRE(_dependencyMap[4], 'TextAncestor'); + + var TextPropTypes = _$$_REQUIRE(_dependencyMap[5], 'TextPropTypes'); + + var Touchable = _$$_REQUIRE(_dependencyMap[6], 'Touchable'); + + var UIManager = _$$_REQUIRE(_dependencyMap[7], 'UIManager'); + + var createReactNativeComponentClass = _$$_REQUIRE(_dependencyMap[8], 'createReactNativeComponentClass'); + + var nullthrows = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/nullthrows'); + + var processColor = _$$_REQUIRE(_dependencyMap[10], 'processColor'); + + var PRESS_RECT_OFFSET = { + top: 20, + left: 20, + right: 20, + bottom: 30 + }; + var viewConfig = { + validAttributes: _objectSpread({}, ReactNativeViewAttributes.UIView, { + isHighlighted: true, + numberOfLines: true, + ellipsizeMode: true, + allowFontScaling: true, + disabled: true, + selectable: true, + selectionColor: true, + adjustsFontSizeToFit: true, + minimumFontScale: true, + textBreakStrategy: true + }), + uiViewClassName: 'RCTText' + }; + + var TouchableText = function (_React$Component) { + function TouchableText() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, TouchableText); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TouchableText)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = _objectSpread({}, Touchable.Mixin.touchableGetInitialState(), { + isHighlighted: false, + createResponderHandlers: _this._createResponseHandlers.bind(_assertThisInitialized(_assertThisInitialized(_this))), + responseHandlers: null + }), _temp)); + } + + _createClass(TouchableText, [{ + key: "render", + value: function render() { + var props = this.props; + + if (isTouchable(props)) { + props = _objectSpread({}, props, this.state.responseHandlers, { + isHighlighted: this.state.isHighlighted + }); + } + + if (props.selectionColor != null) { + props = _objectSpread({}, props, { + selectionColor: processColor(props.selectionColor) + }); + } + + if (__DEV__) { + if (Touchable.TOUCH_TARGET_DEBUG && props.onPress != null) { + props = _objectSpread({}, props, { + style: [props.style, { + color: 'magenta' + }] + }); + } + } + + return React.createElement(TextAncestor.Consumer, { + __source: { + fileName: _jsxFileName, + lineNumber: 139 + } + }, function (hasTextAncestor) { + return hasTextAncestor ? React.createElement(RCTVirtualText, _extends({}, props, { + ref: props.forwardedRef, + __source: { + fileName: _jsxFileName, + lineNumber: 142 + } + })) : React.createElement(TextAncestor.Provider, { + value: true, + __source: { + fileName: _jsxFileName, + lineNumber: 144 + } + }, React.createElement(RCTText, _extends({}, props, { + ref: props.forwardedRef, + __source: { + fileName: _jsxFileName, + lineNumber: 145 + } + }))); + }); + } + }, { + key: "_createResponseHandlers", + value: function _createResponseHandlers() { + var _this2 = this; + + return { + onStartShouldSetResponder: function onStartShouldSetResponder() { + var onStartShouldSetResponder = _this2.props.onStartShouldSetResponder; + var shouldSetResponder = (onStartShouldSetResponder == null ? false : onStartShouldSetResponder()) || isTouchable(_this2.props); + + if (shouldSetResponder) { + _this2._attachTouchHandlers(); + } + + return shouldSetResponder; + }, + onResponderGrant: function onResponderGrant(event, dispatchID) { + nullthrows(_this2.touchableHandleResponderGrant)(event, dispatchID); + + if (_this2.props.onResponderGrant != null) { + _this2.props.onResponderGrant.call(_this2, event, dispatchID); + } + }, + onResponderMove: function onResponderMove(event) { + nullthrows(_this2.touchableHandleResponderMove)(event); + + if (_this2.props.onResponderMove != null) { + _this2.props.onResponderMove.call(_this2, event); + } + }, + onResponderRelease: function onResponderRelease(event) { + nullthrows(_this2.touchableHandleResponderRelease)(event); + + if (_this2.props.onResponderRelease != null) { + _this2.props.onResponderRelease.call(_this2, event); + } + }, + onResponderTerminate: function onResponderTerminate(event) { + nullthrows(_this2.touchableHandleResponderTerminate)(event); + + if (_this2.props.onResponderTerminate != null) { + _this2.props.onResponderTerminate.call(_this2, event); + } + }, + onResponderTerminationRequest: function onResponderTerminationRequest() { + var onResponderTerminationRequest = _this2.props.onResponderTerminationRequest; + + if (!nullthrows(_this2.touchableHandleResponderTerminationRequest)()) { + return false; + } + + if (onResponderTerminationRequest == null) { + return true; + } + + return onResponderTerminationRequest(); + } + }; + } + }, { + key: "_attachTouchHandlers", + value: function _attachTouchHandlers() { + var _this3 = this; + + if (this.touchableGetPressRectOffset != null) { + return; + } + + for (var key in Touchable.Mixin) { + if (typeof Touchable.Mixin[key] === 'function') { + this[key] = Touchable.Mixin[key].bind(this); + } + } + + this.touchableHandleActivePressIn = function () { + if (!_this3.props.suppressHighlighting && isTouchable(_this3.props)) { + _this3.setState({ + isHighlighted: true + }); + } + }; + + this.touchableHandleActivePressOut = function () { + if (!_this3.props.suppressHighlighting && isTouchable(_this3.props)) { + _this3.setState({ + isHighlighted: false + }); + } + }; + + this.touchableHandlePress = function (event) { + if (_this3.props.onPress != null) { + _this3.props.onPress(event); + } + }; + + this.touchableHandleLongPress = function (event) { + if (_this3.props.onLongPress != null) { + _this3.props.onLongPress(event); + } + }; + + this.touchableGetPressRectOffset = function () { + return _this3.props.pressRetentionOffset == null ? PRESS_RECT_OFFSET : _this3.props.pressRetentionOffset; + }; + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps, prevState) { + return prevState.responseHandlers == null && isTouchable(nextProps) ? _objectSpread({}, prevState, { + responseHandlers: prevState.createResponderHandlers() + }) : null; + } + }]); + + _inherits(TouchableText, _React$Component); + + return TouchableText; + }(React.Component); + + TouchableText.defaultProps = { + accessible: true, + allowFontScaling: true, + ellipsizeMode: 'tail' + }; + TouchableText.viewConfig = viewConfig; + TouchableText = _wrapComponent("TouchableText")(TouchableText); + + var isTouchable = function isTouchable(props) { + return props.onPress != null || props.onLongPress != null || props.onStartShouldSetResponder != null; + }; + + var RCTText = createReactNativeComponentClass(viewConfig.uiViewClassName, function () { + return viewConfig; + }); + var RCTVirtualText = UIManager.RCTVirtualText == null ? RCTText : createReactNativeComponentClass('RCTVirtualText', function () { + return { + validAttributes: _objectSpread({}, ReactNativeViewAttributes.UIView, { + isHighlighted: true + }), + uiViewClassName: 'RCTVirtualText' + }; + }); + var Text = React.forwardRef(function (props, ref) { + return React.createElement(TouchableText, _extends({}, props, { + forwardedRef: ref, + __source: { + fileName: _jsxFileName, + lineNumber: 266 + } + })); + }); + Text.displayName = 'Text'; + Text.propTypes = TextPropTypes; + module.exports = Text; +},252,[1,11,200,247,228,253,257,218,230,329,221],"node_modules/react-native/Libraries/Text/Text.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[1], 'EdgeInsetsPropType'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var StyleSheetPropType = _$$_REQUIRE(_dependencyMap[3], 'StyleSheetPropType'); + + var TextStylePropTypes = _$$_REQUIRE(_dependencyMap[4], 'TextStylePropTypes'); + + var stylePropType = StyleSheetPropType(TextStylePropTypes); + module.exports = { + ellipsizeMode: PropTypes.oneOf(['head', 'middle', 'tail', 'clip']), + numberOfLines: PropTypes.number, + textBreakStrategy: PropTypes.oneOf(['simple', 'highQuality', 'balanced']), + onLayout: PropTypes.func, + onPress: PropTypes.func, + onLongPress: PropTypes.func, + pressRetentionOffset: EdgeInsetsPropType, + selectable: PropTypes.bool, + selectionColor: ColorPropType, + suppressHighlighting: PropTypes.bool, + style: stylePropType, + testID: PropTypes.string, + nativeID: PropTypes.string, + allowFontScaling: PropTypes.bool, + accessible: PropTypes.bool, + adjustsFontSizeToFit: PropTypes.bool, + minimumFontScale: PropTypes.number, + disabled: PropTypes.bool + }; +},253,[207,254,212,255,219],"node_modules/react-native/Libraries/Text/TextPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var EdgeInsetsPropType = PropTypes.shape({ + top: PropTypes.number, + left: PropTypes.number, + bottom: PropTypes.number, + right: PropTypes.number + }); + module.exports = EdgeInsetsPropType; +},254,[212],"node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var createStrictShapeTypeChecker = _$$_REQUIRE(_dependencyMap[0], 'createStrictShapeTypeChecker'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[1], 'flattenStyle'); + + function StyleSheetPropType(shape) { + var shapePropType = createStrictShapeTypeChecker(shape); + return function (props, propName, componentName, location) { + var newProps = props; + + if (props[propName]) { + newProps = {}; + newProps[propName] = flattenStyle(props[propName]); + } + + for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { + rest[_key - 4] = arguments[_key]; + } + + return shapePropType.apply(void 0, [newProps, propName, componentName, location].concat(rest)); + }; + } + + module.exports = StyleSheetPropType; +},255,[256,226],"node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var merge = _$$_REQUIRE(_dependencyMap[1], 'merge'); + + function createStrictShapeTypeChecker(shapeTypes) { + function checkType(isRequired, props, propName, componentName, location) { + if (!props[propName]) { + if (isRequired) { + invariant(false, "Required object `" + propName + "` was not specified in " + ("`" + componentName + "`.")); + } + + return; + } + + var propValue = props[propName]; + var propType = typeof propValue; + var locationName = location || '(unknown)'; + + if (propType !== 'object') { + invariant(false, "Invalid " + locationName + " `" + propName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`.")); + } + + var allKeys = merge(props[propName], shapeTypes); + + for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { + rest[_key - 5] = arguments[_key]; + } + + for (var _key2 in allKeys) { + var checker = shapeTypes[_key2]; + + if (!checker) { + invariant(false, "Invalid props." + propName + " key `" + _key2 + "` supplied to `" + componentName + "`." + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')); + } + + var error = checker.apply(void 0, [propValue, _key2, componentName, location].concat(rest)); + + if (error) { + invariant(false, error.message + '\nBad object: ' + JSON.stringify(props[propName], null, ' ')); + } + } + } + + function chainedCheckType(props, propName, componentName, location) { + for (var _len2 = arguments.length, rest = new Array(_len2 > 4 ? _len2 - 4 : 0), _key3 = 4; _key3 < _len2; _key3++) { + rest[_key3 - 4] = arguments[_key3]; + } + + return checkType.apply(void 0, [false, props, propName, componentName, location].concat(rest)); + } + + chainedCheckType.isRequired = checkType.bind(null, true); + return chainedCheckType; + } + + module.exports = createStrictShapeTypeChecker; +},256,[166,248],"node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Touchable/Touchable.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var BoundingDimensions = _$$_REQUIRE(_dependencyMap[0], 'BoundingDimensions'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var Position = _$$_REQUIRE(_dependencyMap[2], 'Position'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[4], 'ReactNative'); + + var TVEventHandler = _$$_REQUIRE(_dependencyMap[5], 'TVEventHandler'); + + var TouchEventUtils = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/TouchEventUtils'); + + var UIManager = _$$_REQUIRE(_dependencyMap[7], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[8], 'View'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/keyMirror'); + + var normalizeColor = _$$_REQUIRE(_dependencyMap[10], 'normalizeColor'); + + var States = keyMirror({ + NOT_RESPONDER: null, + RESPONDER_INACTIVE_PRESS_IN: null, + RESPONDER_INACTIVE_PRESS_OUT: null, + RESPONDER_ACTIVE_PRESS_IN: null, + RESPONDER_ACTIVE_PRESS_OUT: null, + RESPONDER_ACTIVE_LONG_PRESS_IN: null, + RESPONDER_ACTIVE_LONG_PRESS_OUT: null, + ERROR: null + }); + var IsActive = { + RESPONDER_ACTIVE_PRESS_OUT: true, + RESPONDER_ACTIVE_PRESS_IN: true + }; + var IsPressingIn = { + RESPONDER_INACTIVE_PRESS_IN: true, + RESPONDER_ACTIVE_PRESS_IN: true, + RESPONDER_ACTIVE_LONG_PRESS_IN: true + }; + var IsLongPressingIn = { + RESPONDER_ACTIVE_LONG_PRESS_IN: true + }; + var Signals = keyMirror({ + DELAY: null, + RESPONDER_GRANT: null, + RESPONDER_RELEASE: null, + RESPONDER_TERMINATED: null, + ENTER_PRESS_RECT: null, + LEAVE_PRESS_RECT: null, + LONG_PRESS_DETECTED: null + }); + var Transitions = { + NOT_RESPONDER: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN, + RESPONDER_RELEASE: States.ERROR, + RESPONDER_TERMINATED: States.ERROR, + ENTER_PRESS_RECT: States.ERROR, + LEAVE_PRESS_RECT: States.ERROR, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_INACTIVE_PRESS_IN: { + DELAY: States.RESPONDER_ACTIVE_PRESS_IN, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_INACTIVE_PRESS_OUT: { + DELAY: States.RESPONDER_ACTIVE_PRESS_OUT, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_ACTIVE_PRESS_IN: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN + }, + RESPONDER_ACTIVE_PRESS_OUT: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_ACTIVE_LONG_PRESS_IN: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT, + LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN + }, + RESPONDER_ACTIVE_LONG_PRESS_OUT: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + error: { + DELAY: States.NOT_RESPONDER, + RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.NOT_RESPONDER, + LEAVE_PRESS_RECT: States.NOT_RESPONDER, + LONG_PRESS_DETECTED: States.NOT_RESPONDER + } + }; + var HIGHLIGHT_DELAY_MS = 130; + var PRESS_EXPAND_PX = 20; + var LONG_PRESS_THRESHOLD = 500; + var LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS; + var LONG_PRESS_ALLOWED_MOVEMENT = 10; + var TouchableMixin = { + componentDidMount: function componentDidMount() { + if (!Platform.isTV) { + return; + } + + this._tvEventHandler = new TVEventHandler(); + + this._tvEventHandler.enable(this, function (cmp, evt) { + var myTag = ReactNative.findNodeHandle(cmp); + evt.dispatchConfig = {}; + + if (myTag === evt.tag) { + if (evt.eventType === 'focus') { + cmp.touchableHandleActivePressIn && cmp.touchableHandleActivePressIn(evt); + } else if (evt.eventType === 'blur') { + cmp.touchableHandleActivePressOut && cmp.touchableHandleActivePressOut(evt); + } else if (evt.eventType === 'select') { + cmp.touchableHandlePress && !cmp.props.disabled && cmp.touchableHandlePress(evt); + } + } + }); + }, + componentWillUnmount: function componentWillUnmount() { + if (this._tvEventHandler) { + this._tvEventHandler.disable(); + + delete this._tvEventHandler; + } + + this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout); + this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout); + this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); + }, + touchableGetInitialState: function touchableGetInitialState() { + return { + touchable: { + touchState: undefined, + responderID: null + } + }; + }, + touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() { + return !this.props.rejectResponderTermination; + }, + touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() { + return !this.props.disabled; + }, + touchableLongPressCancelsPress: function touchableLongPressCancelsPress() { + return true; + }, + touchableHandleResponderGrant: function touchableHandleResponderGrant(e) { + var dispatchID = e.currentTarget; + e.persist(); + this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); + this.pressOutDelayTimeout = null; + this.state.touchable.touchState = States.NOT_RESPONDER; + this.state.touchable.responderID = dispatchID; + + this._receiveSignal(Signals.RESPONDER_GRANT, e); + + var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS; + delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS; + + if (delayMS !== 0) { + this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS); + } else { + this._handleDelay(e); + } + + var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS; + longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS; + this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS); + }, + touchableHandleResponderRelease: function touchableHandleResponderRelease(e) { + this._receiveSignal(Signals.RESPONDER_RELEASE, e); + }, + touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) { + this._receiveSignal(Signals.RESPONDER_TERMINATED, e); + }, + touchableHandleResponderMove: function touchableHandleResponderMove(e) { + if (this.state.touchable.touchState === States.RESPONDER_INACTIVE_PRESS_IN) { + return; + } + + if (!this.state.touchable.positionOnActivate) { + return; + } + + var positionOnActivate = this.state.touchable.positionOnActivate; + var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate; + var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : { + left: PRESS_EXPAND_PX, + right: PRESS_EXPAND_PX, + top: PRESS_EXPAND_PX, + bottom: PRESS_EXPAND_PX + }; + var pressExpandLeft = pressRectOffset.left; + var pressExpandTop = pressRectOffset.top; + var pressExpandRight = pressRectOffset.right; + var pressExpandBottom = pressRectOffset.bottom; + var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null; + + if (hitSlop) { + pressExpandLeft += hitSlop.left; + pressExpandTop += hitSlop.top; + pressExpandRight += hitSlop.right; + pressExpandBottom += hitSlop.bottom; + } + + var touch = TouchEventUtils.extractSingleTouch(e.nativeEvent); + var pageX = touch && touch.pageX; + var pageY = touch && touch.pageY; + + if (this.pressInLocation) { + var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY); + + if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) { + this._cancelLongPressDelayTimeout(); + } + } + + var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom; + + if (isTouchWithinActive) { + this._receiveSignal(Signals.ENTER_PRESS_RECT, e); + + var curState = this.state.touchable.touchState; + + if (curState === States.RESPONDER_INACTIVE_PRESS_IN) { + this._cancelLongPressDelayTimeout(); + } + } else { + this._cancelLongPressDelayTimeout(); + + this._receiveSignal(Signals.LEAVE_PRESS_RECT, e); + } + }, + _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() { + var tag = this.state.touchable.responderID; + + if (tag == null) { + return; + } + + UIManager.measure(tag, this._handleQueryLayout); + }, + _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) { + if (!l && !t && !w && !h && !globalX && !globalY) { + return; + } + + this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate); + this.state.touchable.dimensionsOnActivate && BoundingDimensions.release(this.state.touchable.dimensionsOnActivate); + this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY); + this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h); + }, + _handleDelay: function _handleDelay(e) { + this.touchableDelayTimeout = null; + + this._receiveSignal(Signals.DELAY, e); + }, + _handleLongDelay: function _handleLongDelay(e) { + this.longPressDelayTimeout = null; + var curState = this.state.touchable.touchState; + + if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) { + console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.'); + } else { + this._receiveSignal(Signals.LONG_PRESS_DETECTED, e); + } + }, + _receiveSignal: function _receiveSignal(signal, e) { + var responderID = this.state.touchable.responderID; + var curState = this.state.touchable.touchState; + var nextState = Transitions[curState] && Transitions[curState][signal]; + + if (!responderID && signal === Signals.RESPONDER_RELEASE) { + return; + } + + if (!nextState) { + throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`'); + } + + if (nextState === States.ERROR) { + throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`'); + } + + if (curState !== nextState) { + this._performSideEffectsForTransition(curState, nextState, signal, e); + + this.state.touchable.touchState = nextState; + } + }, + _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() { + this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout); + this.longPressDelayTimeout = null; + }, + _isHighlight: function _isHighlight(state) { + return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN; + }, + _savePressInLocation: function _savePressInLocation(e) { + var touch = TouchEventUtils.extractSingleTouch(e.nativeEvent); + var pageX = touch && touch.pageX; + var pageY = touch && touch.pageY; + var locationX = touch && touch.locationX; + var locationY = touch && touch.locationY; + this.pressInLocation = { + pageX: pageX, + pageY: pageY, + locationX: locationX, + locationY: locationY + }; + }, + _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) { + var deltaX = aX - bX; + var deltaY = aY - bY; + return Math.sqrt(deltaX * deltaX + deltaY * deltaY); + }, + _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) { + var curIsHighlight = this._isHighlight(curState); + + var newIsHighlight = this._isHighlight(nextState); + + var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE; + + if (isFinalSignal) { + this._cancelLongPressDelayTimeout(); + } + + if (!IsActive[curState] && IsActive[nextState]) { + this._remeasureMetricsOnActivation(); + } + + if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) { + this.touchableHandleLongPress && this.touchableHandleLongPress(e); + } + + if (newIsHighlight && !curIsHighlight) { + this._startHighlight(e); + } else if (!newIsHighlight && curIsHighlight) { + this._endHighlight(e); + } + + if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) { + var hasLongPressHandler = !!this.props.onLongPress; + var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); + var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress; + + if (shouldInvokePress && this.touchableHandlePress) { + if (!newIsHighlight && !curIsHighlight) { + this._startHighlight(e); + + this._endHighlight(e); + } + + if (Platform.OS === 'android') { + this._playTouchSound(); + } + + this.touchableHandlePress(e); + } + } + + this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout); + this.touchableDelayTimeout = null; + }, + _playTouchSound: function _playTouchSound() { + UIManager.playTouchSound(); + }, + _startHighlight: function _startHighlight(e) { + this._savePressInLocation(e); + + this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e); + }, + _endHighlight: function _endHighlight(e) { + var _this = this; + + if (this.touchableHandleActivePressOut) { + if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) { + this.pressOutDelayTimeout = setTimeout(function () { + _this.touchableHandleActivePressOut(e); + }, this.touchableGetPressOutDelayMS()); + } else { + this.touchableHandleActivePressOut(e); + } + } + } + }; + var Touchable = { + Mixin: TouchableMixin, + TOUCH_TARGET_DEBUG: false, + renderDebugView: function renderDebugView(_ref) { + var color = _ref.color, + hitSlop = _ref.hitSlop; + + if (!Touchable.TOUCH_TARGET_DEBUG) { + return null; + } + + if (!__DEV__) { + throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!'); + } + + var debugHitSlopStyle = {}; + hitSlop = hitSlop || { + top: 0, + bottom: 0, + left: 0, + right: 0 + }; + + for (var key in hitSlop) { + debugHitSlopStyle[key] = -hitSlop[key]; + } + + var hexColor = '#' + ('00000000' + normalizeColor(color).toString(16)).substr(-8); + return React.createElement(View, { + pointerEvents: "none", + style: _objectSpread({ + position: 'absolute', + borderColor: hexColor.slice(0, -2) + '55', + borderWidth: 1, + borderStyle: 'dashed', + backgroundColor: hexColor.slice(0, -2) + '0F' + }, debugHitSlopStyle), + __source: { + fileName: _jsxFileName, + lineNumber: 840 + } + }); + } + }; + module.exports = Touchable; +},257,[258,176,260,200,261,327,328,218,227,210,208],"node_modules/react-native/Libraries/Components/Touchable/Touchable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PooledClass = _$$_REQUIRE(_dependencyMap[0], 'PooledClass'); + + var twoArgumentPooler = PooledClass.twoArgumentPooler; + + function BoundingDimensions(width, height) { + this.width = width; + this.height = height; + } + + BoundingDimensions.prototype.destructor = function () { + this.width = null; + this.height = null; + }; + + BoundingDimensions.getPooledFromElement = function (element) { + return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight); + }; + + PooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler); + module.exports = BoundingDimensions; +},258,[259],"node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) { + var Klass = this; + + if (Klass.instancePool.length) { + var _instance = Klass.instancePool.pop(); + + Klass.call(_instance, copyFieldsFrom); + return _instance; + } else { + return new Klass(copyFieldsFrom); + } + }; + + var twoArgumentPooler = function twoArgumentPooler(a1, a2) { + var Klass = this; + + if (Klass.instancePool.length) { + var _instance2 = Klass.instancePool.pop(); + + Klass.call(_instance2, a1, a2); + return _instance2; + } else { + return new Klass(a1, a2); + } + }; + + var threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) { + var Klass = this; + + if (Klass.instancePool.length) { + var _instance3 = Klass.instancePool.pop(); + + Klass.call(_instance3, a1, a2, a3); + return _instance3; + } else { + return new Klass(a1, a2, a3); + } + }; + + var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) { + var Klass = this; + + if (Klass.instancePool.length) { + var _instance4 = Klass.instancePool.pop(); + + Klass.call(_instance4, a1, a2, a3, a4); + return _instance4; + } else { + return new Klass(a1, a2, a3, a4); + } + }; + + var standardReleaser = function standardReleaser(instance) { + var Klass = this; + invariant(instance instanceof Klass, 'Trying to release an instance into a pool of a different type.'); + instance.destructor(); + + if (Klass.instancePool.length < Klass.poolSize) { + Klass.instancePool.push(instance); + } + }; + + var DEFAULT_POOL_SIZE = 10; + var DEFAULT_POOLER = oneArgumentPooler; + + var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) { + var NewKlass = CopyConstructor; + NewKlass.instancePool = []; + NewKlass.getPooled = pooler || DEFAULT_POOLER; + + if (!NewKlass.poolSize) { + NewKlass.poolSize = DEFAULT_POOL_SIZE; + } + + NewKlass.release = standardReleaser; + return NewKlass; + }; + + var PooledClass = { + addPoolingTo: addPoolingTo, + oneArgumentPooler: oneArgumentPooler, + twoArgumentPooler: twoArgumentPooler, + threeArgumentPooler: threeArgumentPooler, + fourArgumentPooler: fourArgumentPooler + }; + module.exports = PooledClass; +},259,[166],"node_modules/react-native/Libraries/Components/Touchable/PooledClass.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PooledClass = _$$_REQUIRE(_dependencyMap[0], 'PooledClass'); + + var twoArgumentPooler = PooledClass.twoArgumentPooler; + + function Position(left, top) { + this.left = left; + this.top = top; + } + + Position.prototype.destructor = function () { + this.left = null; + this.top = null; + }; + + PooledClass.addPoolingTo(Position, twoArgumentPooler); + module.exports = Position; +},260,[259],"node_modules/react-native/Libraries/Components/Touchable/Position.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var ReactNative; + + if (__DEV__) { + ReactNative = _$$_REQUIRE(_dependencyMap[0], 'ReactNativeRenderer-dev'); + } else { + ReactNative = _$$_REQUIRE(_dependencyMap[1], 'ReactNativeRenderer-prod'); + } + + module.exports = ReactNative; +},261,[262,326],"node_modules/react-native/Libraries/Renderer/shims/ReactNative.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + if (__DEV__) { + (function () { + "use strict"; + + _$$_REQUIRE(_dependencyMap[0], "InitializeCore"); + + var invariant = _$$_REQUIRE(_dependencyMap[1], "fbjs/lib/invariant"); + + var warning = _$$_REQUIRE(_dependencyMap[2], "fbjs/lib/warning"); + + var ReactNativeViewConfigRegistry = _$$_REQUIRE(_dependencyMap[3], "ReactNativeViewConfigRegistry"); + + var UIManager = _$$_REQUIRE(_dependencyMap[4], "UIManager"); + + var RCTEventEmitter = _$$_REQUIRE(_dependencyMap[5], "RCTEventEmitter"); + + var React = _$$_REQUIRE(_dependencyMap[6], "react"); + + var emptyObject = _$$_REQUIRE(_dependencyMap[7], "fbjs/lib/emptyObject"); + + var deepFreezeAndThrowOnMutationInDev = _$$_REQUIRE(_dependencyMap[8], "deepFreezeAndThrowOnMutationInDev"); + + var deepDiffer = _$$_REQUIRE(_dependencyMap[9], "deepDiffer"); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[10], "flattenStyle"); + + var TextInputState = _$$_REQUIRE(_dependencyMap[11], "TextInputState"); + + var checkPropTypes = _$$_REQUIRE(_dependencyMap[12], "prop-types/checkPropTypes"); + + var ExceptionsManager = _$$_REQUIRE(_dependencyMap[13], "ExceptionsManager"); + + var invokeGuardedCallback = function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + this._hasCaughtError = false; + this._caughtError = null; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + try { + func.apply(context, funcArgs); + } catch (error) { + this._caughtError = error; + this._hasCaughtError = true; + } + }; + + { + if (typeof window !== "undefined" && typeof window.dispatchEvent === "function" && typeof document !== "undefined" && typeof document.createEvent === "function") { + var fakeNode = document.createElement("react"); + + var invokeGuardedCallbackDev = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) { + invariant(typeof document !== "undefined", "The `document` global was defined when React was initialized, but is not " + "defined anymore. This can happen in a test environment if a component " + "schedules an update from an asynchronous callback, but the test has already " + "finished running. To solve this, you can either unmount the component at " + "the end of your test (and ensure that any asynchronous operations get " + "canceled in `componentWillUnmount`), or you can change the test itself " + "to be asynchronous."); + var evt = document.createEvent("Event"); + var didError = true; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + function callCallback() { + fakeNode.removeEventListener(evtType, callCallback, false); + func.apply(context, funcArgs); + didError = false; + } + + var error = void 0; + var didSetError = false; + var isCrossOriginError = false; + + function onError(event) { + error = event.error; + didSetError = true; + + if (error === null && event.colno === 0 && event.lineno === 0) { + isCrossOriginError = true; + } + } + + var evtType = "react-" + (name ? name : "invokeguardedcallback"); + window.addEventListener("error", onError); + fakeNode.addEventListener(evtType, callCallback, false); + evt.initEvent(evtType, false, false); + fakeNode.dispatchEvent(evt); + + if (didError) { + if (!didSetError) { + error = new Error("An error was thrown inside one of your components, but React " + "doesn't know what it was. This is likely due to browser " + 'flakiness. React does its best to preserve the "Pause on ' + 'exceptions" behavior of the DevTools, which requires some ' + "DEV-mode only tricks. It's possible that these don't work in " + "your browser. Try triggering the error in production mode, " + "or switching to a modern browser. If you suspect that this is " + "actually an issue with React, please file an issue."); + } else if (isCrossOriginError) { + error = new Error("A cross-origin error was thrown. React doesn't have access to " + "the actual error object in development. " + "See https://fb.me/react-crossorigin-error for more information."); + } + + this._hasCaughtError = true; + this._caughtError = error; + } else { + this._hasCaughtError = false; + this._caughtError = null; + } + + window.removeEventListener("error", onError); + }; + + invokeGuardedCallback = invokeGuardedCallbackDev; + } + } + var invokeGuardedCallback$1 = invokeGuardedCallback; + var ReactErrorUtils = { + _caughtError: null, + _hasCaughtError: false, + _rethrowError: null, + _hasRethrowError: false, + invokeGuardedCallback: function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + invokeGuardedCallback$1.apply(ReactErrorUtils, arguments); + }, + invokeGuardedCallbackAndCatchFirstError: function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { + ReactErrorUtils.invokeGuardedCallback.apply(this, arguments); + + if (ReactErrorUtils.hasCaughtError()) { + var error = ReactErrorUtils.clearCaughtError(); + + if (!ReactErrorUtils._hasRethrowError) { + ReactErrorUtils._hasRethrowError = true; + ReactErrorUtils._rethrowError = error; + } + } + }, + rethrowCaughtError: function rethrowCaughtError() { + return _rethrowCaughtError.apply(ReactErrorUtils, arguments); + }, + hasCaughtError: function hasCaughtError() { + return ReactErrorUtils._hasCaughtError; + }, + clearCaughtError: function clearCaughtError() { + if (ReactErrorUtils._hasCaughtError) { + var error = ReactErrorUtils._caughtError; + ReactErrorUtils._caughtError = null; + ReactErrorUtils._hasCaughtError = false; + return error; + } else { + invariant(false, "clearCaughtError was called but no error was captured. This error " + "is likely caused by a bug in React. Please file an issue."); + } + } + }; + + var _rethrowCaughtError = function _rethrowCaughtError() { + if (ReactErrorUtils._hasRethrowError) { + var error = ReactErrorUtils._rethrowError; + ReactErrorUtils._rethrowError = null; + ReactErrorUtils._hasRethrowError = false; + throw error; + } + }; + + var eventPluginOrder = null; + var namesToPlugins = {}; + + function recomputePluginOrdering() { + if (!eventPluginOrder) { + return; + } + + for (var pluginName in namesToPlugins) { + var pluginModule = namesToPlugins[pluginName]; + var pluginIndex = eventPluginOrder.indexOf(pluginName); + invariant(pluginIndex > -1, "EventPluginRegistry: Cannot inject event plugins that do not exist in " + "the plugin ordering, `%s`.", pluginName); + + if (plugins[pluginIndex]) { + continue; + } + + invariant(pluginModule.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` " + "method, but `%s` does not.", pluginName); + plugins[pluginIndex] = pluginModule; + var publishedEvents = pluginModule.eventTypes; + + for (var eventName in publishedEvents) { + invariant(publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName), "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", eventName, pluginName); + } + } + } + + function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { + invariant(!eventNameDispatchConfigs.hasOwnProperty(eventName), "EventPluginHub: More than one plugin attempted to publish the same " + "event name, `%s`.", eventName); + eventNameDispatchConfigs[eventName] = dispatchConfig; + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + + if (phasedRegistrationNames) { + for (var phaseName in phasedRegistrationNames) { + if (phasedRegistrationNames.hasOwnProperty(phaseName)) { + var phasedRegistrationName = phasedRegistrationNames[phaseName]; + publishRegistrationName(phasedRegistrationName, pluginModule, eventName); + } + } + + return true; + } else if (dispatchConfig.registrationName) { + publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); + return true; + } + + return false; + } + + function publishRegistrationName(registrationName, pluginModule, eventName) { + invariant(!registrationNameModules[registrationName], "EventPluginHub: More than one plugin attempted to publish the same " + "registration name, `%s`.", registrationName); + registrationNameModules[registrationName] = pluginModule; + registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; + { + var lowerCasedName = registrationName.toLowerCase(); + } + } + + var plugins = []; + var eventNameDispatchConfigs = {}; + var registrationNameModules = {}; + var registrationNameDependencies = {}; + + function injectEventPluginOrder(injectedEventPluginOrder) { + invariant(!eventPluginOrder, "EventPluginRegistry: Cannot inject event plugin ordering more than " + "once. You are likely trying to load more than one copy of React."); + eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); + recomputePluginOrdering(); + } + + function injectEventPluginsByName(injectedNamesToPlugins) { + var isOrderingDirty = false; + + for (var pluginName in injectedNamesToPlugins) { + if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { + continue; + } + + var pluginModule = injectedNamesToPlugins[pluginName]; + + if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { + invariant(!namesToPlugins[pluginName], "EventPluginRegistry: Cannot inject two different event plugins " + "using the same name, `%s`.", pluginName); + namesToPlugins[pluginName] = pluginModule; + isOrderingDirty = true; + } + } + + if (isOrderingDirty) { + recomputePluginOrdering(); + } + } + + var getFiberCurrentPropsFromNode = null; + var getInstanceFromNode = null; + var getNodeFromInstance = null; + var injection$1 = { + injectComponentTree: function injectComponentTree(Injected) { + getFiberCurrentPropsFromNode = Injected.getFiberCurrentPropsFromNode; + getInstanceFromNode = Injected.getInstanceFromNode; + getNodeFromInstance = Injected.getNodeFromInstance; + { + !(getNodeFromInstance && getInstanceFromNode) ? warning(false, "EventPluginUtils.injection.injectComponentTree(...): Injected " + "module is missing getNodeFromInstance or getInstanceFromNode.") : void 0; + } + } + }; + var validateEventDispatches = void 0; + { + validateEventDispatches = function validateEventDispatches(event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + var listenersIsArr = Array.isArray(dispatchListeners); + var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; + var instancesIsArr = Array.isArray(dispatchInstances); + var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; + !(instancesIsArr === listenersIsArr && instancesLen === listenersLen) ? warning(false, "EventPluginUtils: Invalid `event`.") : void 0; + }; + } + + function executeDispatch(event, simulated, listener, inst) { + var type = event.type || "unknown-event"; + event.currentTarget = getNodeFromInstance(inst); + ReactErrorUtils.invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event); + event.currentTarget = null; + } + + function executeDispatchesInOrder(event, simulated) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + { + validateEventDispatches(event); + } + + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + + executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); + } + } else if (dispatchListeners) { + executeDispatch(event, simulated, dispatchListeners, dispatchInstances); + } + + event._dispatchListeners = null; + event._dispatchInstances = null; + } + + function executeDispatchesInOrderStopAtTrueImpl(event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + { + validateEventDispatches(event); + } + + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + + if (dispatchListeners[i](event, dispatchInstances[i])) { + return dispatchInstances[i]; + } + } + } else if (dispatchListeners) { + if (dispatchListeners(event, dispatchInstances)) { + return dispatchInstances; + } + } + + return null; + } + + function executeDispatchesInOrderStopAtTrue(event) { + var ret = executeDispatchesInOrderStopAtTrueImpl(event); + event._dispatchInstances = null; + event._dispatchListeners = null; + return ret; + } + + function executeDirectDispatch(event) { + { + validateEventDispatches(event); + } + var dispatchListener = event._dispatchListeners; + var dispatchInstance = event._dispatchInstances; + invariant(!Array.isArray(dispatchListener), "executeDirectDispatch(...): Invalid `event`."); + event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null; + var res = dispatchListener ? dispatchListener(event) : null; + event.currentTarget = null; + event._dispatchListeners = null; + event._dispatchInstances = null; + return res; + } + + function hasDispatches(event) { + return !!event._dispatchListeners; + } + + function accumulateInto(current, next) { + invariant(next != null, "accumulateInto(...): Accumulated items must not be null or undefined."); + + if (current == null) { + return next; + } + + if (Array.isArray(current)) { + if (Array.isArray(next)) { + current.push.apply(current, next); + return current; + } + + current.push(next); + return current; + } + + if (Array.isArray(next)) { + return [current].concat(next); + } + + return [current, next]; + } + + function forEachAccumulated(arr, cb, scope) { + if (Array.isArray(arr)) { + arr.forEach(cb, scope); + } else if (arr) { + cb.call(scope, arr); + } + } + + var eventQueue = null; + + var executeDispatchesAndRelease = function executeDispatchesAndRelease(event, simulated) { + if (event) { + executeDispatchesInOrder(event, simulated); + + if (!event.isPersistent()) { + event.constructor.release(event); + } + } + }; + + var executeDispatchesAndReleaseSimulated = function executeDispatchesAndReleaseSimulated(e) { + return executeDispatchesAndRelease(e, true); + }; + + var executeDispatchesAndReleaseTopLevel = function executeDispatchesAndReleaseTopLevel(e) { + return executeDispatchesAndRelease(e, false); + }; + + function isInteractive(tag) { + return tag === "button" || tag === "input" || tag === "select" || tag === "textarea"; + } + + function shouldPreventMouseEvent(name, type, props) { + switch (name) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + return !!(props.disabled && isInteractive(type)); + + default: + return false; + } + } + + var injection = { + injectEventPluginOrder: injectEventPluginOrder, + injectEventPluginsByName: injectEventPluginsByName + }; + + function getListener(inst, registrationName) { + var listener = void 0; + var stateNode = inst.stateNode; + + if (!stateNode) { + return null; + } + + var props = getFiberCurrentPropsFromNode(stateNode); + + if (!props) { + return null; + } + + listener = props[registrationName]; + + if (shouldPreventMouseEvent(registrationName, inst.type, props)) { + return null; + } + + invariant(!listener || typeof listener === "function", "Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); + return listener; + } + + function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var events = null; + + for (var i = 0; i < plugins.length; i++) { + var possiblePlugin = plugins[i]; + + if (possiblePlugin) { + var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); + + if (extractedEvents) { + events = accumulateInto(events, extractedEvents); + } + } + } + + return events; + } + + function runEventsInBatch(events, simulated) { + if (events !== null) { + eventQueue = accumulateInto(eventQueue, events); + } + + var processingEventQueue = eventQueue; + eventQueue = null; + + if (!processingEventQueue) { + return; + } + + if (simulated) { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); + } else { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); + } + + invariant(!eventQueue, "processEventQueue(): Additional events were enqueued while processing " + "an event queue. Support for this has not yet been implemented."); + ReactErrorUtils.rethrowCaughtError(); + } + + function runExtractedEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var events = extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); + runEventsInBatch(events, false); + } + + var IndeterminateComponent = 0; + var FunctionalComponent = 1; + var ClassComponent = 2; + var HostRoot = 3; + var HostPortal = 4; + var HostComponent = 5; + var HostText = 6; + var Fragment = 10; + var Mode = 11; + var ContextConsumer = 12; + var ContextProvider = 13; + var ForwardRef = 14; + var Profiler = 15; + var TimeoutComponent = 16; + + function getParent(inst) { + do { + inst = inst.return; + } while (inst && inst.tag !== HostComponent); + + if (inst) { + return inst; + } + + return null; + } + + function getLowestCommonAncestor(instA, instB) { + var depthA = 0; + + for (var tempA = instA; tempA; tempA = getParent(tempA)) { + depthA++; + } + + var depthB = 0; + + for (var tempB = instB; tempB; tempB = getParent(tempB)) { + depthB++; + } + + while (depthA - depthB > 0) { + instA = getParent(instA); + depthA--; + } + + while (depthB - depthA > 0) { + instB = getParent(instB); + depthB--; + } + + var depth = depthA; + + while (depth--) { + if (instA === instB || instA === instB.alternate) { + return instA; + } + + instA = getParent(instA); + instB = getParent(instB); + } + + return null; + } + + function isAncestor(instA, instB) { + while (instB) { + if (instA === instB || instA === instB.alternate) { + return true; + } + + instB = getParent(instB); + } + + return false; + } + + function getParentInstance(inst) { + return getParent(inst); + } + + function traverseTwoPhase(inst, fn, arg) { + var path = []; + + while (inst) { + path.push(inst); + inst = getParent(inst); + } + + var i = void 0; + + for (i = path.length; i-- > 0;) { + fn(path[i], "captured", arg); + } + + for (i = 0; i < path.length; i++) { + fn(path[i], "bubbled", arg); + } + } + + function listenerAtPhase(inst, event, propagationPhase) { + var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; + return getListener(inst, registrationName); + } + + function accumulateDirectionalDispatches(inst, phase, event) { + { + !inst ? warning(false, "Dispatching inst must not be null") : void 0; + } + var listener = listenerAtPhase(inst, event, phase); + + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + + function accumulateTwoPhaseDispatchesSingle(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + var targetInst = event._targetInst; + var parentInst = targetInst ? getParentInstance(targetInst) : null; + traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateDispatches(inst, ignoredDirection, event) { + if (inst && event && event.dispatchConfig.registrationName) { + var registrationName = event.dispatchConfig.registrationName; + var listener = getListener(inst, registrationName); + + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + } + + function accumulateDirectDispatchesSingle(event) { + if (event && event.dispatchConfig.registrationName) { + accumulateDispatches(event._targetInst, null, event); + } + } + + function accumulateTwoPhaseDispatches(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); + } + + function accumulateTwoPhaseDispatchesSkipTarget(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); + } + + function accumulateDirectDispatches(events) { + forEachAccumulated(events, accumulateDirectDispatchesSingle); + } + + var didWarnForAddedNewProperty = false; + var EVENT_POOL_SIZE = 10; + var shouldBeReleasedProperties = ["dispatchConfig", "_targetInst", "nativeEvent", "isDefaultPrevented", "isPropagationStopped", "_dispatchListeners", "_dispatchInstances"]; + var EventInterface = { + type: null, + target: null, + currentTarget: function currentTarget() { + return null; + }, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function timeStamp(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }; + + function functionThatReturnsTrue() { + return true; + } + + function functionThatReturnsFalse() { + return false; + } + + function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { + { + delete this.nativeEvent; + delete this.preventDefault; + delete this.stopPropagation; + } + this.dispatchConfig = dispatchConfig; + this._targetInst = targetInst; + this.nativeEvent = nativeEvent; + var Interface = this.constructor.Interface; + + for (var propName in Interface) { + if (!Interface.hasOwnProperty(propName)) { + continue; + } + + { + delete this[propName]; + } + var normalize = Interface[propName]; + + if (normalize) { + this[propName] = normalize(nativeEvent); + } else { + if (propName === "target") { + this.target = nativeEventTarget; + } else { + this[propName] = nativeEvent[propName]; + } + } + } + + var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; + + if (defaultPrevented) { + this.isDefaultPrevented = functionThatReturnsTrue; + } else { + this.isDefaultPrevented = functionThatReturnsFalse; + } + + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + + _extends(SyntheticEvent.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = true; + var event = this.nativeEvent; + + if (!event) { + return; + } + + if (event.preventDefault) { + event.preventDefault(); + } else if (typeof event.returnValue !== "unknown") { + event.returnValue = false; + } + + this.isDefaultPrevented = functionThatReturnsTrue; + }, + stopPropagation: function stopPropagation() { + var event = this.nativeEvent; + + if (!event) { + return; + } + + if (event.stopPropagation) { + event.stopPropagation(); + } else if (typeof event.cancelBubble !== "unknown") { + event.cancelBubble = true; + } + + this.isPropagationStopped = functionThatReturnsTrue; + }, + persist: function persist() { + this.isPersistent = functionThatReturnsTrue; + }, + isPersistent: functionThatReturnsFalse, + destructor: function destructor() { + var Interface = this.constructor.Interface; + + for (var propName in Interface) { + { + Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); + } + } + + for (var i = 0; i < shouldBeReleasedProperties.length; i++) { + this[shouldBeReleasedProperties[i]] = null; + } + + { + Object.defineProperty(this, "nativeEvent", getPooledWarningPropertyDefinition("nativeEvent", null)); + Object.defineProperty(this, "preventDefault", getPooledWarningPropertyDefinition("preventDefault", function () {})); + Object.defineProperty(this, "stopPropagation", getPooledWarningPropertyDefinition("stopPropagation", function () {})); + } + } + }); + + SyntheticEvent.Interface = EventInterface; + + SyntheticEvent.extend = function (Interface) { + var Super = this; + + var E = function E() {}; + + E.prototype = Super.prototype; + var prototype = new E(); + + function Class() { + return Super.apply(this, arguments); + } + + _extends(prototype, Class.prototype); + + Class.prototype = prototype; + Class.prototype.constructor = Class; + Class.Interface = _extends({}, Super.Interface, Interface); + Class.extend = Super.extend; + addEventPoolingTo(Class); + return Class; + }; + + { + var isProxySupported = typeof Proxy === "function" && !Object.isSealed(new Proxy({}, {})); + + if (isProxySupported) { + SyntheticEvent = new Proxy(SyntheticEvent, { + construct: function construct(target, args) { + return this.apply(target, Object.create(target.prototype), args); + }, + apply: function apply(constructor, that, args) { + return new Proxy(constructor.apply(that, args), { + set: function set(target, prop, value) { + if (prop !== "isPersistent" && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { + !(didWarnForAddedNewProperty || target.isPersistent()) ? warning(false, "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + "The property is never released. See " + "https://fb.me/react-event-pooling for more information.") : void 0; + didWarnForAddedNewProperty = true; + } + + target[prop] = value; + return true; + } + }); + } + }); + } + } + addEventPoolingTo(SyntheticEvent); + + function getPooledWarningPropertyDefinition(propName, getVal) { + var isFunction = typeof getVal === "function"; + return { + configurable: true, + set: set, + get: get$$1 + }; + + function set(val) { + var action = isFunction ? "setting the method" : "setting the property"; + warn(action, "This is effectively a no-op"); + return val; + } + + function get$$1() { + var action = isFunction ? "accessing the method" : "accessing the property"; + var result = isFunction ? "This is a no-op function" : "This is set to null"; + warn(action, result); + return getVal; + } + + function warn(action, result) { + var warningCondition = false; + !warningCondition ? warning(false, "This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + "If you must keep the original synthetic event around, use event.persist(). " + "See https://fb.me/react-event-pooling for more information.", action, propName, result) : void 0; + } + } + + function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { + var EventConstructor = this; + + if (EventConstructor.eventPool.length) { + var instance = EventConstructor.eventPool.pop(); + EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); + return instance; + } + + return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst); + } + + function releasePooledEvent(event) { + var EventConstructor = this; + invariant(event instanceof EventConstructor, "Trying to release an event instance into a pool of a different type."); + event.destructor(); + + if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) { + EventConstructor.eventPool.push(event); + } + } + + function addEventPoolingTo(EventConstructor) { + EventConstructor.eventPool = []; + EventConstructor.getPooled = getPooledEvent; + EventConstructor.release = releasePooledEvent; + } + + var SyntheticEvent$1 = SyntheticEvent; + var ResponderSyntheticEvent = SyntheticEvent$1.extend({ + touchHistory: function touchHistory(nativeEvent) { + return null; + } + }); + var TOP_TOUCH_START = "topTouchStart"; + var TOP_TOUCH_MOVE = "topTouchMove"; + var TOP_TOUCH_END = "topTouchEnd"; + var TOP_TOUCH_CANCEL = "topTouchCancel"; + var TOP_SCROLL = "topScroll"; + var TOP_SELECTION_CHANGE = "topSelectionChange"; + + function isStartish(topLevelType) { + return topLevelType === TOP_TOUCH_START; + } + + function isMoveish(topLevelType) { + return topLevelType === TOP_TOUCH_MOVE; + } + + function isEndish(topLevelType) { + return topLevelType === TOP_TOUCH_END || topLevelType === TOP_TOUCH_CANCEL; + } + + var startDependencies = [TOP_TOUCH_START]; + var moveDependencies = [TOP_TOUCH_MOVE]; + var endDependencies = [TOP_TOUCH_CANCEL, TOP_TOUCH_END]; + var MAX_TOUCH_BANK = 20; + var touchBank = []; + var touchHistory = { + touchBank: touchBank, + numberActiveTouches: 0, + indexOfSingleActiveTouch: -1, + mostRecentTimeStamp: 0 + }; + + function timestampForTouch(touch) { + return touch.timeStamp || touch.timestamp; + } + + function createTouchRecord(touch) { + return { + touchActive: true, + startPageX: touch.pageX, + startPageY: touch.pageY, + startTimeStamp: timestampForTouch(touch), + currentPageX: touch.pageX, + currentPageY: touch.pageY, + currentTimeStamp: timestampForTouch(touch), + previousPageX: touch.pageX, + previousPageY: touch.pageY, + previousTimeStamp: timestampForTouch(touch) + }; + } + + function resetTouchRecord(touchRecord, touch) { + touchRecord.touchActive = true; + touchRecord.startPageX = touch.pageX; + touchRecord.startPageY = touch.pageY; + touchRecord.startTimeStamp = timestampForTouch(touch); + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchRecord.previousPageX = touch.pageX; + touchRecord.previousPageY = touch.pageY; + touchRecord.previousTimeStamp = timestampForTouch(touch); + } + + function getTouchIdentifier(_ref) { + var identifier = _ref.identifier; + invariant(identifier != null, "Touch object is missing identifier."); + { + !(identifier <= MAX_TOUCH_BANK) ? warning(false, "Touch identifier %s is greater than maximum supported %s which causes " + "performance issues backfilling array locations for all of the indices.", identifier, MAX_TOUCH_BANK) : void 0; + } + return identifier; + } + + function recordTouchStart(touch) { + var identifier = getTouchIdentifier(touch); + var touchRecord = touchBank[identifier]; + + if (touchRecord) { + resetTouchRecord(touchRecord, touch); + } else { + touchBank[identifier] = createTouchRecord(touch); + } + + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } + + function recordTouchMove(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + + if (touchRecord) { + touchRecord.touchActive = true; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.error("Cannot record touch move without a touch start.\n" + "Touch Move: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + } + + function recordTouchEnd(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + + if (touchRecord) { + touchRecord.touchActive = false; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.error("Cannot record touch end without a touch start.\n" + "Touch End: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + } + + function printTouch(touch) { + return JSON.stringify({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY, + timestamp: timestampForTouch(touch) + }); + } + + function printTouchBank() { + var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK)); + + if (touchBank.length > MAX_TOUCH_BANK) { + printed += " (original size: " + touchBank.length + ")"; + } + + return printed; + } + + var ResponderTouchHistoryStore = { + recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) { + if (isMoveish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchMove); + } else if (isStartish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchStart); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + + if (touchHistory.numberActiveTouches === 1) { + touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier; + } + } else if (isEndish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchEnd); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + + if (touchHistory.numberActiveTouches === 1) { + for (var i = 0; i < touchBank.length; i++) { + var touchTrackToCheck = touchBank[i]; + + if (touchTrackToCheck != null && touchTrackToCheck.touchActive) { + touchHistory.indexOfSingleActiveTouch = i; + break; + } + } + + { + var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch]; + !(activeRecord != null && activeRecord.touchActive) ? warning(false, "Cannot find single active touch.") : void 0; + } + } + } + }, + touchHistory: touchHistory + }; + + function accumulate(current, next) { + invariant(next != null, "accumulate(...): Accumulated items must be not be null or undefined."); + + if (current == null) { + return next; + } + + if (Array.isArray(current)) { + return current.concat(next); + } + + if (Array.isArray(next)) { + return [current].concat(next); + } + + return [current, next]; + } + + var responderInst = null; + var trackedTouchCount = 0; + + var changeResponder = function changeResponder(nextResponderInst, blockHostResponder) { + var oldResponderInst = responderInst; + responderInst = nextResponderInst; + + if (ResponderEventPlugin.GlobalResponderHandler !== null) { + ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder); + } + }; + + var eventTypes$1 = { + startShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onStartShouldSetResponder", + captured: "onStartShouldSetResponderCapture" + }, + dependencies: startDependencies + }, + scrollShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onScrollShouldSetResponder", + captured: "onScrollShouldSetResponderCapture" + }, + dependencies: [TOP_SCROLL] + }, + selectionChangeShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onSelectionChangeShouldSetResponder", + captured: "onSelectionChangeShouldSetResponderCapture" + }, + dependencies: [TOP_SELECTION_CHANGE] + }, + moveShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onMoveShouldSetResponder", + captured: "onMoveShouldSetResponderCapture" + }, + dependencies: moveDependencies + }, + responderStart: { + registrationName: "onResponderStart", + dependencies: startDependencies + }, + responderMove: { + registrationName: "onResponderMove", + dependencies: moveDependencies + }, + responderEnd: { + registrationName: "onResponderEnd", + dependencies: endDependencies + }, + responderRelease: { + registrationName: "onResponderRelease", + dependencies: endDependencies + }, + responderTerminationRequest: { + registrationName: "onResponderTerminationRequest", + dependencies: [] + }, + responderGrant: { + registrationName: "onResponderGrant", + dependencies: [] + }, + responderReject: { + registrationName: "onResponderReject", + dependencies: [] + }, + responderTerminate: { + registrationName: "onResponderTerminate", + dependencies: [] + } + }; + + function setResponderAndExtractTransfer(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var shouldSetEventType = isStartish(topLevelType) ? eventTypes$1.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes$1.moveShouldSetResponder : topLevelType === TOP_SELECTION_CHANGE ? eventTypes$1.selectionChangeShouldSetResponder : eventTypes$1.scrollShouldSetResponder; + var bubbleShouldSetFrom = !responderInst ? targetInst : getLowestCommonAncestor(responderInst, targetInst); + var skipOverBubbleShouldSetFrom = bubbleShouldSetFrom === responderInst; + var shouldSetEvent = ResponderSyntheticEvent.getPooled(shouldSetEventType, bubbleShouldSetFrom, nativeEvent, nativeEventTarget); + shouldSetEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + + if (skipOverBubbleShouldSetFrom) { + accumulateTwoPhaseDispatchesSkipTarget(shouldSetEvent); + } else { + accumulateTwoPhaseDispatches(shouldSetEvent); + } + + var wantsResponderInst = executeDispatchesInOrderStopAtTrue(shouldSetEvent); + + if (!shouldSetEvent.isPersistent()) { + shouldSetEvent.constructor.release(shouldSetEvent); + } + + if (!wantsResponderInst || wantsResponderInst === responderInst) { + return null; + } + + var extracted = void 0; + var grantEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderGrant, wantsResponderInst, nativeEvent, nativeEventTarget); + grantEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(grantEvent); + var blockHostResponder = executeDirectDispatch(grantEvent) === true; + + if (responderInst) { + var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget); + terminationRequestEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(terminationRequestEvent); + var shouldSwitch = !hasDispatches(terminationRequestEvent) || executeDirectDispatch(terminationRequestEvent); + + if (!terminationRequestEvent.isPersistent()) { + terminationRequestEvent.constructor.release(terminationRequestEvent); + } + + if (shouldSwitch) { + var terminateEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminate, responderInst, nativeEvent, nativeEventTarget); + terminateEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(terminateEvent); + extracted = accumulate(extracted, [grantEvent, terminateEvent]); + changeResponder(wantsResponderInst, blockHostResponder); + } else { + var rejectEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderReject, wantsResponderInst, nativeEvent, nativeEventTarget); + rejectEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(rejectEvent); + extracted = accumulate(extracted, rejectEvent); + } + } else { + extracted = accumulate(extracted, grantEvent); + changeResponder(wantsResponderInst, blockHostResponder); + } + + return extracted; + } + + function canTriggerTransfer(topLevelType, topLevelInst, nativeEvent) { + return topLevelInst && (topLevelType === TOP_SCROLL && !nativeEvent.responderIgnoreScroll || trackedTouchCount > 0 && topLevelType === TOP_SELECTION_CHANGE || isStartish(topLevelType) || isMoveish(topLevelType)); + } + + function noResponderTouches(nativeEvent) { + var touches = nativeEvent.touches; + + if (!touches || touches.length === 0) { + return true; + } + + for (var i = 0; i < touches.length; i++) { + var activeTouch = touches[i]; + var target = activeTouch.target; + + if (target !== null && target !== undefined && target !== 0) { + var targetInst = getInstanceFromNode(target); + + if (isAncestor(responderInst, targetInst)) { + return false; + } + } + } + + return true; + } + + var ResponderEventPlugin = { + _getResponder: function _getResponder() { + return responderInst; + }, + eventTypes: eventTypes$1, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (isStartish(topLevelType)) { + trackedTouchCount += 1; + } else if (isEndish(topLevelType)) { + if (trackedTouchCount >= 0) { + trackedTouchCount -= 1; + } else { + console.error("Ended a touch event which was not counted in `trackedTouchCount`."); + return null; + } + } + + ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent); + var extracted = canTriggerTransfer(topLevelType, targetInst, nativeEvent) ? setResponderAndExtractTransfer(topLevelType, targetInst, nativeEvent, nativeEventTarget) : null; + var isResponderTouchStart = responderInst && isStartish(topLevelType); + var isResponderTouchMove = responderInst && isMoveish(topLevelType); + var isResponderTouchEnd = responderInst && isEndish(topLevelType); + var incrementalTouch = isResponderTouchStart ? eventTypes$1.responderStart : isResponderTouchMove ? eventTypes$1.responderMove : isResponderTouchEnd ? eventTypes$1.responderEnd : null; + + if (incrementalTouch) { + var gesture = ResponderSyntheticEvent.getPooled(incrementalTouch, responderInst, nativeEvent, nativeEventTarget); + gesture.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(gesture); + extracted = accumulate(extracted, gesture); + } + + var isResponderTerminate = responderInst && topLevelType === TOP_TOUCH_CANCEL; + var isResponderRelease = responderInst && !isResponderTerminate && isEndish(topLevelType) && noResponderTouches(nativeEvent); + var finalTouch = isResponderTerminate ? eventTypes$1.responderTerminate : isResponderRelease ? eventTypes$1.responderRelease : null; + + if (finalTouch) { + var finalEvent = ResponderSyntheticEvent.getPooled(finalTouch, responderInst, nativeEvent, nativeEventTarget); + finalEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(finalEvent); + extracted = accumulate(extracted, finalEvent); + changeResponder(null); + } + + return extracted; + }, + GlobalResponderHandler: null, + injection: { + injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) { + ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler; + } + } + }; + var customBubblingEventTypes$1 = ReactNativeViewConfigRegistry.customBubblingEventTypes; + var customDirectEventTypes$1 = ReactNativeViewConfigRegistry.customDirectEventTypes; + var eventTypes$2 = ReactNativeViewConfigRegistry.eventTypes; + var ReactNativeBridgeEventPlugin = { + eventTypes: eventTypes$2, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (targetInst == null) { + return null; + } + + var bubbleDispatchConfig = customBubblingEventTypes$1[topLevelType]; + var directDispatchConfig = customDirectEventTypes$1[topLevelType]; + invariant(bubbleDispatchConfig || directDispatchConfig, 'Unsupported top level event type "%s" dispatched', topLevelType); + var event = SyntheticEvent$1.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget); + + if (bubbleDispatchConfig) { + accumulateTwoPhaseDispatches(event); + } else if (directDispatchConfig) { + accumulateDirectDispatches(event); + } else { + return null; + } + + return event; + } + }; + var ReactNativeEventPluginOrder = ["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]; + injection.injectEventPluginOrder(ReactNativeEventPluginOrder); + injection.injectEventPluginsByName({ + ResponderEventPlugin: ResponderEventPlugin, + ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin + }); + var instanceCache = {}; + var instanceProps = {}; + + function precacheFiberNode(hostInst, tag) { + instanceCache[tag] = hostInst; + } + + function uncacheFiberNode(tag) { + delete instanceCache[tag]; + delete instanceProps[tag]; + } + + function getInstanceFromTag(tag) { + return instanceCache[tag] || null; + } + + function getTagFromInstance(inst) { + var tag = inst.stateNode._nativeTag; + + if (tag === undefined) { + tag = inst.stateNode.canonical._nativeTag; + } + + invariant(tag, "All native instances should have a tag."); + return tag; + } + + function getFiberCurrentPropsFromNode$1(stateNode) { + return instanceProps[stateNode._nativeTag] || null; + } + + function updateFiberProps(tag, props) { + instanceProps[tag] = props; + } + + var ReactNativeComponentTree = Object.freeze({ + precacheFiberNode: precacheFiberNode, + uncacheFiberNode: uncacheFiberNode, + getClosestInstanceFromNode: getInstanceFromTag, + getInstanceFromNode: getInstanceFromTag, + getNodeFromInstance: getTagFromInstance, + getFiberCurrentPropsFromNode: getFiberCurrentPropsFromNode$1, + updateFiberProps: updateFiberProps + }); + var fiberHostComponent = null; + var restoreTarget = null; + var restoreQueue = null; + + function restoreStateOfTarget(target) { + var internalInstance = getInstanceFromNode(target); + + if (!internalInstance) { + return; + } + + invariant(fiberHostComponent && typeof fiberHostComponent.restoreControlledState === "function", "Fiber needs to be injected to handle a fiber target for controlled " + "events. This error is likely caused by a bug in React. Please file an issue."); + var props = getFiberCurrentPropsFromNode(internalInstance.stateNode); + fiberHostComponent.restoreControlledState(internalInstance.stateNode, internalInstance.type, props); + } + + function needsStateRestore() { + return restoreTarget !== null || restoreQueue !== null; + } + + function restoreStateIfNeeded() { + if (!restoreTarget) { + return; + } + + var target = restoreTarget; + var queuedTargets = restoreQueue; + restoreTarget = null; + restoreQueue = null; + restoreStateOfTarget(target); + + if (queuedTargets) { + for (var i = 0; i < queuedTargets.length; i++) { + restoreStateOfTarget(queuedTargets[i]); + } + } + } + + var _batchedUpdates = function _batchedUpdates(fn, bookkeeping) { + return fn(bookkeeping); + }; + + var _interactiveUpdates = function _interactiveUpdates(fn, a, b) { + return fn(a, b); + }; + + var _flushInteractiveUpdates = function _flushInteractiveUpdates() {}; + + var isBatching = false; + + function batchedUpdates(fn, bookkeeping) { + if (isBatching) { + return fn(bookkeeping); + } + + isBatching = true; + + try { + return _batchedUpdates(fn, bookkeeping); + } finally { + isBatching = false; + var controlledComponentsHavePendingUpdates = needsStateRestore(); + + if (controlledComponentsHavePendingUpdates) { + _flushInteractiveUpdates(); + + restoreStateIfNeeded(); + } + } + } + + var injection$2 = { + injectRenderer: function injectRenderer(renderer) { + _batchedUpdates = renderer.batchedUpdates; + _interactiveUpdates = renderer.interactiveUpdates; + _flushInteractiveUpdates = renderer.flushInteractiveUpdates; + } + }; + var EMPTY_NATIVE_EVENT = {}; + + var touchSubsequence = function touchSubsequence(touches, indices) { + var ret = []; + + for (var i = 0; i < indices.length; i++) { + ret.push(touches[indices[i]]); + } + + return ret; + }; + + var removeTouchesAtIndices = function removeTouchesAtIndices(touches, indices) { + var rippedOut = []; + var temp = touches; + + for (var i = 0; i < indices.length; i++) { + var index = indices[i]; + rippedOut.push(touches[index]); + temp[index] = null; + } + + var fillAt = 0; + + for (var j = 0; j < temp.length; j++) { + var cur = temp[j]; + + if (cur !== null) { + temp[fillAt++] = cur; + } + } + + temp.length = fillAt; + return rippedOut; + }; + + function _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam) { + var nativeEvent = nativeEventParam || EMPTY_NATIVE_EVENT; + var inst = getInstanceFromTag(rootNodeID); + batchedUpdates(function () { + runExtractedEventsInBatch(topLevelType, inst, nativeEvent, nativeEvent.target); + }); + } + + function receiveEvent(rootNodeID, topLevelType, nativeEventParam) { + _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam); + } + + function receiveTouches(eventTopLevelType, touches, changedIndices) { + var changedTouches = eventTopLevelType === "topTouchEnd" || eventTopLevelType === "topTouchCancel" ? removeTouchesAtIndices(touches, changedIndices) : touchSubsequence(touches, changedIndices); + + for (var jj = 0; jj < changedTouches.length; jj++) { + var touch = changedTouches[jj]; + touch.changedTouches = changedTouches; + touch.touches = touches; + var nativeEvent = touch; + var rootNodeID = null; + var target = nativeEvent.target; + + if (target !== null && target !== undefined) { + if (target < 1) { + { + warning(false, "A view is reporting that a touch occurred on tag zero."); + } + } else { + rootNodeID = target; + } + } + + _receiveRootNodeIDEvent(rootNodeID, eventTopLevelType, nativeEvent); + } + } + + var ReactNativeEventEmitter = Object.freeze({ + getListener: getListener, + registrationNames: registrationNameModules, + _receiveRootNodeIDEvent: _receiveRootNodeIDEvent, + receiveEvent: receiveEvent, + receiveTouches: receiveTouches + }); + var ReactNativeGlobalResponderHandler = { + onChange: function onChange(from, to, blockNativeResponder) { + if (to !== null) { + var tag = to.stateNode._nativeTag; + UIManager.setJSResponder(tag, blockNativeResponder); + } else { + UIManager.clearJSResponder(); + } + } + }; + RCTEventEmitter.register(ReactNativeEventEmitter); + injection$1.injectComponentTree(ReactNativeComponentTree); + ResponderEventPlugin.injection.injectGlobalResponderHandler(ReactNativeGlobalResponderHandler); + + function get$1(key) { + return key._reactInternalFiber; + } + + function set(key, value) { + key._reactInternalFiber = value; + } + + var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + var ReactCurrentOwner = ReactInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame = ReactInternals.ReactDebugCurrentFrame; + var hasSymbol = typeof Symbol === "function" && (typeof Symbol === "function" ? Symbol.for : "@@for"); + var REACT_ELEMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") : 0xeac7; + var REACT_PORTAL_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.portal") : 0xeaca; + var REACT_FRAGMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.fragment") : 0xeacb; + var REACT_STRICT_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.strict_mode") : 0xeacc; + var REACT_PROFILER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.profiler") : 0xead2; + var REACT_PROVIDER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.provider") : 0xeacd; + var REACT_CONTEXT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.context") : 0xeace; + var REACT_ASYNC_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.async_mode") : 0xeacf; + var REACT_FORWARD_REF_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.forward_ref") : 0xead0; + var REACT_TIMEOUT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.timeout") : 0xead1; + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === "function" && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable === "undefined") { + return null; + } + + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + + if (typeof maybeIterator === "function") { + return maybeIterator; + } + + return null; + } + + function getComponentName(fiber) { + var type = fiber.type; + + if (typeof type === "function") { + return type.displayName || type.name; + } + + if (typeof type === "string") { + return type; + } + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + return "AsyncMode"; + + case REACT_CONTEXT_TYPE: + return "Context.Consumer"; + + case REACT_FRAGMENT_TYPE: + return "ReactFragment"; + + case REACT_PORTAL_TYPE: + return "ReactPortal"; + + case REACT_PROFILER_TYPE: + return "Profiler(" + fiber.pendingProps.id + ")"; + + case REACT_PROVIDER_TYPE: + return "Context.Provider"; + + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + + case REACT_TIMEOUT_TYPE: + return "Timeout"; + } + + if (typeof type === "object" && type !== null) { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + var functionName = type.render.displayName || type.render.name || ""; + return functionName !== "" ? "ForwardRef(" + functionName + ")" : "ForwardRef"; + } + } + + return null; + } + + var NoEffect = 0; + var PerformedWork = 1; + var Placement = 2; + var Update = 4; + var PlacementAndUpdate = 6; + var Deletion = 8; + var ContentReset = 16; + var Callback = 32; + var DidCapture = 64; + var Ref = 128; + var Snapshot = 256; + var HostEffectMask = 511; + var Incomplete = 512; + var ShouldCapture = 1024; + var MOUNTING = 1; + var MOUNTED = 2; + var UNMOUNTED = 3; + + function isFiberMountedImpl(fiber) { + var node = fiber; + + if (!fiber.alternate) { + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + + while (node.return) { + node = node.return; + + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + } + } else { + while (node.return) { + node = node.return; + } + } + + if (node.tag === HostRoot) { + return MOUNTED; + } + + return UNMOUNTED; + } + + function isFiberMounted(fiber) { + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function isMounted(component) { + { + var owner = ReactCurrentOwner.current; + + if (owner !== null && owner.tag === ClassComponent) { + var ownerFiber = owner; + var instance = ownerFiber.stateNode; + !instance._warnedAboutRefsInRender ? warning(false, "%s is accessing isMounted inside its render() function. " + "render() should be a pure function of props and state. It should " + "never access something that requires stale data from the previous " + "render, such as refs. Move this logic to componentDidMount and " + "componentDidUpdate instead.", getComponentName(ownerFiber) || "A component") : void 0; + instance._warnedAboutRefsInRender = true; + } + } + var fiber = get$1(component); + + if (!fiber) { + return false; + } + + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function assertIsMounted(fiber) { + invariant(isFiberMountedImpl(fiber) === MOUNTED, "Unable to find node on an unmounted component."); + } + + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + + if (!alternate) { + var state = isFiberMountedImpl(fiber); + invariant(state !== UNMOUNTED, "Unable to find node on an unmounted component."); + + if (state === MOUNTING) { + return null; + } + + return fiber; + } + + var a = fiber; + var b = alternate; + + while (true) { + var parentA = a.return; + var parentB = parentA ? parentA.alternate : null; + + if (!parentA || !parentB) { + break; + } + + if (parentA.child === parentB.child) { + var child = parentA.child; + + while (child) { + if (child === a) { + assertIsMounted(parentA); + return fiber; + } + + if (child === b) { + assertIsMounted(parentA); + return alternate; + } + + child = child.sibling; + } + + invariant(false, "Unable to find node on an unmounted component."); + } + + if (a.return !== b.return) { + a = parentA; + b = parentB; + } else { + var didFindChild = false; + var _child = parentA.child; + + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + + _child = _child.sibling; + } + + if (!didFindChild) { + _child = parentB.child; + + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + + _child = _child.sibling; + } + + invariant(didFindChild, "Child was not found in either parent set. This indicates a bug " + "in React related to the return pointer. Please file an issue."); + } + } + + invariant(a.alternate === b, "Return fibers should always be each others' alternates. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + invariant(a.tag === HostRoot, "Unable to find node on an unmounted component."); + + if (a.stateNode.current === a) { + return fiber; + } + + return alternate; + } + + function findCurrentHostFiber(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + + if (!currentParent) { + return null; + } + + var node = currentParent; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === currentParent) { + return null; + } + + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + + return null; + } + + function findCurrentHostFiberWithNoPortals(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + + if (!currentParent) { + return null; + } + + var node = currentParent; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child && node.tag !== HostPortal) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === currentParent) { + return null; + } + + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + + return null; + } + + var emptyObject$1 = {}; + var removedKeys = null; + var removedKeyCount = 0; + + function defaultDiffer(prevProp, nextProp) { + if (typeof nextProp !== "object" || nextProp === null) { + return true; + } else { + return deepDiffer(prevProp, nextProp); + } + } + + function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) { + if (Array.isArray(node)) { + var i = node.length; + + while (i-- && removedKeyCount > 0) { + restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes); + } + } else if (node && removedKeyCount > 0) { + var obj = node; + + for (var propKey in removedKeys) { + if (!removedKeys[propKey]) { + continue; + } + + var _nextProp = obj[propKey]; + + if (_nextProp === undefined) { + continue; + } + + var attributeConfig = validAttributes[propKey]; + + if (!attributeConfig) { + continue; + } + + if (typeof _nextProp === "function") { + _nextProp = true; + } + + if (typeof _nextProp === "undefined") { + _nextProp = null; + } + + if (typeof attributeConfig !== "object") { + updatePayload[propKey] = _nextProp; + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(_nextProp) : _nextProp; + updatePayload[propKey] = nextValue; + } + + removedKeys[propKey] = false; + removedKeyCount--; + } + } + } + + function diffNestedArrayProperty(updatePayload, prevArray, nextArray, validAttributes) { + var minLength = prevArray.length < nextArray.length ? prevArray.length : nextArray.length; + var i = void 0; + + for (i = 0; i < minLength; i++) { + updatePayload = diffNestedProperty(updatePayload, prevArray[i], nextArray[i], validAttributes); + } + + for (; i < prevArray.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevArray[i], validAttributes); + } + + for (; i < nextArray.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextArray[i], validAttributes); + } + + return updatePayload; + } + + function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) { + if (!updatePayload && prevProp === nextProp) { + return updatePayload; + } + + if (!prevProp || !nextProp) { + if (nextProp) { + return addNestedProperty(updatePayload, nextProp, validAttributes); + } + + if (prevProp) { + return clearNestedProperty(updatePayload, prevProp, validAttributes); + } + + return updatePayload; + } + + if (!Array.isArray(prevProp) && !Array.isArray(nextProp)) { + return diffProperties(updatePayload, prevProp, nextProp, validAttributes); + } + + if (Array.isArray(prevProp) && Array.isArray(nextProp)) { + return diffNestedArrayProperty(updatePayload, prevProp, nextProp, validAttributes); + } + + if (Array.isArray(prevProp)) { + return diffProperties(updatePayload, flattenStyle(prevProp), nextProp, validAttributes); + } + + return diffProperties(updatePayload, prevProp, flattenStyle(nextProp), validAttributes); + } + + function addNestedProperty(updatePayload, nextProp, validAttributes) { + if (!nextProp) { + return updatePayload; + } + + if (!Array.isArray(nextProp)) { + return addProperties(updatePayload, nextProp, validAttributes); + } + + for (var i = 0; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + function clearNestedProperty(updatePayload, prevProp, validAttributes) { + if (!prevProp) { + return updatePayload; + } + + if (!Array.isArray(prevProp)) { + return clearProperties(updatePayload, prevProp, validAttributes); + } + + for (var i = 0; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + return updatePayload; + } + + function diffProperties(updatePayload, prevProps, nextProps, validAttributes) { + var attributeConfig = void 0; + var nextProp = void 0; + var prevProp = void 0; + + for (var propKey in nextProps) { + attributeConfig = validAttributes[propKey]; + + if (!attributeConfig) { + continue; + } + + prevProp = prevProps[propKey]; + nextProp = nextProps[propKey]; + + if (typeof nextProp === "function") { + nextProp = true; + + if (typeof prevProp === "function") { + prevProp = true; + } + } + + if (typeof nextProp === "undefined") { + nextProp = null; + + if (typeof prevProp === "undefined") { + prevProp = null; + } + } + + if (removedKeys) { + removedKeys[propKey] = false; + } + + if (updatePayload && updatePayload[propKey] !== undefined) { + if (typeof attributeConfig !== "object") { + updatePayload[propKey] = nextProp; + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(nextProp) : nextProp; + updatePayload[propKey] = nextValue; + } + + continue; + } + + if (prevProp === nextProp) { + continue; + } + + if (typeof attributeConfig !== "object") { + if (defaultDiffer(prevProp, nextProp)) { + (updatePayload || (updatePayload = {}))[propKey] = nextProp; + } + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var shouldUpdate = prevProp === undefined || (typeof attributeConfig.diff === "function" ? attributeConfig.diff(prevProp, nextProp) : defaultDiffer(prevProp, nextProp)); + + if (shouldUpdate) { + var _nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(nextProp) : nextProp; + + (updatePayload || (updatePayload = {}))[propKey] = _nextValue; + } + } else { + removedKeys = null; + removedKeyCount = 0; + updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig); + + if (removedKeyCount > 0 && updatePayload) { + restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig); + removedKeys = null; + } + } + } + + for (var _propKey in prevProps) { + if (nextProps[_propKey] !== undefined) { + continue; + } + + attributeConfig = validAttributes[_propKey]; + + if (!attributeConfig) { + continue; + } + + if (updatePayload && updatePayload[_propKey] !== undefined) { + continue; + } + + prevProp = prevProps[_propKey]; + + if (prevProp === undefined) { + continue; + } + + if (typeof attributeConfig !== "object" || typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + (updatePayload || (updatePayload = {}))[_propKey] = null; + + if (!removedKeys) { + removedKeys = {}; + } + + if (!removedKeys[_propKey]) { + removedKeys[_propKey] = true; + removedKeyCount++; + } + } else { + updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig); + } + } + + return updatePayload; + } + + function addProperties(updatePayload, props, validAttributes) { + return diffProperties(updatePayload, emptyObject$1, props, validAttributes); + } + + function clearProperties(updatePayload, prevProps, validAttributes) { + return diffProperties(updatePayload, prevProps, emptyObject$1, validAttributes); + } + + function create(props, validAttributes) { + return addProperties(null, props, validAttributes); + } + + function diff(prevProps, nextProps, validAttributes) { + return diffProperties(null, prevProps, nextProps, validAttributes); + } + + function mountSafeCallback(context, callback) { + return function () { + if (!callback) { + return undefined; + } + + if (typeof context.__isMounted === "boolean") { + if (!context.__isMounted) { + return undefined; + } + } else if (typeof context.isMounted === "function") { + if (!context.isMounted()) { + return undefined; + } + } + + return callback.apply(context, arguments); + }; + } + + function throwOnStylesProp(component, props) { + if (props.styles !== undefined) { + var owner = component._owner || null; + var name = component.constructor.displayName; + var msg = "`styles` is not a supported property of `" + name + "`, did " + "you mean `style` (singular)?"; + + if (owner && owner.constructor && owner.constructor.displayName) { + msg += "\n\nCheck the `" + owner.constructor.displayName + "` parent " + " component."; + } + + throw new Error(msg); + } + } + + function warnForStyleProps(props, validAttributes) { + for (var key in validAttributes.style) { + if (!(validAttributes[key] || props[key] === undefined)) { + console.error("You are setting the style `{ " + key + ": ... }` as a prop. You " + "should nest it in a style object. " + "E.g. `{ style: { " + key + ": ... } }`"); + } + } + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + var ReactNativeFiberHostComponent = function () { + function ReactNativeFiberHostComponent(tag, viewConfig) { + _classCallCheck(this, ReactNativeFiberHostComponent); + + this._nativeTag = tag; + this._children = []; + this.viewConfig = viewConfig; + } + + ReactNativeFiberHostComponent.prototype.blur = function blur() { + TextInputState.blurTextInput(this._nativeTag); + }; + + ReactNativeFiberHostComponent.prototype.focus = function focus() { + TextInputState.focusTextInput(this._nativeTag); + }; + + ReactNativeFiberHostComponent.prototype.measure = function measure(callback) { + UIManager.measure(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactNativeFiberHostComponent.prototype.measureInWindow = function measureInWindow(callback) { + UIManager.measureInWindow(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactNativeFiberHostComponent.prototype.measureLayout = function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(this._nativeTag, relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeFiberHostComponent.prototype.setNativeProps = function setNativeProps(nativeProps) { + { + warnForStyleProps(nativeProps, this.viewConfig.validAttributes); + } + var updatePayload = create(nativeProps, this.viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(this._nativeTag, this.viewConfig.uiViewClassName, updatePayload); + } + }; + + return ReactNativeFiberHostComponent; + }(); + + var hasNativePerformanceNow = typeof performance === "object" && typeof performance.now === "function"; + var now$1 = hasNativePerformanceNow ? function () { + return performance.now(); + } : function () { + return Date.now(); + }; + var scheduledCallback = null; + var frameDeadline = 0; + var frameDeadlineObject = { + timeRemaining: function timeRemaining() { + return frameDeadline - now$1(); + }, + didTimeout: false + }; + + function setTimeoutCallback() { + frameDeadline = now$1() + 5; + var callback = scheduledCallback; + scheduledCallback = null; + + if (callback !== null) { + callback(frameDeadlineObject); + } + } + + function scheduleDeferredCallback$1(callback, options) { + scheduledCallback = callback; + var timeoutId = setTimeout(setTimeoutCallback, 1); + return timeoutId; + } + + function cancelDeferredCallback$1(callbackID) { + scheduledCallback = null; + clearTimeout(callbackID); + } + + function shim() { + invariant(false, "The current renderer does not support persistence. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + + var supportsPersistence = false; + var cloneInstance = shim; + var createContainerChildSet = shim; + var appendChildToContainerChildSet = shim; + var finalizeContainerChildren = shim; + var replaceContainerChildren = shim; + + function shim$1() { + invariant(false, "The current renderer does not support hyration. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + + var supportsHydration = false; + var canHydrateInstance = shim$1; + var canHydrateTextInstance = shim$1; + var getNextHydratableSibling = shim$1; + var getFirstHydratableChild = shim$1; + var hydrateInstance = shim$1; + var hydrateTextInstance = shim$1; + var didNotMatchHydratedContainerTextInstance = shim$1; + var didNotMatchHydratedTextInstance = shim$1; + var didNotHydrateContainerInstance = shim$1; + var didNotHydrateInstance = shim$1; + var didNotFindHydratableContainerInstance = shim$1; + var didNotFindHydratableContainerTextInstance = shim$1; + var didNotFindHydratableInstance = shim$1; + var didNotFindHydratableTextInstance = shim$1; + var nextReactTag = 3; + + function allocateTag() { + var tag = nextReactTag; + + if (tag % 10 === 1) { + tag += 2; + } + + nextReactTag = tag + 2; + return tag; + } + + function recursivelyUncacheFiberNode(node) { + if (typeof node === "number") { + uncacheFiberNode(node); + } else { + uncacheFiberNode(node._nativeTag); + + node._children.forEach(recursivelyUncacheFiberNode); + } + } + + function appendInitialChild(parentInstance, child) { + parentInstance._children.push(child); + } + + function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) { + var tag = allocateTag(); + var viewConfig = ReactNativeViewConfigRegistry.get(type); + { + for (var key in viewConfig.validAttributes) { + if (props.hasOwnProperty(key)) { + deepFreezeAndThrowOnMutationInDev(props[key]); + } + } + } + invariant(type !== "RCTView" || !hostContext.isInAParentText, "Nesting of within is not currently supported."); + var updatePayload = create(props, viewConfig.validAttributes); + UIManager.createView(tag, viewConfig.uiViewClassName, rootContainerInstance, updatePayload); + var component = new ReactNativeFiberHostComponent(tag, viewConfig); + precacheFiberNode(internalInstanceHandle, tag); + updateFiberProps(tag, props); + return component; + } + + function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { + invariant(hostContext.isInAParentText, "Text strings must be rendered within a component."); + var tag = allocateTag(); + UIManager.createView(tag, "RCTRawText", rootContainerInstance, { + text: text + }); + precacheFiberNode(internalInstanceHandle, tag); + return tag; + } + + function finalizeInitialChildren(parentInstance, type, props, rootContainerInstance, hostContext) { + if (parentInstance._children.length === 0) { + return false; + } + + var nativeTags = parentInstance._children.map(function (child) { + return typeof child === "number" ? child : child._nativeTag; + }); + + UIManager.setChildren(parentInstance._nativeTag, nativeTags); + return false; + } + + function getRootHostContext(rootContainerInstance) { + return { + isInAParentText: false + }; + } + + function getChildHostContext(parentHostContext, type, rootContainerInstance) { + var prevIsInAParentText = parentHostContext.isInAParentText; + var isInAParentText = type === "AndroidTextInput" || type === "RCTMultilineTextInputView" || type === "RCTSinglelineTextInputView" || type === "RCTText" || type === "RCTVirtualText"; + + if (prevIsInAParentText !== isInAParentText) { + return { + isInAParentText: isInAParentText + }; + } else { + return parentHostContext; + } + } + + function getPublicInstance(instance) { + return instance; + } + + function prepareForCommit(containerInfo) {} + + function prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, hostContext) { + return emptyObject; + } + + function resetAfterCommit(containerInfo) {} + + var now = now$1; + var isPrimaryRenderer = true; + var scheduleDeferredCallback = scheduleDeferredCallback$1; + var cancelDeferredCallback = cancelDeferredCallback$1; + + function shouldDeprioritizeSubtree(type, props) { + return false; + } + + function shouldSetTextContent(type, props) { + return false; + } + + var supportsMutation = true; + + function appendChild(parentInstance, child) { + var childTag = typeof child === "number" ? child : child._nativeTag; + var children = parentInstance._children; + var index = children.indexOf(child); + + if (index >= 0) { + children.splice(index, 1); + children.push(child); + UIManager.manageChildren(parentInstance._nativeTag, [index], [children.length - 1], [], [], []); + } else { + children.push(child); + UIManager.manageChildren(parentInstance._nativeTag, [], [], [childTag], [children.length - 1], []); + } + } + + function appendChildToContainer(parentInstance, child) { + var childTag = typeof child === "number" ? child : child._nativeTag; + UIManager.setChildren(parentInstance, [childTag]); + } + + function commitTextUpdate(textInstance, oldText, newText) { + UIManager.updateView(textInstance, "RCTRawText", { + text: newText + }); + } + + function commitUpdate(instance, updatePayloadTODO, type, oldProps, newProps, internalInstanceHandle) { + var viewConfig = instance.viewConfig; + updateFiberProps(instance._nativeTag, newProps); + var updatePayload = diff(oldProps, newProps, viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(instance._nativeTag, viewConfig.uiViewClassName, updatePayload); + } + } + + function insertBefore(parentInstance, child, beforeChild) { + var children = parentInstance._children; + var index = children.indexOf(child); + + if (index >= 0) { + children.splice(index, 1); + var beforeChildIndex = children.indexOf(beforeChild); + children.splice(beforeChildIndex, 0, child); + UIManager.manageChildren(parentInstance._nativeTag, [index], [beforeChildIndex], [], [], []); + } else { + var _beforeChildIndex = children.indexOf(beforeChild); + + children.splice(_beforeChildIndex, 0, child); + var childTag = typeof child === "number" ? child : child._nativeTag; + UIManager.manageChildren(parentInstance._nativeTag, [], [], [childTag], [_beforeChildIndex], []); + } + } + + function insertInContainerBefore(parentInstance, child, beforeChild) { + invariant(typeof parentInstance !== "number", "Container does not support insertBefore operation"); + } + + function removeChild(parentInstance, child) { + recursivelyUncacheFiberNode(child); + var children = parentInstance._children; + var index = children.indexOf(child); + children.splice(index, 1); + UIManager.manageChildren(parentInstance._nativeTag, [], [], [], [], [index]); + } + + function removeChildFromContainer(parentInstance, child) { + recursivelyUncacheFiberNode(child); + UIManager.manageChildren(parentInstance, [], [], [], [], [0]); + } + + function resetTextContent(instance) {} + + var describeComponentFrame = function describeComponentFrame(name, source, ownerName) { + return "\n in " + (name || "Unknown") + (source ? " (at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + ")" : ownerName ? " (created by " + ownerName + ")" : ""); + }; + + function describeFiber(fiber) { + switch (fiber.tag) { + case IndeterminateComponent: + case FunctionalComponent: + case ClassComponent: + case HostComponent: + var owner = fiber._debugOwner; + var source = fiber._debugSource; + var name = getComponentName(fiber); + var ownerName = null; + + if (owner) { + ownerName = getComponentName(owner); + } + + return describeComponentFrame(name, source, ownerName); + + default: + return ""; + } + } + + function getStackAddendumByWorkInProgressFiber(workInProgress) { + var info = ""; + var node = workInProgress; + + do { + info += describeFiber(node); + node = node.return; + } while (node); + + return info; + } + + function getCurrentFiberOwnerName() { + { + var fiber = ReactDebugCurrentFiber.current; + + if (fiber === null) { + return null; + } + + var owner = fiber._debugOwner; + + if (owner !== null && typeof owner !== "undefined") { + return getComponentName(owner); + } + } + return null; + } + + function getCurrentFiberStackAddendum() { + { + var fiber = ReactDebugCurrentFiber.current; + + if (fiber === null) { + return null; + } + + return getStackAddendumByWorkInProgressFiber(fiber); + } + return null; + } + + function resetCurrentFiber() { + ReactDebugCurrentFrame.getCurrentStack = null; + ReactDebugCurrentFiber.current = null; + ReactDebugCurrentFiber.phase = null; + } + + function setCurrentFiber(fiber) { + ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackAddendum; + ReactDebugCurrentFiber.current = fiber; + ReactDebugCurrentFiber.phase = null; + } + + function setCurrentPhase(phase) { + ReactDebugCurrentFiber.phase = phase; + } + + var ReactDebugCurrentFiber = { + current: null, + phase: null, + resetCurrentFiber: resetCurrentFiber, + setCurrentFiber: setCurrentFiber, + setCurrentPhase: setCurrentPhase, + getCurrentFiberOwnerName: getCurrentFiberOwnerName, + getCurrentFiberStackAddendum: getCurrentFiberStackAddendum + }; + var debugRenderPhaseSideEffects = false; + var debugRenderPhaseSideEffectsForStrictMode = false; + var enableGetDerivedStateFromCatch = false; + var enableSuspense = false; + var enableUserTimingAPI = true; + var replayFailedUnitOfWorkWithInvokeGuardedCallback = true; + var warnAboutDeprecatedLifecycles = false; + var warnAboutLegacyContextAPI = false; + var enableProfilerTimer = true; + var reactEmoji = "\u269B"; + var warningEmoji = "\u26D4"; + var supportsUserTiming = typeof performance !== "undefined" && typeof performance.mark === "function" && typeof performance.clearMarks === "function" && typeof performance.measure === "function" && typeof performance.clearMeasures === "function"; + var currentFiber = null; + var currentPhase = null; + var currentPhaseFiber = null; + var isCommitting = false; + var hasScheduledUpdateInCurrentCommit = false; + var hasScheduledUpdateInCurrentPhase = false; + var commitCountInCurrentWorkLoop = 0; + var effectCountInCurrentCommit = 0; + var isWaitingForCallback = false; + var labelsInCurrentCommit = new Set(); + + var formatMarkName = function formatMarkName(markName) { + return reactEmoji + " " + markName; + }; + + var formatLabel = function formatLabel(label, warning$$1) { + var prefix = warning$$1 ? warningEmoji + " " : reactEmoji + " "; + var suffix = warning$$1 ? " Warning: " + warning$$1 : ""; + return "" + prefix + label + suffix; + }; + + var beginMark = function beginMark(markName) { + performance.mark(formatMarkName(markName)); + }; + + var clearMark = function clearMark(markName) { + performance.clearMarks(formatMarkName(markName)); + }; + + var endMark = function endMark(label, markName, warning$$1) { + var formattedMarkName = formatMarkName(markName); + var formattedLabel = formatLabel(label, warning$$1); + + try { + performance.measure(formattedLabel, formattedMarkName); + } catch (err) {} + + performance.clearMarks(formattedMarkName); + performance.clearMeasures(formattedLabel); + }; + + var getFiberMarkName = function getFiberMarkName(label, debugID) { + return label + " (#" + debugID + ")"; + }; + + var getFiberLabel = function getFiberLabel(componentName, isMounted, phase) { + if (phase === null) { + return componentName + " [" + (isMounted ? "update" : "mount") + "]"; + } else { + return componentName + "." + phase; + } + }; + + var beginFiberMark = function beginFiberMark(fiber, phase) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + + if (isCommitting && labelsInCurrentCommit.has(label)) { + return false; + } + + labelsInCurrentCommit.add(label); + var markName = getFiberMarkName(label, debugID); + beginMark(markName); + return true; + }; + + var clearFiberMark = function clearFiberMark(fiber, phase) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + clearMark(markName); + }; + + var endFiberMark = function endFiberMark(fiber, phase, warning$$1) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + endMark(label, markName, warning$$1); + }; + + var shouldIgnoreFiber = function shouldIgnoreFiber(fiber) { + switch (fiber.tag) { + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + case Fragment: + case ContextProvider: + case ContextConsumer: + case Mode: + return true; + + default: + return false; + } + }; + + var clearPendingPhaseMeasurement = function clearPendingPhaseMeasurement() { + if (currentPhase !== null && currentPhaseFiber !== null) { + clearFiberMark(currentPhaseFiber, currentPhase); + } + + currentPhaseFiber = null; + currentPhase = null; + hasScheduledUpdateInCurrentPhase = false; + }; + + var pauseTimers = function pauseTimers() { + var fiber = currentFiber; + + while (fiber) { + if (fiber._debugIsCurrentlyTiming) { + endFiberMark(fiber, null, null); + } + + fiber = fiber.return; + } + }; + + var resumeTimersRecursively = function resumeTimersRecursively(fiber) { + if (fiber.return !== null) { + resumeTimersRecursively(fiber.return); + } + + if (fiber._debugIsCurrentlyTiming) { + beginFiberMark(fiber, null); + } + }; + + var resumeTimers = function resumeTimers() { + if (currentFiber !== null) { + resumeTimersRecursively(currentFiber); + } + }; + + function recordEffect() { + if (enableUserTimingAPI) { + effectCountInCurrentCommit++; + } + } + + function recordScheduleUpdate() { + if (enableUserTimingAPI) { + if (isCommitting) { + hasScheduledUpdateInCurrentCommit = true; + } + + if (currentPhase !== null && currentPhase !== "componentWillMount" && currentPhase !== "componentWillReceiveProps") { + hasScheduledUpdateInCurrentPhase = true; + } + } + } + + function startRequestCallbackTimer() { + if (enableUserTimingAPI) { + if (supportsUserTiming && !isWaitingForCallback) { + isWaitingForCallback = true; + beginMark("(Waiting for async callback...)"); + } + } + } + + function stopRequestCallbackTimer(didExpire, expirationTime) { + if (enableUserTimingAPI) { + if (supportsUserTiming) { + isWaitingForCallback = false; + var warning$$1 = didExpire ? "React was blocked by main thread" : null; + endMark("(Waiting for async callback... will force flush in " + expirationTime + " ms)", "(Waiting for async callback...)", warning$$1); + } + } + } + + function startWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber; + + if (!beginFiberMark(fiber, null)) { + return; + } + + fiber._debugIsCurrentlyTiming = true; + } + } + + function cancelWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + clearFiberMark(fiber, null); + } + } + + function stopWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber.return; + + if (!fiber._debugIsCurrentlyTiming) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + endFiberMark(fiber, null, null); + } + } + + function stopFailedWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber.return; + + if (!fiber._debugIsCurrentlyTiming) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + var warning$$1 = "An error was thrown inside this error boundary"; + endFiberMark(fiber, null, warning$$1); + } + } + + function startPhaseTimer(fiber, phase) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + clearPendingPhaseMeasurement(); + + if (!beginFiberMark(fiber, phase)) { + return; + } + + currentPhaseFiber = fiber; + currentPhase = phase; + } + } + + function stopPhaseTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + if (currentPhase !== null && currentPhaseFiber !== null) { + var warning$$1 = hasScheduledUpdateInCurrentPhase ? "Scheduled a cascading update" : null; + endFiberMark(currentPhaseFiber, currentPhase, warning$$1); + } + + currentPhase = null; + currentPhaseFiber = null; + } + } + + function startWorkLoopTimer(nextUnitOfWork) { + if (enableUserTimingAPI) { + currentFiber = nextUnitOfWork; + + if (!supportsUserTiming) { + return; + } + + commitCountInCurrentWorkLoop = 0; + beginMark("(React Tree Reconciliation)"); + resumeTimers(); + } + } + + function stopWorkLoopTimer(interruptedBy, didCompleteRoot) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var warning$$1 = null; + + if (interruptedBy !== null) { + if (interruptedBy.tag === HostRoot) { + warning$$1 = "A top-level update interrupted the previous render"; + } else { + var componentName = getComponentName(interruptedBy) || "Unknown"; + warning$$1 = "An update to " + componentName + " interrupted the previous render"; + } + } else if (commitCountInCurrentWorkLoop > 1) { + warning$$1 = "There were cascading updates"; + } + + commitCountInCurrentWorkLoop = 0; + var label = didCompleteRoot ? "(React Tree Reconciliation: Completed Root)" : "(React Tree Reconciliation: Yielded)"; + pauseTimers(); + endMark(label, "(React Tree Reconciliation)", warning$$1); + } + } + + function startCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + isCommitting = true; + hasScheduledUpdateInCurrentCommit = false; + labelsInCurrentCommit.clear(); + beginMark("(Committing Changes)"); + } + } + + function stopCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var warning$$1 = null; + + if (hasScheduledUpdateInCurrentCommit) { + warning$$1 = "Lifecycle hook scheduled a cascading update"; + } else if (commitCountInCurrentWorkLoop > 0) { + warning$$1 = "Caused by a cascading update in earlier commit"; + } + + hasScheduledUpdateInCurrentCommit = false; + commitCountInCurrentWorkLoop++; + isCommitting = false; + labelsInCurrentCommit.clear(); + endMark("(Committing Changes)", "(Committing Changes)", warning$$1); + } + } + + function startCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Committing Snapshot Effects)"); + } + } + + function stopCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Committing Snapshot Effects: " + count + " Total)", "(Committing Snapshot Effects)", null); + } + } + + function startCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Committing Host Effects)"); + } + } + + function stopCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Committing Host Effects: " + count + " Total)", "(Committing Host Effects)", null); + } + } + + function startCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Calling Lifecycle Methods)"); + } + } + + function stopCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Calling Lifecycle Methods: " + count + " Total)", "(Calling Lifecycle Methods)", null); + } + } + + var valueStack = []; + var fiberStack = void 0; + { + fiberStack = []; + } + var index = -1; + + function createCursor(defaultValue) { + return { + current: defaultValue + }; + } + + function pop(cursor, fiber) { + if (index < 0) { + { + warning(false, "Unexpected pop."); + } + return; + } + + { + if (fiber !== fiberStack[index]) { + warning(false, "Unexpected Fiber popped."); + } + } + cursor.current = valueStack[index]; + valueStack[index] = null; + { + fiberStack[index] = null; + } + index--; + } + + function push(cursor, value, fiber) { + index++; + valueStack[index] = cursor.current; + { + fiberStack[index] = fiber; + } + cursor.current = value; + } + + function checkThatStackIsEmpty() { + { + if (index !== -1) { + warning(false, "Expected an empty stack. Something was not reset properly."); + } + } + } + + function resetStackAfterFatalErrorInDev() { + { + index = -1; + valueStack.length = 0; + fiberStack.length = 0; + } + } + + var warnedAboutMissingGetChildContext = void 0; + { + warnedAboutMissingGetChildContext = {}; + } + var contextStackCursor = createCursor(emptyObject); + var didPerformWorkStackCursor = createCursor(false); + var previousContext = emptyObject; + + function getUnmaskedContext(workInProgress) { + var hasOwnContext = isContextProvider(workInProgress); + + if (hasOwnContext) { + return previousContext; + } + + return contextStackCursor.current; + } + + function cacheContext(workInProgress, unmaskedContext, maskedContext) { + var instance = workInProgress.stateNode; + instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; + instance.__reactInternalMemoizedMaskedChildContext = maskedContext; + } + + function getMaskedContext(workInProgress, unmaskedContext) { + var type = workInProgress.type; + var contextTypes = type.contextTypes; + + if (!contextTypes) { + return emptyObject; + } + + var instance = workInProgress.stateNode; + + if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) { + return instance.__reactInternalMemoizedMaskedChildContext; + } + + var context = {}; + + for (var key in contextTypes) { + context[key] = unmaskedContext[key]; + } + + { + var name = getComponentName(workInProgress) || "Unknown"; + checkPropTypes(contextTypes, context, "context", name, ReactDebugCurrentFiber.getCurrentFiberStackAddendum); + } + + if (instance) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return context; + } + + function hasContextChanged() { + return didPerformWorkStackCursor.current; + } + + function isContextConsumer(fiber) { + return fiber.tag === ClassComponent && fiber.type.contextTypes != null; + } + + function isContextProvider(fiber) { + return fiber.tag === ClassComponent && fiber.type.childContextTypes != null; + } + + function popContextProvider(fiber) { + if (!isContextProvider(fiber)) { + return; + } + + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function popTopLevelContextObject(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function pushTopLevelContextObject(fiber, context, didChange) { + invariant(contextStackCursor.current === emptyObject, "Unexpected context found on stack. " + "This error is likely caused by a bug in React. Please file an issue."); + push(contextStackCursor, context, fiber); + push(didPerformWorkStackCursor, didChange, fiber); + } + + function processChildContext(fiber, parentContext) { + var instance = fiber.stateNode; + var childContextTypes = fiber.type.childContextTypes; + + if (typeof instance.getChildContext !== "function") { + { + var componentName = getComponentName(fiber) || "Unknown"; + + if (!warnedAboutMissingGetChildContext[componentName]) { + warnedAboutMissingGetChildContext[componentName] = true; + warning(false, "%s.childContextTypes is specified but there is no getChildContext() method " + "on the instance. You can either define getChildContext() on %s or remove " + "childContextTypes from it.", componentName, componentName); + } + } + return parentContext; + } + + var childContext = void 0; + { + ReactDebugCurrentFiber.setCurrentPhase("getChildContext"); + } + startPhaseTimer(fiber, "getChildContext"); + childContext = instance.getChildContext(); + stopPhaseTimer(); + { + ReactDebugCurrentFiber.setCurrentPhase(null); + } + + for (var contextKey in childContext) { + invariant(contextKey in childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', getComponentName(fiber) || "Unknown", contextKey); + } + + { + var name = getComponentName(fiber) || "Unknown"; + checkPropTypes(childContextTypes, childContext, "child context", name, ReactDebugCurrentFiber.getCurrentFiberStackAddendum); + } + return _extends({}, parentContext, childContext); + } + + function pushContextProvider(workInProgress) { + if (!isContextProvider(workInProgress)) { + return false; + } + + var instance = workInProgress.stateNode; + var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyObject; + previousContext = contextStackCursor.current; + push(contextStackCursor, memoizedMergedChildContext, workInProgress); + push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); + return true; + } + + function invalidateContextProvider(workInProgress, didChange) { + var instance = workInProgress.stateNode; + invariant(instance, "Expected to have an instance by this point. " + "This error is likely caused by a bug in React. Please file an issue."); + + if (didChange) { + var mergedContext = processChildContext(workInProgress, previousContext); + instance.__reactInternalMemoizedMergedChildContext = mergedContext; + pop(didPerformWorkStackCursor, workInProgress); + pop(contextStackCursor, workInProgress); + push(contextStackCursor, mergedContext, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } else { + pop(didPerformWorkStackCursor, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } + } + + function findCurrentUnmaskedContext(fiber) { + invariant(isFiberMounted(fiber) && fiber.tag === ClassComponent, "Expected subtree parent to be a mounted class component. " + "This error is likely caused by a bug in React. Please file an issue."); + var node = fiber; + + while (node.tag !== HostRoot) { + if (isContextProvider(node)) { + return node.stateNode.__reactInternalMemoizedMergedChildContext; + } + + var parent = node.return; + invariant(parent, "Found unexpected detached subtree parent. " + "This error is likely caused by a bug in React. Please file an issue."); + node = parent; + } + + return node.stateNode.context; + } + + var MAX_SIGNED_31_BIT_INT = 1073741823; + var NoWork = 0; + var Sync = 1; + var Never = MAX_SIGNED_31_BIT_INT; + var UNIT_SIZE = 10; + var MAGIC_NUMBER_OFFSET = 2; + + function msToExpirationTime(ms) { + return (ms / UNIT_SIZE | 0) + MAGIC_NUMBER_OFFSET; + } + + function expirationTimeToMs(expirationTime) { + return (expirationTime - MAGIC_NUMBER_OFFSET) * UNIT_SIZE; + } + + function ceiling(num, precision) { + return ((num / precision | 0) + 1) * precision; + } + + function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) { + return MAGIC_NUMBER_OFFSET + ceiling(currentTime - MAGIC_NUMBER_OFFSET + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE); + } + + var NoContext = 0; + var AsyncMode = 1; + var StrictMode = 2; + var ProfileMode = 4; + var hasBadMapPolyfill = void 0; + { + hasBadMapPolyfill = false; + + try { + var nonExtensibleObject = Object.preventExtensions({}); + var testMap = new Map([[nonExtensibleObject, null]]); + var testSet = new Set([nonExtensibleObject]); + testMap.set(0, 0); + testSet.add(0); + } catch (e) { + hasBadMapPolyfill = true; + } + } + var debugCounter = void 0; + { + debugCounter = 1; + } + + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.type = null; + this.stateNode = null; + this.return = null; + this.child = null; + this.sibling = null; + this.index = 0; + this.ref = null; + this.pendingProps = pendingProps; + this.memoizedProps = null; + this.updateQueue = null; + this.memoizedState = null; + this.mode = mode; + this.effectTag = NoEffect; + this.nextEffect = null; + this.firstEffect = null; + this.lastEffect = null; + this.expirationTime = NoWork; + this.alternate = null; + + if (enableProfilerTimer) { + this.actualDuration = 0; + this.actualStartTime = 0; + this.selfBaseTime = 0; + this.treeBaseTime = 0; + } + + { + this._debugID = debugCounter++; + this._debugSource = null; + this._debugOwner = null; + this._debugIsCurrentlyTiming = false; + + if (!hasBadMapPolyfill && typeof Object.preventExtensions === "function") { + Object.preventExtensions(this); + } + } + } + + var createFiber = function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + }; + + function shouldConstruct(Component) { + return !!(Component.prototype && Component.prototype.isReactComponent); + } + + function createWorkInProgress(current, pendingProps, expirationTime) { + var workInProgress = current.alternate; + + if (workInProgress === null) { + workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode); + workInProgress.type = current.type; + workInProgress.stateNode = current.stateNode; + { + workInProgress._debugID = current._debugID; + workInProgress._debugSource = current._debugSource; + workInProgress._debugOwner = current._debugOwner; + } + workInProgress.alternate = current; + current.alternate = workInProgress; + } else { + workInProgress.pendingProps = pendingProps; + workInProgress.effectTag = NoEffect; + workInProgress.nextEffect = null; + workInProgress.firstEffect = null; + workInProgress.lastEffect = null; + + if (enableProfilerTimer) { + workInProgress.actualDuration = 0; + workInProgress.actualStartTime = 0; + } + } + + workInProgress.expirationTime = expirationTime; + workInProgress.child = current.child; + workInProgress.memoizedProps = current.memoizedProps; + workInProgress.memoizedState = current.memoizedState; + workInProgress.updateQueue = current.updateQueue; + workInProgress.sibling = current.sibling; + workInProgress.index = current.index; + workInProgress.ref = current.ref; + + if (enableProfilerTimer) { + workInProgress.selfBaseTime = current.selfBaseTime; + workInProgress.treeBaseTime = current.treeBaseTime; + } + + return workInProgress; + } + + function createHostRootFiber(isAsync) { + var mode = isAsync ? AsyncMode | StrictMode : NoContext; + return createFiber(HostRoot, null, null, mode); + } + + function createFiberFromElement(element, mode, expirationTime) { + var owner = null; + { + owner = element._owner; + } + var fiber = void 0; + var type = element.type; + var key = element.key; + var pendingProps = element.props; + var fiberTag = void 0; + + if (typeof type === "function") { + fiberTag = shouldConstruct(type) ? ClassComponent : IndeterminateComponent; + } else if (typeof type === "string") { + fiberTag = HostComponent; + } else { + switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment(pendingProps.children, mode, expirationTime, key); + + case REACT_ASYNC_MODE_TYPE: + fiberTag = Mode; + mode |= AsyncMode | StrictMode; + break; + + case REACT_STRICT_MODE_TYPE: + fiberTag = Mode; + mode |= StrictMode; + break; + + case REACT_PROFILER_TYPE: + return createFiberFromProfiler(pendingProps, mode, expirationTime, key); + + case REACT_TIMEOUT_TYPE: + fiberTag = TimeoutComponent; + mode |= StrictMode; + break; + + default: + fiberTag = getFiberTagFromObjectType(type, owner); + break; + } + } + + fiber = createFiber(fiberTag, pendingProps, key, mode); + fiber.type = type; + fiber.expirationTime = expirationTime; + { + fiber._debugSource = element._source; + fiber._debugOwner = element._owner; + } + return fiber; + } + + function getFiberTagFromObjectType(type, owner) { + var $$typeof = typeof type === "object" && type !== null ? type.$$typeof : null; + + switch ($$typeof) { + case REACT_PROVIDER_TYPE: + return ContextProvider; + + case REACT_CONTEXT_TYPE: + return ContextConsumer; + + case REACT_FORWARD_REF_TYPE: + return ForwardRef; + + default: + { + var info = ""; + { + if (type === undefined || typeof type === "object" && type !== null && Object.keys(type).length === 0) { + info += " You likely forgot to export your component from the file " + "it's defined in, or you might have mixed up default and " + "named imports."; + } + + var ownerName = owner ? getComponentName(owner) : null; + + if (ownerName) { + info += "\n\nCheck the render method of `" + ownerName + "`."; + } + } + invariant(false, "Element type is invalid: expected a string (for built-in " + "components) or a class/function (for composite components) " + "but got: %s.%s", type == null ? type : typeof type, info); + } + } + } + + function createFiberFromFragment(elements, mode, expirationTime, key) { + var fiber = createFiber(Fragment, elements, key, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromProfiler(pendingProps, mode, expirationTime, key) { + { + if (typeof pendingProps.id !== "string" || typeof pendingProps.onRender !== "function") { + invariant(false, 'Profiler must specify an "id" string and "onRender" function as props'); + } + } + var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); + fiber.type = REACT_PROFILER_TYPE; + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromText(content, mode, expirationTime) { + var fiber = createFiber(HostText, content, null, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromHostInstanceForDeletion() { + var fiber = createFiber(HostComponent, null, null, NoContext); + fiber.type = "DELETED"; + return fiber; + } + + function createFiberFromPortal(portal, mode, expirationTime) { + var pendingProps = portal.children !== null ? portal.children : []; + var fiber = createFiber(HostPortal, pendingProps, portal.key, mode); + fiber.expirationTime = expirationTime; + fiber.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return fiber; + } + + function assignFiberPropertiesInDEV(target, source) { + if (target === null) { + target = createFiber(IndeterminateComponent, null, null, NoContext); + } + + target.tag = source.tag; + target.key = source.key; + target.type = source.type; + target.stateNode = source.stateNode; + target.return = source.return; + target.child = source.child; + target.sibling = source.sibling; + target.index = source.index; + target.ref = source.ref; + target.pendingProps = source.pendingProps; + target.memoizedProps = source.memoizedProps; + target.updateQueue = source.updateQueue; + target.memoizedState = source.memoizedState; + target.mode = source.mode; + target.effectTag = source.effectTag; + target.nextEffect = source.nextEffect; + target.firstEffect = source.firstEffect; + target.lastEffect = source.lastEffect; + target.expirationTime = source.expirationTime; + target.alternate = source.alternate; + + if (enableProfilerTimer) { + target.actualDuration = source.actualDuration; + target.actualStartTime = source.actualStartTime; + target.selfBaseTime = source.selfBaseTime; + target.treeBaseTime = source.treeBaseTime; + } + + target._debugID = source._debugID; + target._debugSource = source._debugSource; + target._debugOwner = source._debugOwner; + target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; + return target; + } + + function createFiberRoot(containerInfo, isAsync, hydrate) { + var uninitializedFiber = createHostRootFiber(isAsync); + var root = { + current: uninitializedFiber, + containerInfo: containerInfo, + pendingChildren: null, + earliestPendingTime: NoWork, + latestPendingTime: NoWork, + earliestSuspendedTime: NoWork, + latestSuspendedTime: NoWork, + latestPingedTime: NoWork, + didError: false, + pendingCommitExpirationTime: NoWork, + finishedWork: null, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: NoWork, + expirationTime: NoWork, + firstBatch: null, + nextScheduledRoot: null + }; + uninitializedFiber.stateNode = root; + return root; + } + + var onCommitFiberRoot = null; + var onCommitFiberUnmount = null; + var hasLoggedError = false; + + function catchErrors(fn) { + return function (arg) { + try { + return fn(arg); + } catch (err) { + if (true && !hasLoggedError) { + hasLoggedError = true; + warning(false, "React DevTools encountered an error: %s", err); + } + } + }; + } + + function injectInternals(internals) { + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined") { + return false; + } + + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + + if (hook.isDisabled) { + return true; + } + + if (!hook.supportsFiber) { + { + warning(false, "The installed version of React DevTools is too old and will not work " + "with the current version of React. Please update React DevTools. " + "https://fb.me/react-devtools"); + } + return true; + } + + try { + var rendererID = hook.inject(internals); + onCommitFiberRoot = catchErrors(function (root) { + return hook.onCommitFiberRoot(rendererID, root); + }); + onCommitFiberUnmount = catchErrors(function (fiber) { + return hook.onCommitFiberUnmount(rendererID, fiber); + }); + } catch (err) { + { + warning(false, "React DevTools encountered an error: %s.", err); + } + } + + return true; + } + + function onCommitRoot(root) { + if (typeof onCommitFiberRoot === "function") { + onCommitFiberRoot(root); + } + } + + function onCommitUnmount(fiber) { + if (typeof onCommitFiberUnmount === "function") { + onCommitFiberUnmount(fiber); + } + } + + var lowPriorityWarning = function lowPriorityWarning() {}; + + { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = "Warning: " + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== "undefined") { + console.warn(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarning = function lowPriorityWarning(condition, format) { + if (format === undefined) { + throw new Error("`warning(condition, format, ...args)` requires a warning " + "message argument"); + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + var lowPriorityWarning$1 = lowPriorityWarning; + var ReactStrictModeWarnings = { + discardPendingWarnings: function discardPendingWarnings() {}, + flushPendingDeprecationWarnings: function flushPendingDeprecationWarnings() {}, + flushPendingUnsafeLifecycleWarnings: function flushPendingUnsafeLifecycleWarnings() {}, + recordDeprecationWarnings: function recordDeprecationWarnings(fiber, instance) {}, + recordUnsafeLifecycleWarnings: function recordUnsafeLifecycleWarnings(fiber, instance) {}, + recordLegacyContextWarning: function recordLegacyContextWarning(fiber, instance) {}, + flushLegacyContextWarning: function flushLegacyContextWarning() {} + }; + { + var LIFECYCLE_SUGGESTIONS = { + UNSAFE_componentWillMount: "componentDidMount", + UNSAFE_componentWillReceiveProps: "static getDerivedStateFromProps", + UNSAFE_componentWillUpdate: "componentDidUpdate" + }; + var pendingComponentWillMountWarnings = []; + var pendingComponentWillReceivePropsWarnings = []; + var pendingComponentWillUpdateWarnings = []; + var pendingUnsafeLifecycleWarnings = new Map(); + var pendingLegacyContextWarning = new Map(); + var didWarnAboutDeprecatedLifecycles = new Set(); + var didWarnAboutUnsafeLifecycles = new Set(); + var didWarnAboutLegacyContext = new Set(); + + var setToSortedString = function setToSortedString(set) { + var array = []; + set.forEach(function (value) { + array.push(value); + }); + return array.sort().join(", "); + }; + + ReactStrictModeWarnings.discardPendingWarnings = function () { + pendingComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUnsafeLifecycleWarnings = new Map(); + pendingLegacyContextWarning = new Map(); + }; + + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () { + pendingUnsafeLifecycleWarnings.forEach(function (lifecycleWarningsMap, strictRoot) { + var lifecyclesWarningMesages = []; + Object.keys(lifecycleWarningsMap).forEach(function (lifecycle) { + var lifecycleWarnings = lifecycleWarningsMap[lifecycle]; + + if (lifecycleWarnings.length > 0) { + var componentNames = new Set(); + lifecycleWarnings.forEach(function (fiber) { + componentNames.add(getComponentName(fiber) || "Component"); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }); + var formatted = lifecycle.replace("UNSAFE_", ""); + var suggestion = LIFECYCLE_SUGGESTIONS[lifecycle]; + var sortedComponentNames = setToSortedString(componentNames); + lifecyclesWarningMesages.push(formatted + ": Please update the following components to use " + (suggestion + " instead: " + sortedComponentNames)); + } + }); + + if (lifecyclesWarningMesages.length > 0) { + var strictRootComponentStack = getStackAddendumByWorkInProgressFiber(strictRoot); + warning(false, "Unsafe lifecycle methods were found within a strict-mode tree:%s" + "\n\n%s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-strict-mode-warnings", strictRootComponentStack, lifecyclesWarningMesages.join("\n\n")); + } + }); + pendingUnsafeLifecycleWarnings = new Map(); + }; + + var findStrictRoot = function findStrictRoot(fiber) { + var maybeStrictRoot = null; + var node = fiber; + + while (node !== null) { + if (node.mode & StrictMode) { + maybeStrictRoot = node; + } + + node = node.return; + } + + return maybeStrictRoot; + }; + + ReactStrictModeWarnings.flushPendingDeprecationWarnings = function () { + if (pendingComponentWillMountWarnings.length > 0) { + var uniqueNames = new Set(); + pendingComponentWillMountWarnings.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber) || "Component"); + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + lowPriorityWarning$1(false, "componentWillMount is deprecated and will be removed in the next major version. " + "Use componentDidMount instead. As a temporary workaround, " + "you can rename to UNSAFE_componentWillMount." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", sortedNames); + pendingComponentWillMountWarnings = []; + } + + if (pendingComponentWillReceivePropsWarnings.length > 0) { + var _uniqueNames = new Set(); + + pendingComponentWillReceivePropsWarnings.forEach(function (fiber) { + _uniqueNames.add(getComponentName(fiber) || "Component"); + + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames = setToSortedString(_uniqueNames); + + lowPriorityWarning$1(false, "componentWillReceiveProps is deprecated and will be removed in the next major version. " + "Use static getDerivedStateFromProps instead." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", _sortedNames); + pendingComponentWillReceivePropsWarnings = []; + } + + if (pendingComponentWillUpdateWarnings.length > 0) { + var _uniqueNames2 = new Set(); + + pendingComponentWillUpdateWarnings.forEach(function (fiber) { + _uniqueNames2.add(getComponentName(fiber) || "Component"); + + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames2 = setToSortedString(_uniqueNames2); + + lowPriorityWarning$1(false, "componentWillUpdate is deprecated and will be removed in the next major version. " + "Use componentDidUpdate instead. As a temporary workaround, " + "you can rename to UNSAFE_componentWillUpdate." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", _sortedNames2); + pendingComponentWillUpdateWarnings = []; + } + }; + + ReactStrictModeWarnings.recordDeprecationWarnings = function (fiber, instance) { + if (didWarnAboutDeprecatedLifecycles.has(fiber.type)) { + return; + } + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) { + pendingComponentWillMountWarnings.push(fiber); + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + pendingComponentWillReceivePropsWarnings.push(fiber); + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + pendingComponentWillUpdateWarnings.push(fiber); + } + }; + + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + + if (strictRoot === null) { + warning(false, "Expected to find a StrictMode component in a strict mode tree. " + "This error is likely caused by a bug in React. Please file an issue."); + return; + } + + if (didWarnAboutUnsafeLifecycles.has(fiber.type)) { + return; + } + + var warningsForRoot = void 0; + + if (!pendingUnsafeLifecycleWarnings.has(strictRoot)) { + warningsForRoot = { + UNSAFE_componentWillMount: [], + UNSAFE_componentWillReceiveProps: [], + UNSAFE_componentWillUpdate: [] + }; + pendingUnsafeLifecycleWarnings.set(strictRoot, warningsForRoot); + } else { + warningsForRoot = pendingUnsafeLifecycleWarnings.get(strictRoot); + } + + var unsafeLifecycles = []; + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillMount === "function") { + unsafeLifecycles.push("UNSAFE_componentWillMount"); + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillReceiveProps === "function") { + unsafeLifecycles.push("UNSAFE_componentWillReceiveProps"); + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillUpdate === "function") { + unsafeLifecycles.push("UNSAFE_componentWillUpdate"); + } + + if (unsafeLifecycles.length > 0) { + unsafeLifecycles.forEach(function (lifecycle) { + warningsForRoot[lifecycle].push(fiber); + }); + } + }; + + ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + + if (strictRoot === null) { + warning(false, "Expected to find a StrictMode component in a strict mode tree. " + "This error is likely caused by a bug in React. Please file an issue."); + return; + } + + if (didWarnAboutLegacyContext.has(fiber.type)) { + return; + } + + var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); + + if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === "function") { + if (warningsForRoot === undefined) { + warningsForRoot = []; + pendingLegacyContextWarning.set(strictRoot, warningsForRoot); + } + + warningsForRoot.push(fiber); + } + }; + + ReactStrictModeWarnings.flushLegacyContextWarning = function () { + pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) { + var uniqueNames = new Set(); + fiberArray.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + var strictRootComponentStack = getStackAddendumByWorkInProgressFiber(strictRoot); + warning(false, "Legacy context API has been detected within a strict-mode tree: %s" + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-strict-mode-warnings", strictRootComponentStack, sortedNames); + }); + }; + } + var ReactFiberInstrumentation = { + debugTool: null + }; + var ReactFiberInstrumentation_1 = ReactFiberInstrumentation; + + function markPendingPriorityLevel(root, expirationTime) { + root.didError = false; + var earliestPendingTime = root.earliestPendingTime; + + if (earliestPendingTime === NoWork) { + root.earliestPendingTime = root.latestPendingTime = expirationTime; + } else { + if (earliestPendingTime > expirationTime) { + root.earliestPendingTime = expirationTime; + } else { + var latestPendingTime = root.latestPendingTime; + + if (latestPendingTime < expirationTime) { + root.latestPendingTime = expirationTime; + } + } + } + + findNextPendingPriorityLevel(root); + } + + function markCommittedPriorityLevels(root, currentTime, earliestRemainingTime) { + root.didError = false; + + if (earliestRemainingTime === NoWork) { + root.earliestPendingTime = NoWork; + root.latestPendingTime = NoWork; + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + findNextPendingPriorityLevel(root); + return; + } + + var latestPendingTime = root.latestPendingTime; + + if (latestPendingTime !== NoWork) { + if (latestPendingTime < earliestRemainingTime) { + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + var earliestPendingTime = root.earliestPendingTime; + + if (earliestPendingTime < earliestRemainingTime) { + root.earliestPendingTime = root.latestPendingTime; + } + } + } + + var earliestSuspendedTime = root.earliestSuspendedTime; + + if (earliestSuspendedTime === NoWork) { + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + var latestSuspendedTime = root.latestSuspendedTime; + + if (earliestRemainingTime > latestSuspendedTime) { + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + if (earliestRemainingTime < earliestSuspendedTime) { + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + findNextPendingPriorityLevel(root); + } + + function hasLowerPriorityWork(root, renderExpirationTime) { + return renderExpirationTime !== root.latestPendingTime && renderExpirationTime !== root.latestSuspendedTime; + } + + function markSuspendedPriorityLevel(root, suspendedTime, didError) { + if (didError && !hasLowerPriorityWork(root, suspendedTime)) { + root.didError = true; + findNextPendingPriorityLevel(root); + return; + } + + var earliestPendingTime = root.earliestPendingTime; + var latestPendingTime = root.latestPendingTime; + + if (earliestPendingTime === suspendedTime) { + if (latestPendingTime === suspendedTime) { + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + root.earliestPendingTime = latestPendingTime; + } + } else if (latestPendingTime === suspendedTime) { + root.latestPendingTime = earliestPendingTime; + } + + var latestSuspendedTime = root.latestSuspendedTime; + + if (latestSuspendedTime === suspendedTime) { + root.latestPingedTime = NoWork; + } + + var earliestSuspendedTime = root.earliestSuspendedTime; + + if (earliestSuspendedTime === NoWork) { + root.earliestSuspendedTime = root.latestSuspendedTime = suspendedTime; + } else { + if (earliestSuspendedTime > suspendedTime) { + root.earliestSuspendedTime = suspendedTime; + } else if (latestSuspendedTime < suspendedTime) { + root.latestSuspendedTime = suspendedTime; + } + } + + findNextPendingPriorityLevel(root); + } + + function markPingedPriorityLevel(root, pingedTime) { + var latestSuspendedTime = root.latestSuspendedTime; + + if (latestSuspendedTime !== NoWork && latestSuspendedTime <= pingedTime) { + var latestPingedTime = root.latestPingedTime; + + if (latestPingedTime === NoWork || latestPingedTime < pingedTime) { + root.latestPingedTime = pingedTime; + } + } + + findNextPendingPriorityLevel(root); + } + + function findNextPendingPriorityLevel(root) { + var earliestSuspendedTime = root.earliestSuspendedTime; + var earliestPendingTime = root.earliestPendingTime; + var nextExpirationTimeToWorkOn = void 0; + var expirationTime = void 0; + + if (earliestSuspendedTime === NoWork) { + nextExpirationTimeToWorkOn = expirationTime = earliestPendingTime; + } else if (earliestPendingTime !== NoWork) { + nextExpirationTimeToWorkOn = earliestPendingTime; + expirationTime = earliestSuspendedTime < earliestPendingTime ? earliestSuspendedTime : earliestPendingTime; + } else { + nextExpirationTimeToWorkOn = expirationTime = root.latestPingedTime; + } + + if (root.didError) { + expirationTime = Sync; + } + + root.nextExpirationTimeToWorkOn = nextExpirationTimeToWorkOn; + root.expirationTime = expirationTime; + } + + var UpdateState = 0; + var ReplaceState = 1; + var ForceUpdate = 2; + var CaptureUpdate = 3; + var hasForceUpdate = false; + var didWarnUpdateInsideUpdate = void 0; + var currentlyProcessingQueue = void 0; + var resetCurrentlyProcessingQueue = void 0; + { + didWarnUpdateInsideUpdate = false; + currentlyProcessingQueue = null; + + resetCurrentlyProcessingQueue = function resetCurrentlyProcessingQueue() { + currentlyProcessingQueue = null; + }; + } + + function createUpdateQueue(baseState) { + var queue = { + expirationTime: NoWork, + baseState: baseState, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function cloneUpdateQueue(currentQueue) { + var queue = { + expirationTime: currentQueue.expirationTime, + baseState: currentQueue.baseState, + firstUpdate: currentQueue.firstUpdate, + lastUpdate: currentQueue.lastUpdate, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function createUpdate(expirationTime) { + return { + expirationTime: expirationTime, + tag: UpdateState, + payload: null, + callback: null, + next: null, + nextEffect: null + }; + } + + function appendUpdateToQueue(queue, update, expirationTime) { + if (queue.lastUpdate === null) { + queue.firstUpdate = queue.lastUpdate = update; + } else { + queue.lastUpdate.next = update; + queue.lastUpdate = update; + } + + if (queue.expirationTime === NoWork || queue.expirationTime > expirationTime) { + queue.expirationTime = expirationTime; + } + } + + function enqueueUpdate(fiber, update, expirationTime) { + var alternate = fiber.alternate; + var queue1 = void 0; + var queue2 = void 0; + + if (alternate === null) { + queue1 = fiber.updateQueue; + queue2 = null; + + if (queue1 === null) { + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + } + } else { + queue1 = fiber.updateQueue; + queue2 = alternate.updateQueue; + + if (queue1 === null) { + if (queue2 === null) { + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + queue2 = alternate.updateQueue = createUpdateQueue(alternate.memoizedState); + } else { + queue1 = fiber.updateQueue = cloneUpdateQueue(queue2); + } + } else { + if (queue2 === null) { + queue2 = alternate.updateQueue = cloneUpdateQueue(queue1); + } else {} + } + } + + if (queue2 === null || queue1 === queue2) { + appendUpdateToQueue(queue1, update, expirationTime); + } else { + if (queue1.lastUpdate === null || queue2.lastUpdate === null) { + appendUpdateToQueue(queue1, update, expirationTime); + appendUpdateToQueue(queue2, update, expirationTime); + } else { + appendUpdateToQueue(queue1, update, expirationTime); + queue2.lastUpdate = update; + } + } + + { + if (fiber.tag === ClassComponent && (currentlyProcessingQueue === queue1 || queue2 !== null && currentlyProcessingQueue === queue2) && !didWarnUpdateInsideUpdate) { + warning(false, "An update (setState, replaceState, or forceUpdate) was scheduled " + "from inside an update function. Update functions should be pure, " + "with zero side-effects. Consider using componentDidUpdate or a " + "callback."); + didWarnUpdateInsideUpdate = true; + } + } + } + + function enqueueCapturedUpdate(workInProgress, update, renderExpirationTime) { + var workInProgressQueue = workInProgress.updateQueue; + + if (workInProgressQueue === null) { + workInProgressQueue = workInProgress.updateQueue = createUpdateQueue(workInProgress.memoizedState); + } else { + workInProgressQueue = ensureWorkInProgressQueueIsAClone(workInProgress, workInProgressQueue); + } + + if (workInProgressQueue.lastCapturedUpdate === null) { + workInProgressQueue.firstCapturedUpdate = workInProgressQueue.lastCapturedUpdate = update; + } else { + workInProgressQueue.lastCapturedUpdate.next = update; + workInProgressQueue.lastCapturedUpdate = update; + } + + if (workInProgressQueue.expirationTime === NoWork || workInProgressQueue.expirationTime > renderExpirationTime) { + workInProgressQueue.expirationTime = renderExpirationTime; + } + } + + function ensureWorkInProgressQueueIsAClone(workInProgress, queue) { + var current = workInProgress.alternate; + + if (current !== null) { + if (queue === current.updateQueue) { + queue = workInProgress.updateQueue = cloneUpdateQueue(queue); + } + } + + return queue; + } + + function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { + switch (update.tag) { + case ReplaceState: + { + var _payload = update.payload; + + if (typeof _payload === "function") { + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload.call(instance, prevState, nextProps); + } + } + return _payload.call(instance, prevState, nextProps); + } + + return _payload; + } + + case CaptureUpdate: + { + workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture; + } + + case UpdateState: + { + var _payload2 = update.payload; + var partialState = void 0; + + if (typeof _payload2 === "function") { + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload2.call(instance, prevState, nextProps); + } + } + partialState = _payload2.call(instance, prevState, nextProps); + } else { + partialState = _payload2; + } + + if (partialState === null || partialState === undefined) { + return prevState; + } + + return _extends({}, prevState, partialState); + } + + case ForceUpdate: + { + hasForceUpdate = true; + return prevState; + } + } + + return prevState; + } + + function processUpdateQueue(workInProgress, queue, props, instance, renderExpirationTime) { + hasForceUpdate = false; + + if (queue.expirationTime === NoWork || queue.expirationTime > renderExpirationTime) { + return; + } + + queue = ensureWorkInProgressQueueIsAClone(workInProgress, queue); + { + currentlyProcessingQueue = queue; + } + var newBaseState = queue.baseState; + var newFirstUpdate = null; + var newExpirationTime = NoWork; + var update = queue.firstUpdate; + var resultState = newBaseState; + + while (update !== null) { + var updateExpirationTime = update.expirationTime; + + if (updateExpirationTime > renderExpirationTime) { + if (newFirstUpdate === null) { + newFirstUpdate = update; + newBaseState = resultState; + } + + if (newExpirationTime === NoWork || newExpirationTime > updateExpirationTime) { + newExpirationTime = updateExpirationTime; + } + } else { + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback = update.callback; + + if (_callback !== null) { + workInProgress.effectTag |= Callback; + update.nextEffect = null; + + if (queue.lastEffect === null) { + queue.firstEffect = queue.lastEffect = update; + } else { + queue.lastEffect.nextEffect = update; + queue.lastEffect = update; + } + } + } + + update = update.next; + } + + var newFirstCapturedUpdate = null; + update = queue.firstCapturedUpdate; + + while (update !== null) { + var _updateExpirationTime = update.expirationTime; + + if (_updateExpirationTime > renderExpirationTime) { + if (newFirstCapturedUpdate === null) { + newFirstCapturedUpdate = update; + + if (newFirstUpdate === null) { + newBaseState = resultState; + } + } + + if (newExpirationTime === NoWork || newExpirationTime > _updateExpirationTime) { + newExpirationTime = _updateExpirationTime; + } + } else { + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback2 = update.callback; + + if (_callback2 !== null) { + workInProgress.effectTag |= Callback; + update.nextEffect = null; + + if (queue.lastCapturedEffect === null) { + queue.firstCapturedEffect = queue.lastCapturedEffect = update; + } else { + queue.lastCapturedEffect.nextEffect = update; + queue.lastCapturedEffect = update; + } + } + } + + update = update.next; + } + + if (newFirstUpdate === null) { + queue.lastUpdate = null; + } + + if (newFirstCapturedUpdate === null) { + queue.lastCapturedUpdate = null; + } else { + workInProgress.effectTag |= Callback; + } + + if (newFirstUpdate === null && newFirstCapturedUpdate === null) { + newBaseState = resultState; + } + + queue.baseState = newBaseState; + queue.firstUpdate = newFirstUpdate; + queue.firstCapturedUpdate = newFirstCapturedUpdate; + queue.expirationTime = newExpirationTime; + workInProgress.memoizedState = resultState; + { + currentlyProcessingQueue = null; + } + } + + function callCallback(callback, context) { + invariant(typeof callback === "function", "Invalid argument passed as callback. Expected a function. Instead " + "received: %s", callback); + callback.call(context); + } + + function resetHasForceUpdateBeforeProcessing() { + hasForceUpdate = false; + } + + function checkHasForceUpdateAfterProcessing() { + return hasForceUpdate; + } + + function commitUpdateQueue(finishedWork, finishedQueue, instance, renderExpirationTime) { + if (finishedQueue.firstCapturedUpdate !== null) { + if (finishedQueue.lastUpdate !== null) { + finishedQueue.lastUpdate.next = finishedQueue.firstCapturedUpdate; + finishedQueue.lastUpdate = finishedQueue.lastCapturedUpdate; + } + + finishedQueue.firstCapturedUpdate = finishedQueue.lastCapturedUpdate = null; + } + + var effect = finishedQueue.firstEffect; + finishedQueue.firstEffect = finishedQueue.lastEffect = null; + + while (effect !== null) { + var _callback3 = effect.callback; + + if (_callback3 !== null) { + effect.callback = null; + callCallback(_callback3, instance); + } + + effect = effect.nextEffect; + } + + effect = finishedQueue.firstCapturedEffect; + finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; + + while (effect !== null) { + var _callback4 = effect.callback; + + if (_callback4 !== null) { + effect.callback = null; + callCallback(_callback4, instance); + } + + effect = effect.nextEffect; + } + } + + function createCapturedValue(value, source) { + return { + value: value, + source: source, + stack: getStackAddendumByWorkInProgressFiber(source) + }; + } + + var providerCursor = createCursor(null); + var valueCursor = createCursor(null); + var changedBitsCursor = createCursor(0); + var rendererSigil = void 0; + { + rendererSigil = {}; + } + + function pushProvider(providerFiber) { + var context = providerFiber.type._context; + + if (isPrimaryRenderer) { + push(changedBitsCursor, context._changedBits, providerFiber); + push(valueCursor, context._currentValue, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue = providerFiber.pendingProps.value; + context._changedBits = providerFiber.stateNode; + { + !(context._currentRenderer === undefined || context._currentRenderer === null || context._currentRenderer === rendererSigil) ? warning(false, "Detected multiple renderers concurrently rendering the " + "same context provider. This is currently unsupported.") : void 0; + context._currentRenderer = rendererSigil; + } + } else { + push(changedBitsCursor, context._changedBits2, providerFiber); + push(valueCursor, context._currentValue2, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue2 = providerFiber.pendingProps.value; + context._changedBits2 = providerFiber.stateNode; + { + !(context._currentRenderer2 === undefined || context._currentRenderer2 === null || context._currentRenderer2 === rendererSigil) ? warning(false, "Detected multiple renderers concurrently rendering the " + "same context provider. This is currently unsupported.") : void 0; + context._currentRenderer2 = rendererSigil; + } + } + } + + function popProvider(providerFiber) { + var changedBits = changedBitsCursor.current; + var currentValue = valueCursor.current; + pop(providerCursor, providerFiber); + pop(valueCursor, providerFiber); + pop(changedBitsCursor, providerFiber); + var context = providerFiber.type._context; + + if (isPrimaryRenderer) { + context._currentValue = currentValue; + context._changedBits = changedBits; + } else { + context._currentValue2 = currentValue; + context._changedBits2 = changedBits; + } + } + + function getContextCurrentValue(context) { + return isPrimaryRenderer ? context._currentValue : context._currentValue2; + } + + function getContextChangedBits(context) { + return isPrimaryRenderer ? context._changedBits : context._changedBits2; + } + + var NO_CONTEXT = {}; + var contextStackCursor$1 = createCursor(NO_CONTEXT); + var contextFiberStackCursor = createCursor(NO_CONTEXT); + var rootInstanceStackCursor = createCursor(NO_CONTEXT); + + function requiredContext(c) { + invariant(c !== NO_CONTEXT, "Expected host context to exist. This error is likely caused by a bug " + "in React. Please file an issue."); + return c; + } + + function getRootHostContainer() { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + return rootInstance; + } + + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, NO_CONTEXT, fiber); + var nextRootContext = getRootHostContext(nextRootInstance); + pop(contextStackCursor$1, fiber); + push(contextStackCursor$1, nextRootContext, fiber); + } + + function popHostContainer(fiber) { + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + + function getHostContext() { + var context = requiredContext(contextStackCursor$1.current); + return context; + } + + function pushHostContext(fiber) { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + var context = requiredContext(contextStackCursor$1.current); + var nextContext = getChildHostContext(context, fiber.type, rootInstance); + + if (context === nextContext) { + return; + } + + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, nextContext, fiber); + } + + function popHostContext(fiber) { + if (contextFiberStackCursor.current !== fiber) { + return; + } + + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + } + + var commitTime = 0; + + function getCommitTime() { + return commitTime; + } + + function recordCommitTime() { + if (!enableProfilerTimer) { + return; + } + + commitTime = now(); + } + + var fiberStack$1 = void 0; + { + fiberStack$1 = []; + } + var timerPausedAt = 0; + var totalElapsedPauseTime = 0; + + function checkActualRenderTimeStackEmpty() { + if (!enableProfilerTimer) { + return; + } + + { + !(fiberStack$1.length === 0) ? warning(false, "Expected an empty stack. Something was not reset properly.") : void 0; + } + } + + function markActualRenderTimeStarted(fiber) { + if (!enableProfilerTimer) { + return; + } + + { + fiberStack$1.push(fiber); + } + fiber.actualDuration = now() - fiber.actualDuration - totalElapsedPauseTime; + fiber.actualStartTime = now(); + } + + function pauseActualRenderTimerIfRunning() { + if (!enableProfilerTimer) { + return; + } + + if (timerPausedAt === 0) { + timerPausedAt = now(); + } + } + + function recordElapsedActualRenderTime(fiber) { + if (!enableProfilerTimer) { + return; + } + + { + !(fiber === fiberStack$1.pop()) ? warning(false, "Unexpected Fiber (%s) popped.", getComponentName(fiber)) : void 0; + } + fiber.actualDuration = now() - totalElapsedPauseTime - fiber.actualDuration; + } + + function resetActualRenderTimer() { + if (!enableProfilerTimer) { + return; + } + + totalElapsedPauseTime = 0; + } + + function resumeActualRenderTimerIfPaused() { + if (!enableProfilerTimer) { + return; + } + + if (timerPausedAt > 0) { + totalElapsedPauseTime += now() - timerPausedAt; + timerPausedAt = 0; + } + } + + var baseStartTime = -1; + + function recordElapsedBaseRenderTimeIfRunning(fiber) { + if (!enableProfilerTimer) { + return; + } + + if (baseStartTime !== -1) { + fiber.selfBaseTime = now() - baseStartTime; + } + } + + function startBaseRenderTimer() { + if (!enableProfilerTimer) { + return; + } + + { + if (baseStartTime !== -1) { + warning(false, "Cannot start base timer that is already running. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + } + baseStartTime = now(); + } + + function stopBaseRenderTimerIfRunning() { + if (!enableProfilerTimer) { + return; + } + + baseStartTime = -1; + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + function is(x, y) { + if (x === y) { + return x !== 0 || y !== 0 || 1 / x === 1 / y; + } else { + return x !== x && y !== y; + } + } + + function shallowEqual(objA, objB) { + if (is(objA, objB)) { + return true; + } + + if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) { + return false; + } + + var keysA = Object.keys(objA); + var keysB = Object.keys(objB); + + if (keysA.length !== keysB.length) { + return false; + } + + for (var i = 0; i < keysA.length; i++) { + if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { + return false; + } + } + + return true; + } + + var fakeInternalInstance = {}; + var isArray = Array.isArray; + var didWarnAboutStateAssignmentForComponent = void 0; + var didWarnAboutUninitializedState = void 0; + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = void 0; + var didWarnAboutLegacyLifecyclesAndDerivedState = void 0; + var didWarnAboutUndefinedDerivedState = void 0; + var warnOnUndefinedDerivedState = void 0; + var warnOnInvalidCallback = void 0; + { + didWarnAboutStateAssignmentForComponent = new Set(); + didWarnAboutUninitializedState = new Set(); + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set(); + didWarnAboutLegacyLifecyclesAndDerivedState = new Set(); + didWarnAboutUndefinedDerivedState = new Set(); + var didWarnOnInvalidCallback = new Set(); + + warnOnInvalidCallback = function warnOnInvalidCallback(callback, callerName) { + if (callback === null || typeof callback === "function") { + return; + } + + var key = callerName + "_" + callback; + + if (!didWarnOnInvalidCallback.has(key)) { + didWarnOnInvalidCallback.add(key); + warning(false, "%s(...): Expected the last optional `callback` argument to be a " + "function. Instead received: %s.", callerName, callback); + } + }; + + warnOnUndefinedDerivedState = function warnOnUndefinedDerivedState(workInProgress, partialState) { + if (partialState === undefined) { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutUndefinedDerivedState.has(componentName)) { + didWarnAboutUndefinedDerivedState.add(componentName); + warning(false, "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. " + "You have returned undefined.", componentName); + } + } + }; + + Object.defineProperty(fakeInternalInstance, "_processChildContext", { + enumerable: false, + value: function value() { + invariant(false, "_processChildContext is not available in React 16+. This likely " + "means you have multiple copies of React and are attempting to nest " + "a React 15 tree inside a React 16 tree using " + "unstable_renderSubtreeIntoContainer, which isn't supported. Try " + "to make sure you have only one copy of React (and ideally, switch " + "to ReactDOM.createPortal)."); + } + }); + Object.freeze(fakeInternalInstance); + } + + function applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress.memoizedState; + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + getDerivedStateFromProps(nextProps, prevState); + } + } + var partialState = getDerivedStateFromProps(nextProps, prevState); + { + warnOnUndefinedDerivedState(workInProgress, partialState); + } + var memoizedState = partialState === null || partialState === undefined ? prevState : _extends({}, prevState, partialState); + workInProgress.memoizedState = memoizedState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null && updateQueue.expirationTime === NoWork) { + updateQueue.baseState = memoizedState; + } + } + + var classComponentUpdater = { + isMounted: isMounted, + enqueueSetState: function enqueueSetState(inst, payload, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.payload = payload; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "setState"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + }, + enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.tag = ReplaceState; + update.payload = payload; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "replaceState"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + }, + enqueueForceUpdate: function enqueueForceUpdate(inst, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.tag = ForceUpdate; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "forceUpdate"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + } + }; + + function checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext) { + var instance = workInProgress.stateNode; + var ctor = workInProgress.type; + + if (typeof instance.shouldComponentUpdate === "function") { + startPhaseTimer(workInProgress, "shouldComponentUpdate"); + var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, newContext); + stopPhaseTimer(); + { + !(shouldUpdate !== undefined) ? warning(false, "%s.shouldComponentUpdate(): Returned undefined instead of a " + "boolean value. Make sure to return true or false.", getComponentName(workInProgress) || "Component") : void 0; + } + return shouldUpdate; + } + + if (ctor.prototype && ctor.prototype.isPureReactComponent) { + return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); + } + + return true; + } + + function checkClassInstance(workInProgress) { + var instance = workInProgress.stateNode; + var type = workInProgress.type; + { + var name = getComponentName(workInProgress) || "Component"; + var renderPresent = instance.render; + + if (!renderPresent) { + if (type.prototype && typeof type.prototype.render === "function") { + warning(false, "%s(...): No `render` method found on the returned component " + "instance: did you accidentally return an object from the constructor?", name); + } else { + warning(false, "%s(...): No `render` method found on the returned component " + "instance: you may have forgotten to define `render`.", name); + } + } + + var noGetInitialStateOnES6 = !instance.getInitialState || instance.getInitialState.isReactClassApproved || instance.state; + !noGetInitialStateOnES6 ? warning(false, "getInitialState was defined on %s, a plain JavaScript class. " + "This is only supported for classes created using React.createClass. " + "Did you mean to define a state property instead?", name) : void 0; + var noGetDefaultPropsOnES6 = !instance.getDefaultProps || instance.getDefaultProps.isReactClassApproved; + !noGetDefaultPropsOnES6 ? warning(false, "getDefaultProps was defined on %s, a plain JavaScript class. " + "This is only supported for classes created using React.createClass. " + "Use a static property to define defaultProps instead.", name) : void 0; + var noInstancePropTypes = !instance.propTypes; + !noInstancePropTypes ? warning(false, "propTypes was defined as an instance property on %s. Use a static " + "property to define propTypes instead.", name) : void 0; + var noInstanceContextTypes = !instance.contextTypes; + !noInstanceContextTypes ? warning(false, "contextTypes was defined as an instance property on %s. Use a static " + "property to define contextTypes instead.", name) : void 0; + var noComponentShouldUpdate = typeof instance.componentShouldUpdate !== "function"; + !noComponentShouldUpdate ? warning(false, "%s has a method called " + "componentShouldUpdate(). Did you mean shouldComponentUpdate()? " + "The name is phrased as a question because the function is " + "expected to return a value.", name) : void 0; + + if (type.prototype && type.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== "undefined") { + warning(false, "%s has a method called shouldComponentUpdate(). " + "shouldComponentUpdate should not be used when extending React.PureComponent. " + "Please extend React.Component if shouldComponentUpdate is used.", getComponentName(workInProgress) || "A pure component"); + } + + var noComponentDidUnmount = typeof instance.componentDidUnmount !== "function"; + !noComponentDidUnmount ? warning(false, "%s has a method called " + "componentDidUnmount(). But there is no such lifecycle method. " + "Did you mean componentWillUnmount()?", name) : void 0; + var noComponentDidReceiveProps = typeof instance.componentDidReceiveProps !== "function"; + !noComponentDidReceiveProps ? warning(false, "%s has a method called " + "componentDidReceiveProps(). But there is no such lifecycle method. " + "If you meant to update the state in response to changing props, " + "use componentWillReceiveProps(). If you meant to fetch data or " + "run side-effects or mutations after React has updated the UI, use componentDidUpdate().", name) : void 0; + var noComponentWillRecieveProps = typeof instance.componentWillRecieveProps !== "function"; + !noComponentWillRecieveProps ? warning(false, "%s has a method called " + "componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", name) : void 0; + var noUnsafeComponentWillRecieveProps = typeof instance.UNSAFE_componentWillRecieveProps !== "function"; + !noUnsafeComponentWillRecieveProps ? warning(false, "%s has a method called " + "UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", name) : void 0; + var hasMutatedProps = instance.props !== workInProgress.pendingProps; + !(instance.props === undefined || !hasMutatedProps) ? warning(false, "%s(...): When calling super() in `%s`, make sure to pass " + "up the same props that your component's constructor was passed.", name, name) : void 0; + var noInstanceDefaultProps = !instance.defaultProps; + !noInstanceDefaultProps ? warning(false, "Setting defaultProps as an instance property on %s is not supported and will be ignored." + " Instead, define defaultProps as a static property on %s.", name, name) : void 0; + + if (typeof instance.getSnapshotBeforeUpdate === "function" && typeof instance.componentDidUpdate !== "function" && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(type)) { + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(type); + warning(false, "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). " + "This component defines getSnapshotBeforeUpdate() only.", getComponentName(workInProgress)); + } + + var noInstanceGetDerivedStateFromProps = typeof instance.getDerivedStateFromProps !== "function"; + !noInstanceGetDerivedStateFromProps ? warning(false, "%s: getDerivedStateFromProps() is defined as an instance method " + "and will be ignored. Instead, declare it as a static method.", name) : void 0; + var noInstanceGetDerivedStateFromCatch = typeof instance.getDerivedStateFromCatch !== "function"; + !noInstanceGetDerivedStateFromCatch ? warning(false, "%s: getDerivedStateFromCatch() is defined as an instance method " + "and will be ignored. Instead, declare it as a static method.", name) : void 0; + var noStaticGetSnapshotBeforeUpdate = typeof type.getSnapshotBeforeUpdate !== "function"; + !noStaticGetSnapshotBeforeUpdate ? warning(false, "%s: getSnapshotBeforeUpdate() is defined as a static method " + "and will be ignored. Instead, declare it as an instance method.", name) : void 0; + var _state = instance.state; + + if (_state && (typeof _state !== "object" || isArray(_state))) { + warning(false, "%s.state: must be set to an object or null", name); + } + + if (typeof instance.getChildContext === "function") { + !(typeof type.childContextTypes === "object") ? warning(false, "%s.getChildContext(): childContextTypes must be defined in order to " + "use getChildContext().", name) : void 0; + } + } + } + + function adoptClassInstance(workInProgress, instance) { + instance.updater = classComponentUpdater; + workInProgress.stateNode = instance; + set(instance, workInProgress); + { + instance._reactInternalInstance = fakeInternalInstance; + } + } + + function constructClassInstance(workInProgress, props, renderExpirationTime) { + var ctor = workInProgress.type; + var unmaskedContext = getUnmaskedContext(workInProgress); + var needsContext = isContextConsumer(workInProgress); + var context = needsContext ? getMaskedContext(workInProgress, unmaskedContext) : emptyObject; + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + new ctor(props, context); + } + } + var instance = new ctor(props, context); + var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null; + adoptClassInstance(workInProgress, instance); + { + if (typeof ctor.getDerivedStateFromProps === "function" && state === null) { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutUninitializedState.has(componentName)) { + didWarnAboutUninitializedState.add(componentName); + warning(false, "%s: Did not properly initialize state during construction. " + "Expected state to be an object, but it was %s.", componentName, instance.state === null ? "null" : "undefined"); + } + } + + if (typeof ctor.getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function") { + var foundWillMountName = null; + var foundWillReceivePropsName = null; + var foundWillUpdateName = null; + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) { + foundWillMountName = "componentWillMount"; + } else if (typeof instance.UNSAFE_componentWillMount === "function") { + foundWillMountName = "UNSAFE_componentWillMount"; + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + foundWillReceivePropsName = "componentWillReceiveProps"; + } else if (typeof instance.UNSAFE_componentWillReceiveProps === "function") { + foundWillReceivePropsName = "UNSAFE_componentWillReceiveProps"; + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + foundWillUpdateName = "componentWillUpdate"; + } else if (typeof instance.UNSAFE_componentWillUpdate === "function") { + foundWillUpdateName = "UNSAFE_componentWillUpdate"; + } + + if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { + var _componentName = getComponentName(workInProgress) || "Component"; + + var newApiName = typeof ctor.getDerivedStateFromProps === "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + + if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { + didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); + warning(false, "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n" + "%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n" + "The above lifecycles should be removed. Learn more about this warning here:\n" + "https://fb.me/react-async-component-lifecycle-hooks", _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : "", foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : "", foundWillUpdateName !== null ? "\n " + foundWillUpdateName : ""); + } + } + } + } + + if (needsContext) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return instance; + } + + function callComponentWillMount(workInProgress, instance) { + startPhaseTimer(workInProgress, "componentWillMount"); + var oldState = instance.state; + + if (typeof instance.componentWillMount === "function") { + instance.componentWillMount(); + } + + if (typeof instance.UNSAFE_componentWillMount === "function") { + instance.UNSAFE_componentWillMount(); + } + + stopPhaseTimer(); + + if (oldState !== instance.state) { + { + warning(false, "%s.componentWillMount(): Assigning directly to this.state is " + "deprecated (except inside a component's " + "constructor). Use setState instead.", getComponentName(workInProgress) || "Component"); + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + function callComponentWillReceiveProps(workInProgress, instance, newProps, newContext) { + var oldState = instance.state; + startPhaseTimer(workInProgress, "componentWillReceiveProps"); + + if (typeof instance.componentWillReceiveProps === "function") { + instance.componentWillReceiveProps(newProps, newContext); + } + + if (typeof instance.UNSAFE_componentWillReceiveProps === "function") { + instance.UNSAFE_componentWillReceiveProps(newProps, newContext); + } + + stopPhaseTimer(); + + if (instance.state !== oldState) { + { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { + didWarnAboutStateAssignmentForComponent.add(componentName); + warning(false, "%s.componentWillReceiveProps(): Assigning directly to " + "this.state is deprecated (except inside a component's " + "constructor). Use setState instead.", componentName); + } + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + function mountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + { + checkClassInstance(workInProgress); + } + var instance = workInProgress.stateNode; + var props = workInProgress.pendingProps; + var unmaskedContext = getUnmaskedContext(workInProgress); + instance.props = props; + instance.state = workInProgress.memoizedState; + instance.refs = emptyObject; + instance.context = getMaskedContext(workInProgress, unmaskedContext); + { + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance); + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance); + } + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.recordDeprecationWarnings(workInProgress, instance); + } + } + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, props, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + + var getDerivedStateFromProps = workInProgress.type.getDerivedStateFromProps; + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, props); + instance.state = workInProgress.memoizedState; + } + + if (typeof ctor.getDerivedStateFromProps !== "function" && typeof instance.getSnapshotBeforeUpdate !== "function" && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { + callComponentWillMount(workInProgress, instance); + updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, props, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + } + + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + } + + function resumeMountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + var oldProps = workInProgress.memoizedProps; + var newProps = workInProgress.pendingProps; + instance.props = oldProps; + var oldContext = instance.context; + var newUnmaskedContext = getUnmaskedContext(workInProgress); + var newContext = getMaskedContext(workInProgress, newUnmaskedContext); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; + + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { + if (oldProps !== newProps || oldContext !== newContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, newContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + + return false; + } + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext); + + if (shouldUpdate) { + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { + startPhaseTimer(workInProgress, "componentWillMount"); + + if (typeof instance.componentWillMount === "function") { + instance.componentWillMount(); + } + + if (typeof instance.UNSAFE_componentWillMount === "function") { + instance.UNSAFE_componentWillMount(); + } + + stopPhaseTimer(); + } + + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + } else { + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + instance.props = newProps; + instance.state = newState; + instance.context = newContext; + return shouldUpdate; + } + + function updateClassInstance(current, workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + var oldProps = workInProgress.memoizedProps; + var newProps = workInProgress.pendingProps; + instance.props = oldProps; + var oldContext = instance.context; + var newUnmaskedContext = getUnmaskedContext(workInProgress); + var newContext = getMaskedContext(workInProgress, newUnmaskedContext); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; + + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { + if (oldProps !== newProps || oldContext !== newContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, newContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + if (typeof instance.componentDidUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + + return false; + } + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext); + + if (shouldUpdate) { + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === "function" || typeof instance.componentWillUpdate === "function")) { + startPhaseTimer(workInProgress, "componentWillUpdate"); + + if (typeof instance.componentWillUpdate === "function") { + instance.componentWillUpdate(newProps, newState, newContext); + } + + if (typeof instance.UNSAFE_componentWillUpdate === "function") { + instance.UNSAFE_componentWillUpdate(newProps, newState, newContext); + } + + stopPhaseTimer(); + } + + if (typeof instance.componentDidUpdate === "function") { + workInProgress.effectTag |= Update; + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + workInProgress.effectTag |= Snapshot; + } + } else { + if (typeof instance.componentDidUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + instance.props = newProps; + instance.state = newState; + instance.context = newContext; + return shouldUpdate; + } + + var getCurrentFiberStackAddendum$2 = ReactDebugCurrentFiber.getCurrentFiberStackAddendum; + var didWarnAboutMaps = void 0; + var didWarnAboutStringRefInStrictMode = void 0; + var ownerHasKeyUseWarning = void 0; + var ownerHasFunctionTypeWarning = void 0; + + var warnForMissingKey = function warnForMissingKey(child) {}; + + { + didWarnAboutMaps = false; + didWarnAboutStringRefInStrictMode = {}; + ownerHasKeyUseWarning = {}; + ownerHasFunctionTypeWarning = {}; + + warnForMissingKey = function warnForMissingKey(child) { + if (child === null || typeof child !== "object") { + return; + } + + if (!child._store || child._store.validated || child.key != null) { + return; + } + + invariant(typeof child._store === "object", "React Component in warnForMissingKey should have a _store. " + "This error is likely caused by a bug in React. Please file an issue."); + child._store.validated = true; + var currentComponentErrorInfo = "Each child in an array or iterator should have a unique " + '"key" prop. See https://fb.me/react-warning-keys for ' + "more information." + (getCurrentFiberStackAddendum$2() || ""); + + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + warning(false, "Each child in an array or iterator should have a unique " + '"key" prop. See https://fb.me/react-warning-keys for ' + "more information.%s", getCurrentFiberStackAddendum$2()); + }; + } + var isArray$1 = Array.isArray; + + function coerceRef(returnFiber, current, element) { + var mixedRef = element.ref; + + if (mixedRef !== null && typeof mixedRef !== "function" && typeof mixedRef !== "object") { + { + if (returnFiber.mode & StrictMode) { + var componentName = getComponentName(returnFiber) || "Component"; + + if (!didWarnAboutStringRefInStrictMode[componentName]) { + warning(false, 'A string ref, "%s", has been found within a strict mode tree. ' + "String refs are a source of potential bugs and should be avoided. " + "We recommend using createRef() instead." + "\n%s" + "\n\nLearn more about using refs safely here:" + "\nhttps://fb.me/react-strict-mode-string-ref", mixedRef, getStackAddendumByWorkInProgressFiber(returnFiber)); + didWarnAboutStringRefInStrictMode[componentName] = true; + } + } + } + + if (element._owner) { + var owner = element._owner; + var inst = void 0; + + if (owner) { + var ownerFiber = owner; + invariant(ownerFiber.tag === ClassComponent, "Stateless function components cannot have refs."); + inst = ownerFiber.stateNode; + } + + invariant(inst, "Missing owner for string ref %s. This error is likely caused by a " + "bug in React. Please file an issue.", mixedRef); + var stringRef = "" + mixedRef; + + if (current !== null && current.ref !== null && typeof current.ref === "function" && current.ref._stringRef === stringRef) { + return current.ref; + } + + var ref = function ref(value) { + var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs; + + if (value === null) { + delete refs[stringRef]; + } else { + refs[stringRef] = value; + } + }; + + ref._stringRef = stringRef; + return ref; + } else { + invariant(typeof mixedRef === "string", "Expected ref to be a function or a string."); + invariant(element._owner, "Element ref was specified as a string (%s) but no owner was set. This could happen for one of" + " the following reasons:\n" + "1. You may be adding a ref to a functional component\n" + "2. You may be adding a ref to a component that was not created inside a component's render method\n" + "3. You have multiple copies of React loaded\n" + "See https://fb.me/react-refs-must-have-owner for more information.", mixedRef); + } + } + + return mixedRef; + } + + function throwOnInvalidObjectType(returnFiber, newChild) { + if (returnFiber.type !== "textarea") { + var addendum = ""; + { + addendum = " If you meant to render a collection of children, use an array " + "instead." + (getCurrentFiberStackAddendum$2() || ""); + } + invariant(false, "Objects are not valid as a React child (found: %s).%s", Object.prototype.toString.call(newChild) === "[object Object]" ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : newChild, addendum); + } + } + + function warnOnFunctionType() { + var currentComponentErrorInfo = "Functions are not valid as a React child. This may happen if " + "you return a Component instead of from render. " + "Or maybe you meant to call this function rather than return it." + (getCurrentFiberStackAddendum$2() || ""); + + if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) { + return; + } + + ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true; + warning(false, "Functions are not valid as a React child. This may happen if " + "you return a Component instead of from render. " + "Or maybe you meant to call this function rather than return it.%s", getCurrentFiberStackAddendum$2() || ""); + } + + function ChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (!shouldTrackSideEffects) { + return; + } + + var last = returnFiber.lastEffect; + + if (last !== null) { + last.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + + childToDelete.nextEffect = null; + childToDelete.effectTag = Deletion; + } + + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) { + return null; + } + + var childToDelete = currentFirstChild; + + while (childToDelete !== null) { + deleteChild(returnFiber, childToDelete); + childToDelete = childToDelete.sibling; + } + + return null; + } + + function mapRemainingChildren(returnFiber, currentFirstChild) { + var existingChildren = new Map(); + var existingChild = currentFirstChild; + + while (existingChild !== null) { + if (existingChild.key !== null) { + existingChildren.set(existingChild.key, existingChild); + } else { + existingChildren.set(existingChild.index, existingChild); + } + + existingChild = existingChild.sibling; + } + + return existingChildren; + } + + function useFiber(fiber, pendingProps, expirationTime) { + var clone = createWorkInProgress(fiber, pendingProps, expirationTime); + clone.index = 0; + clone.sibling = null; + return clone; + } + + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + + if (!shouldTrackSideEffects) { + return lastPlacedIndex; + } + + var current = newFiber.alternate; + + if (current !== null) { + var oldIndex = current.index; + + if (oldIndex < lastPlacedIndex) { + newFiber.effectTag = Placement; + return lastPlacedIndex; + } else { + return oldIndex; + } + } else { + newFiber.effectTag = Placement; + return lastPlacedIndex; + } + } + + function placeSingleChild(newFiber) { + if (shouldTrackSideEffects && newFiber.alternate === null) { + newFiber.effectTag = Placement; + } + + return newFiber; + } + + function updateTextNode(returnFiber, current, textContent, expirationTime) { + if (current === null || current.tag !== HostText) { + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateElement(returnFiber, current, element, expirationTime) { + if (current !== null && current.type === element.type) { + var existing = useFiber(current, element.props, expirationTime); + existing.ref = coerceRef(returnFiber, current, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + var created = createFiberFromElement(element, returnFiber.mode, expirationTime); + created.ref = coerceRef(returnFiber, current, element); + created.return = returnFiber; + return created; + } + } + + function updatePortal(returnFiber, current, portal, expirationTime) { + if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) { + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateFragment(returnFiber, current, fragment, expirationTime, key) { + if (current === null || current.tag !== Fragment) { + var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, fragment, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function createChild(returnFiber, newChild, expirationTime) { + if (typeof newChild === "string" || typeof newChild === "number") { + var created = createFiberFromText("" + newChild, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); + + _created.ref = coerceRef(returnFiber, null, newChild); + _created.return = returnFiber; + return _created; + } + + case REACT_PORTAL_TYPE: + { + var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); + + _created2.return = returnFiber; + return _created2; + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); + + _created3.return = returnFiber; + return _created3; + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { + var key = oldFiber !== null ? oldFiber.key : null; + + if (typeof newChild === "string" || typeof newChild === "number") { + if (key !== null) { + return null; + } + + return updateTextNode(returnFiber, oldFiber, "" + newChild, expirationTime); + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + if (newChild.key === key) { + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key); + } + + return updateElement(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + + case REACT_PORTAL_TYPE: + { + if (newChild.key === key) { + return updatePortal(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + if (key !== null) { + return null; + } + + return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { + if (typeof newChild === "string" || typeof newChild === "number") { + var matchedFiber = existingChildren.get(newIdx) || null; + return updateTextNode(returnFiber, matchedFiber, "" + newChild, expirationTime); + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key); + } + + return updateElement(returnFiber, _matchedFiber, newChild, expirationTime); + } + + case REACT_PORTAL_TYPE: + { + var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + + return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime); + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + var _matchedFiber3 = existingChildren.get(newIdx) || null; + + return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function warnOnInvalidKey(child, knownKeys) { + { + if (typeof child !== "object" || child === null) { + return knownKeys; + } + + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(child); + var key = child.key; + + if (typeof key !== "string") { + break; + } + + if (knownKeys === null) { + knownKeys = new Set(); + knownKeys.add(key); + break; + } + + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + + warning(false, "Encountered two children with the same key, `%s`. " + "Keys should be unique so that components maintain their identity " + "across updates. Non-unique keys may cause children to be " + "duplicated and/or omitted — the behavior is unsupported and " + "could change in a future version.%s", key, getCurrentFiberStackAddendum$2()); + break; + + default: + break; + } + } + return knownKeys; + } + + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { + { + var knownKeys = null; + + for (var i = 0; i < newChildren.length; i++) { + var child = newChildren[i]; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + var resultingFirstChild = null; + var previousNewFiber = null; + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + + for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + + var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); + + if (newFiber === null) { + if (oldFiber === null) { + oldFiber = nextOldFiber; + } + + break; + } + + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + deleteChild(returnFiber, oldFiber); + } + } + + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = newFiber; + } else { + previousNewFiber.sibling = newFiber; + } + + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (newIdx === newChildren.length) { + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime); + + if (!_newFiber) { + continue; + } + + lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber; + } else { + previousNewFiber.sibling = _newFiber; + } + + previousNewFiber = _newFiber; + } + + return resultingFirstChild; + } + + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime); + + if (_newFiber2) { + if (shouldTrackSideEffects) { + if (_newFiber2.alternate !== null) { + existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); + } + } + + lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber2; + } else { + previousNewFiber.sibling = _newFiber2; + } + + previousNewFiber = _newFiber2; + } + } + + if (shouldTrackSideEffects) { + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { + var iteratorFn = getIteratorFn(newChildrenIterable); + invariant(typeof iteratorFn === "function", "An object is not an iterable. This error is likely caused by a bug in " + "React. Please file an issue."); + { + if (newChildrenIterable.entries === iteratorFn) { + !didWarnAboutMaps ? warning(false, "Using Maps as children is unsupported and will likely yield " + "unexpected results. Convert it to a sequence/iterable of keyed " + "ReactElements instead.%s", getCurrentFiberStackAddendum$2()) : void 0; + didWarnAboutMaps = true; + } + + var _newChildren = iteratorFn.call(newChildrenIterable); + + if (_newChildren) { + var knownKeys = null; + + var _step = _newChildren.next(); + + for (; !_step.done; _step = _newChildren.next()) { + var child = _step.value; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + } + var newChildren = iteratorFn.call(newChildrenIterable); + invariant(newChildren != null, "An iterable object provided no iterator."); + var resultingFirstChild = null; + var previousNewFiber = null; + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + var step = newChildren.next(); + + for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + + var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); + + if (newFiber === null) { + if (!oldFiber) { + oldFiber = nextOldFiber; + } + + break; + } + + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + deleteChild(returnFiber, oldFiber); + } + } + + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = newFiber; + } else { + previousNewFiber.sibling = newFiber; + } + + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (step.done) { + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber3 = createChild(returnFiber, step.value, expirationTime); + + if (_newFiber3 === null) { + continue; + } + + lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber3; + } else { + previousNewFiber.sibling = _newFiber3; + } + + previousNewFiber = _newFiber3; + } + + return resultingFirstChild; + } + + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime); + + if (_newFiber4 !== null) { + if (shouldTrackSideEffects) { + if (_newFiber4.alternate !== null) { + existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); + } + } + + lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber4; + } else { + previousNewFiber.sibling = _newFiber4; + } + + previousNewFiber = _newFiber4; + } + } + + if (shouldTrackSideEffects) { + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) { + if (currentFirstChild !== null && currentFirstChild.tag === HostText) { + deleteRemainingChildren(returnFiber, currentFirstChild.sibling); + var existing = useFiber(currentFirstChild, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + + deleteRemainingChildren(returnFiber, currentFirstChild); + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) { + var key = element.key; + var child = currentFirstChild; + + while (child !== null) { + if (child.key === key) { + if (child.tag === Fragment ? element.type === REACT_FRAGMENT_TYPE : child.type === element.type) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, element.type === REACT_FRAGMENT_TYPE ? element.props.children : element.props, expirationTime); + existing.ref = coerceRef(returnFiber, child, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + + child = child.sibling; + } + + if (element.type === REACT_FRAGMENT_TYPE) { + var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key); + created.return = returnFiber; + return created; + } else { + var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime); + + _created4.ref = coerceRef(returnFiber, currentFirstChild, element); + _created4.return = returnFiber; + return _created4; + } + } + + function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) { + var key = portal.key; + var child = currentFirstChild; + + while (child !== null) { + if (child.key === key) { + if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + + child = child.sibling; + } + + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) { + var isUnkeyedTopLevelFragment = typeof newChild === "object" && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null; + + if (isUnkeyedTopLevelFragment) { + newChild = newChild.props.children; + } + + var isObject = typeof newChild === "object" && newChild !== null; + + if (isObject) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime)); + + case REACT_PORTAL_TYPE: + return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime)); + } + } + + if (typeof newChild === "string" || typeof newChild === "number") { + return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, "" + newChild, expirationTime)); + } + + if (isArray$1(newChild)) { + return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (getIteratorFn(newChild)) { + return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (isObject) { + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + + if (typeof newChild === "undefined" && !isUnkeyedTopLevelFragment) { + switch (returnFiber.tag) { + case ClassComponent: + { + { + var instance = returnFiber.stateNode; + + if (instance.render._isMockFunction) { + break; + } + } + } + + case FunctionalComponent: + { + var Component = returnFiber.type; + invariant(false, "%s(...): Nothing was returned from render. This usually means a " + "return statement is missing. Or, to render nothing, " + "return null.", Component.displayName || Component.name || "Component"); + } + } + } + + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + + return reconcileChildFibers; + } + + var reconcileChildFibers = ChildReconciler(true); + var mountChildFibers = ChildReconciler(false); + + function cloneChildFibers(current, workInProgress) { + invariant(current === null || workInProgress.child === current.child, "Resuming work not yet implemented."); + + if (workInProgress.child === null) { + return; + } + + var currentChild = workInProgress.child; + var newChild = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + workInProgress.child = newChild; + newChild.return = workInProgress; + + while (currentChild.sibling !== null) { + currentChild = currentChild.sibling; + newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + newChild.return = workInProgress; + } + + newChild.sibling = null; + } + + var hydrationParentFiber = null; + var nextHydratableInstance = null; + var isHydrating = false; + + function enterHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + + var parentInstance = fiber.stateNode.containerInfo; + nextHydratableInstance = getFirstHydratableChild(parentInstance); + hydrationParentFiber = fiber; + isHydrating = true; + return true; + } + + function deleteHydratableInstance(returnFiber, instance) { + { + switch (returnFiber.tag) { + case HostRoot: + didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); + break; + + case HostComponent: + didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); + break; + } + } + var childToDelete = createFiberFromHostInstanceForDeletion(); + childToDelete.stateNode = instance; + childToDelete.return = returnFiber; + childToDelete.effectTag = Deletion; + + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + } + + function insertNonHydratedInstance(returnFiber, fiber) { + fiber.effectTag |= Placement; + { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + + switch (fiber.tag) { + case HostComponent: + var type = fiber.type; + var props = fiber.pendingProps; + didNotFindHydratableContainerInstance(parentContainer, type, props); + break; + + case HostText: + var text = fiber.pendingProps; + didNotFindHydratableContainerTextInstance(parentContainer, text); + break; + } + + break; + } + + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + + switch (fiber.tag) { + case HostComponent: + var _type = fiber.type; + var _props = fiber.pendingProps; + didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props); + break; + + case HostText: + var _text = fiber.pendingProps; + didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text); + break; + } + + break; + } + + default: + return; + } + } + } + + function tryHydrate(fiber, nextInstance) { + switch (fiber.tag) { + case HostComponent: + { + var type = fiber.type; + var props = fiber.pendingProps; + var instance = canHydrateInstance(nextInstance, type, props); + + if (instance !== null) { + fiber.stateNode = instance; + return true; + } + + return false; + } + + case HostText: + { + var text = fiber.pendingProps; + var textInstance = canHydrateTextInstance(nextInstance, text); + + if (textInstance !== null) { + fiber.stateNode = textInstance; + return true; + } + + return false; + } + + default: + return false; + } + } + + function tryToClaimNextHydratableInstance(fiber) { + if (!isHydrating) { + return; + } + + var nextInstance = nextHydratableInstance; + + if (!nextInstance) { + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + + var firstAttemptedInstance = nextInstance; + + if (!tryHydrate(fiber, nextInstance)) { + nextInstance = getNextHydratableSibling(firstAttemptedInstance); + + if (!nextInstance || !tryHydrate(fiber, nextInstance)) { + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + + deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance); + } + + hydrationParentFiber = fiber; + nextHydratableInstance = getFirstHydratableChild(nextInstance); + } + + function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { + if (!supportsHydration) { + invariant(false, "Expected prepareToHydrateHostInstance() to never be called. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + var instance = fiber.stateNode; + var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); + fiber.updateQueue = updatePayload; + + if (updatePayload !== null) { + return true; + } + + return false; + } + + function prepareToHydrateHostTextInstance(fiber) { + if (!supportsHydration) { + invariant(false, "Expected prepareToHydrateHostTextInstance() to never be called. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + var textInstance = fiber.stateNode; + var textContent = fiber.memoizedProps; + var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); + { + if (shouldUpdate) { + var returnFiber = hydrationParentFiber; + + if (returnFiber !== null) { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent); + break; + } + + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent); + break; + } + } + } + } + } + return shouldUpdate; + } + + function popToNextHostParent(fiber) { + var parent = fiber.return; + + while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot) { + parent = parent.return; + } + + hydrationParentFiber = parent; + } + + function popHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + + if (fiber !== hydrationParentFiber) { + return false; + } + + if (!isHydrating) { + popToNextHostParent(fiber); + isHydrating = true; + return false; + } + + var type = fiber.type; + + if (fiber.tag !== HostComponent || type !== "head" && type !== "body" && !shouldSetTextContent(type, fiber.memoizedProps)) { + var nextInstance = nextHydratableInstance; + + while (nextInstance) { + deleteHydratableInstance(fiber, nextInstance); + nextInstance = getNextHydratableSibling(nextInstance); + } + } + + popToNextHostParent(fiber); + nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; + return true; + } + + function resetHydrationState() { + if (!supportsHydration) { + return; + } + + hydrationParentFiber = null; + nextHydratableInstance = null; + isHydrating = false; + } + + var getCurrentFiberStackAddendum$1 = ReactDebugCurrentFiber.getCurrentFiberStackAddendum; + var didWarnAboutBadClass = void 0; + var didWarnAboutGetDerivedStateOnFunctionalComponent = void 0; + var didWarnAboutStatelessRefs = void 0; + { + didWarnAboutBadClass = {}; + didWarnAboutGetDerivedStateOnFunctionalComponent = {}; + didWarnAboutStatelessRefs = {}; + } + + function reconcileChildren(current, workInProgress, nextChildren) { + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, workInProgress.expirationTime); + } + + function reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime) { + if (current === null) { + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); + } + } + + function updateForwardRef(current, workInProgress) { + var render = workInProgress.type.render; + var nextProps = workInProgress.pendingProps; + var ref = workInProgress.ref; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextProps) { + var currentRef = current !== null ? current.ref : null; + + if (ref === currentRef) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var nextChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = render(nextProps, ref); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateFragment(current, workInProgress) { + var nextChildren = workInProgress.pendingProps; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + return workInProgress.child; + } + + function updateMode(current, workInProgress) { + var nextChildren = workInProgress.pendingProps.children; + + if (hasContextChanged()) {} else if (nextChildren === null || workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + return workInProgress.child; + } + + function updateProfiler(current, workInProgress) { + var nextProps = workInProgress.pendingProps; + + if (enableProfilerTimer) { + workInProgress.effectTag |= Update; + } + + if (workInProgress.memoizedProps === nextProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var nextChildren = nextProps.children; + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function markRef(current, workInProgress) { + var ref = workInProgress.ref; + + if (current === null && ref !== null || current !== null && current.ref !== ref) { + workInProgress.effectTag |= Ref; + } + } + + function updateFunctionalComponent(current, workInProgress) { + var fn = workInProgress.type; + var nextProps = workInProgress.pendingProps; + + if (hasContextChanged()) {} else { + if (workInProgress.memoizedProps === nextProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var unmaskedContext = getUnmaskedContext(workInProgress); + var context = getMaskedContext(workInProgress, unmaskedContext); + var nextChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = fn(nextProps, context); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateClassComponent(current, workInProgress, renderExpirationTime) { + var hasContext = pushContextProvider(workInProgress); + var shouldUpdate = void 0; + + if (current === null) { + if (workInProgress.stateNode === null) { + constructClassInstance(workInProgress, workInProgress.pendingProps, renderExpirationTime); + mountClassInstance(workInProgress, renderExpirationTime); + shouldUpdate = true; + } else { + shouldUpdate = resumeMountClassInstance(workInProgress, renderExpirationTime); + } + } else { + shouldUpdate = updateClassInstance(current, workInProgress, renderExpirationTime); + } + + return finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime); + } + + function finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime) { + markRef(current, workInProgress); + var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect; + + if (!shouldUpdate && !didCaptureError) { + if (hasContext) { + invalidateContextProvider(workInProgress, false); + } + + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + ReactCurrentOwner.current = workInProgress; + var nextChildren = void 0; + + if (didCaptureError && (!enableGetDerivedStateFromCatch || typeof ctor.getDerivedStateFromCatch !== "function")) { + nextChildren = null; + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + } else { + { + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = instance.render(); + + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + instance.render(); + } + + ReactDebugCurrentFiber.setCurrentPhase(null); + } + } + + workInProgress.effectTag |= PerformedWork; + + if (didCaptureError) { + reconcileChildrenAtExpirationTime(current, workInProgress, null, renderExpirationTime); + workInProgress.child = null; + } + + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime); + memoizeState(workInProgress, instance.state); + memoizeProps(workInProgress, instance.props); + + if (hasContext) { + invalidateContextProvider(workInProgress, true); + } + + return workInProgress.child; + } + + function pushHostRootContext(workInProgress) { + var root = workInProgress.stateNode; + + if (root.pendingContext) { + pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context); + } else if (root.context) { + pushTopLevelContextObject(workInProgress, root.context, false); + } + + pushHostContainer(workInProgress, root.containerInfo); + } + + function updateHostRoot(current, workInProgress, renderExpirationTime) { + pushHostRootContext(workInProgress); + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + var nextProps = workInProgress.pendingProps; + var prevState = workInProgress.memoizedState; + var prevChildren = prevState !== null ? prevState.element : null; + processUpdateQueue(workInProgress, updateQueue, nextProps, null, renderExpirationTime); + var nextState = workInProgress.memoizedState; + var nextChildren = nextState.element; + + if (nextChildren === prevChildren) { + resetHydrationState(); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var root = workInProgress.stateNode; + + if ((current === null || current.child === null) && root.hydrate && enterHydrationState(workInProgress)) { + workInProgress.effectTag |= Placement; + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + resetHydrationState(); + reconcileChildren(current, workInProgress, nextChildren); + } + + return workInProgress.child; + } + + resetHydrationState(); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + function updateHostComponent(current, workInProgress, renderExpirationTime) { + pushHostContext(workInProgress); + + if (current === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + + var type = workInProgress.type; + var memoizedProps = workInProgress.memoizedProps; + var nextProps = workInProgress.pendingProps; + var prevProps = current !== null ? current.memoizedProps : null; + + if (hasContextChanged()) {} else if (memoizedProps === nextProps) { + var isHidden = workInProgress.mode & AsyncMode && shouldDeprioritizeSubtree(type, nextProps); + + if (isHidden) { + workInProgress.expirationTime = Never; + } + + if (!isHidden || renderExpirationTime !== Never) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var nextChildren = nextProps.children; + var isDirectTextChild = shouldSetTextContent(type, nextProps); + + if (isDirectTextChild) { + nextChildren = null; + } else if (prevProps && shouldSetTextContent(type, prevProps)) { + workInProgress.effectTag |= ContentReset; + } + + markRef(current, workInProgress); + + if (renderExpirationTime !== Never && workInProgress.mode & AsyncMode && shouldDeprioritizeSubtree(type, nextProps)) { + workInProgress.expirationTime = Never; + workInProgress.memoizedProps = nextProps; + return null; + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateHostText(current, workInProgress) { + if (current === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + + var nextProps = workInProgress.pendingProps; + memoizeProps(workInProgress, nextProps); + return null; + } + + function mountIndeterminateComponent(current, workInProgress, renderExpirationTime) { + invariant(current === null, "An indeterminate component should never have mounted. This error is " + "likely caused by a bug in React. Please file an issue."); + var fn = workInProgress.type; + var props = workInProgress.pendingProps; + var unmaskedContext = getUnmaskedContext(workInProgress); + var context = getMaskedContext(workInProgress, unmaskedContext); + var value = void 0; + { + if (fn.prototype && typeof fn.prototype.render === "function") { + var componentName = getComponentName(workInProgress) || "Unknown"; + + if (!didWarnAboutBadClass[componentName]) { + warning(false, "The <%s /> component appears to have a render method, but doesn't extend React.Component. " + "This is likely to cause errors. Change %s to extend React.Component instead.", componentName, componentName); + didWarnAboutBadClass[componentName] = true; + } + } + + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null); + } + + ReactCurrentOwner.current = workInProgress; + value = fn(props, context); + } + workInProgress.effectTag |= PerformedWork; + + if (typeof value === "object" && value !== null && typeof value.render === "function" && value.$$typeof === undefined) { + var Component = workInProgress.type; + workInProgress.tag = ClassComponent; + workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null; + var getDerivedStateFromProps = Component.getDerivedStateFromProps; + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, props); + } + + var hasContext = pushContextProvider(workInProgress); + adoptClassInstance(workInProgress, value); + mountClassInstance(workInProgress, renderExpirationTime); + return finishClassComponent(current, workInProgress, true, hasContext, renderExpirationTime); + } else { + workInProgress.tag = FunctionalComponent; + { + var _Component = workInProgress.type; + + if (_Component) { + !!_Component.childContextTypes ? warning(false, "%s(...): childContextTypes cannot be defined on a functional component.", _Component.displayName || _Component.name || "Component") : void 0; + } + + if (workInProgress.ref !== null) { + var info = ""; + var ownerName = ReactDebugCurrentFiber.getCurrentFiberOwnerName(); + + if (ownerName) { + info += "\n\nCheck the render method of `" + ownerName + "`."; + } + + var warningKey = ownerName || workInProgress._debugID || ""; + var debugSource = workInProgress._debugSource; + + if (debugSource) { + warningKey = debugSource.fileName + ":" + debugSource.lineNumber; + } + + if (!didWarnAboutStatelessRefs[warningKey]) { + didWarnAboutStatelessRefs[warningKey] = true; + warning(false, "Stateless function components cannot be given refs. " + "Attempts to access this ref will fail.%s%s", info, ReactDebugCurrentFiber.getCurrentFiberStackAddendum()); + } + } + + if (typeof fn.getDerivedStateFromProps === "function") { + var _componentName = getComponentName(workInProgress) || "Unknown"; + + if (!didWarnAboutGetDerivedStateOnFunctionalComponent[_componentName]) { + warning(false, "%s: Stateless functional components do not support getDerivedStateFromProps.", _componentName); + didWarnAboutGetDerivedStateOnFunctionalComponent[_componentName] = true; + } + } + } + reconcileChildren(current, workInProgress, value); + memoizeProps(workInProgress, props); + return workInProgress.child; + } + } + + function updateTimeoutComponent(current, workInProgress, renderExpirationTime) { + if (enableSuspense) { + var nextProps = workInProgress.pendingProps; + var prevProps = workInProgress.memoizedProps; + var prevDidTimeout = workInProgress.memoizedState; + var alreadyCaptured = (workInProgress.effectTag & DidCapture) === NoEffect; + var nextDidTimeout = !alreadyCaptured; + + if (hasContextChanged()) {} else if (nextProps === prevProps && nextDidTimeout === prevDidTimeout) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var render = nextProps.children; + var nextChildren = render(nextDidTimeout); + workInProgress.memoizedProps = nextProps; + workInProgress.memoizedState = nextDidTimeout; + reconcileChildren(current, workInProgress, nextChildren); + return workInProgress.child; + } else { + return null; + } + } + + function updatePortalComponent(current, workInProgress, renderExpirationTime) { + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + var nextChildren = workInProgress.pendingProps; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + if (current === null) { + workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + memoizeProps(workInProgress, nextChildren); + } else { + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + } + + return workInProgress.child; + } + + function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { + var fiber = workInProgress.child; + + if (fiber !== null) { + fiber.return = workInProgress; + } + + while (fiber !== null) { + var nextFiber = void 0; + + switch (fiber.tag) { + case ContextConsumer: + var observedBits = fiber.stateNode | 0; + + if (fiber.type === context && (observedBits & changedBits) !== 0) { + var node = fiber; + + while (node !== null) { + var alternate = node.alternate; + + if (node.expirationTime === NoWork || node.expirationTime > renderExpirationTime) { + node.expirationTime = renderExpirationTime; + + if (alternate !== null && (alternate.expirationTime === NoWork || alternate.expirationTime > renderExpirationTime)) { + alternate.expirationTime = renderExpirationTime; + } + } else if (alternate !== null && (alternate.expirationTime === NoWork || alternate.expirationTime > renderExpirationTime)) { + alternate.expirationTime = renderExpirationTime; + } else { + break; + } + + node = node.return; + } + + nextFiber = null; + } else { + nextFiber = fiber.child; + } + + break; + + case ContextProvider: + nextFiber = fiber.type === workInProgress.type ? null : fiber.child; + break; + + default: + nextFiber = fiber.child; + break; + } + + if (nextFiber !== null) { + nextFiber.return = fiber; + } else { + nextFiber = fiber; + + while (nextFiber !== null) { + if (nextFiber === workInProgress) { + nextFiber = null; + break; + } + + var sibling = nextFiber.sibling; + + if (sibling !== null) { + sibling.return = nextFiber.return; + nextFiber = sibling; + break; + } + + nextFiber = nextFiber.return; + } + } + + fiber = nextFiber; + } + } + + function updateContextProvider(current, workInProgress, renderExpirationTime) { + var providerType = workInProgress.type; + var context = providerType._context; + var newProps = workInProgress.pendingProps; + var oldProps = workInProgress.memoizedProps; + var canBailOnProps = true; + + if (hasContextChanged()) { + canBailOnProps = false; + } else if (oldProps === newProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var newValue = newProps.value; + workInProgress.memoizedProps = newProps; + { + var providerPropTypes = workInProgress.type.propTypes; + + if (providerPropTypes) { + checkPropTypes(providerPropTypes, newProps, "prop", "Context.Provider", getCurrentFiberStackAddendum$1); + } + } + var changedBits = void 0; + + if (oldProps === null) { + changedBits = MAX_SIGNED_31_BIT_INT; + } else { + if (oldProps.value === newProps.value) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + changedBits = 0; + } else { + var oldValue = oldProps.value; + + if (oldValue === newValue && (oldValue !== 0 || 1 / oldValue === 1 / newValue) || oldValue !== oldValue && newValue !== newValue) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + changedBits = 0; + } else { + changedBits = typeof context._calculateChangedBits === "function" ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; + { + !((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits) ? warning(false, "calculateChangedBits: Expected the return value to be a " + "31-bit integer. Instead received: %s", changedBits) : void 0; + } + changedBits |= 0; + + if (changedBits === 0) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } else { + propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); + } + } + } + } + + workInProgress.stateNode = changedBits; + pushProvider(workInProgress); + var newChildren = newProps.children; + reconcileChildren(current, workInProgress, newChildren); + return workInProgress.child; + } + + function updateContextConsumer(current, workInProgress, renderExpirationTime) { + var context = workInProgress.type; + var newProps = workInProgress.pendingProps; + var oldProps = workInProgress.memoizedProps; + var newValue = getContextCurrentValue(context); + var changedBits = getContextChangedBits(context); + + if (hasContextChanged()) {} else if (changedBits === 0 && oldProps === newProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + workInProgress.memoizedProps = newProps; + var observedBits = newProps.unstable_observedBits; + + if (observedBits === undefined || observedBits === null) { + observedBits = MAX_SIGNED_31_BIT_INT; + } + + workInProgress.stateNode = observedBits; + + if ((changedBits & observedBits) !== 0) { + propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); + } else if (oldProps === newProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var render = newProps.children; + { + !(typeof render === "function") ? warning(false, "A context consumer was rendered with multiple children, or a child " + "that isn't a function. A context consumer expects a single child " + "that is a function. If you did pass a function, make sure there " + "is no trailing or leading whitespace around it.") : void 0; + } + var newChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + newChildren = render(newValue); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current, workInProgress, newChildren); + return workInProgress.child; + } + + function bailoutOnAlreadyFinishedWork(current, workInProgress) { + cancelWorkTimer(workInProgress); + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + cloneChildFibers(current, workInProgress); + return workInProgress.child; + } + + function bailoutOnLowPriority(current, workInProgress) { + cancelWorkTimer(workInProgress); + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + switch (workInProgress.tag) { + case HostRoot: + pushHostRootContext(workInProgress); + break; + + case ClassComponent: + pushContextProvider(workInProgress); + break; + + case HostPortal: + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + break; + + case ContextProvider: + pushProvider(workInProgress); + break; + } + + return null; + } + + function memoizeProps(workInProgress, nextProps) { + workInProgress.memoizedProps = nextProps; + } + + function memoizeState(workInProgress, nextState) { + workInProgress.memoizedState = nextState; + } + + function beginWork(current, workInProgress, renderExpirationTime) { + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + markActualRenderTimeStarted(workInProgress); + } + } + + if (workInProgress.expirationTime === NoWork || workInProgress.expirationTime > renderExpirationTime) { + return bailoutOnLowPriority(current, workInProgress); + } + + switch (workInProgress.tag) { + case IndeterminateComponent: + return mountIndeterminateComponent(current, workInProgress, renderExpirationTime); + + case FunctionalComponent: + return updateFunctionalComponent(current, workInProgress); + + case ClassComponent: + return updateClassComponent(current, workInProgress, renderExpirationTime); + + case HostRoot: + return updateHostRoot(current, workInProgress, renderExpirationTime); + + case HostComponent: + return updateHostComponent(current, workInProgress, renderExpirationTime); + + case HostText: + return updateHostText(current, workInProgress); + + case TimeoutComponent: + return updateTimeoutComponent(current, workInProgress, renderExpirationTime); + + case HostPortal: + return updatePortalComponent(current, workInProgress, renderExpirationTime); + + case ForwardRef: + return updateForwardRef(current, workInProgress); + + case Fragment: + return updateFragment(current, workInProgress); + + case Mode: + return updateMode(current, workInProgress); + + case Profiler: + return updateProfiler(current, workInProgress); + + case ContextProvider: + return updateContextProvider(current, workInProgress, renderExpirationTime); + + case ContextConsumer: + return updateContextConsumer(current, workInProgress, renderExpirationTime); + + default: + invariant(false, "Unknown unit of work tag. This error is likely caused by a bug in " + "React. Please file an issue."); + } + } + + function markUpdate(workInProgress) { + workInProgress.effectTag |= Update; + } + + function markRef$1(workInProgress) { + workInProgress.effectTag |= Ref; + } + + function appendAllChildren(parent, workInProgress) { + var node = workInProgress.child; + + while (node !== null) { + if (node.tag === HostComponent || node.tag === HostText) { + appendInitialChild(parent, node.stateNode); + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === workInProgress) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + var updateHostContainer = void 0; + var updateHostComponent$1 = void 0; + var updateHostText$1 = void 0; + + if (supportsMutation) { + updateHostContainer = function updateHostContainer(workInProgress) {}; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) { + workInProgress.updateQueue = updatePayload; + + if (updatePayload) { + markUpdate(workInProgress); + } + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + if (oldText !== newText) { + markUpdate(workInProgress); + } + }; + } else if (supportsPersistence) { + var appendAllChildrenToContainer = function appendAllChildrenToContainer(containerChildSet, workInProgress) { + var node = workInProgress.child; + + while (node !== null) { + if (node.tag === HostComponent || node.tag === HostText) { + appendChildToContainerChildSet(containerChildSet, node.stateNode); + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === workInProgress) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + }; + + updateHostContainer = function updateHostContainer(workInProgress) { + var portalOrRoot = workInProgress.stateNode; + var childrenUnchanged = workInProgress.firstEffect === null; + + if (childrenUnchanged) {} else { + var container = portalOrRoot.containerInfo; + var newChildSet = createContainerChildSet(container); + appendAllChildrenToContainer(newChildSet, workInProgress); + portalOrRoot.pendingChildren = newChildSet; + markUpdate(workInProgress); + finalizeContainerChildren(container, newChildSet); + } + }; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) { + var childrenUnchanged = workInProgress.firstEffect === null; + var currentInstance = current.stateNode; + + if (childrenUnchanged && updatePayload === null) { + workInProgress.stateNode = currentInstance; + } else { + var recyclableInstance = workInProgress.stateNode; + var newInstance = cloneInstance(currentInstance, updatePayload, type, oldProps, newProps, workInProgress, childrenUnchanged, recyclableInstance); + + if (finalizeInitialChildren(newInstance, type, newProps, rootContainerInstance, currentHostContext)) { + markUpdate(workInProgress); + } + + workInProgress.stateNode = newInstance; + + if (childrenUnchanged) { + markUpdate(workInProgress); + } else { + appendAllChildren(newInstance, workInProgress); + } + } + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + if (oldText !== newText) { + var rootContainerInstance = getRootHostContainer(); + var currentHostContext = getHostContext(); + workInProgress.stateNode = createTextInstance(newText, rootContainerInstance, currentHostContext, workInProgress); + markUpdate(workInProgress); + } + }; + } else { + updateHostContainer = function updateHostContainer(workInProgress) {}; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) {}; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) {}; + } + + function completeWork(current, workInProgress, renderExpirationTime) { + var newProps = workInProgress.pendingProps; + + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + recordElapsedActualRenderTime(workInProgress); + } + } + + switch (workInProgress.tag) { + case FunctionalComponent: + return null; + + case ClassComponent: + { + popContextProvider(workInProgress); + return null; + } + + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var fiberRoot = workInProgress.stateNode; + + if (fiberRoot.pendingContext) { + fiberRoot.context = fiberRoot.pendingContext; + fiberRoot.pendingContext = null; + } + + if (current === null || current.child === null) { + popHydrationState(workInProgress); + workInProgress.effectTag &= ~Placement; + } + + updateHostContainer(workInProgress); + return null; + } + + case HostComponent: + { + popHostContext(workInProgress); + var rootContainerInstance = getRootHostContainer(); + var type = workInProgress.type; + + if (current !== null && workInProgress.stateNode != null) { + var oldProps = current.memoizedProps; + var instance = workInProgress.stateNode; + var currentHostContext = getHostContext(); + var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); + updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext); + + if (current.ref !== workInProgress.ref) { + markRef$1(workInProgress); + } + } else { + if (!newProps) { + invariant(workInProgress.stateNode !== null, "We must have new props for new mounts. This error is likely " + "caused by a bug in React. Please file an issue."); + return null; + } + + var _currentHostContext = getHostContext(); + + var wasHydrated = popHydrationState(workInProgress); + + if (wasHydrated) { + if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, _currentHostContext)) { + markUpdate(workInProgress); + } + } else { + var _instance = createInstance(type, newProps, rootContainerInstance, _currentHostContext, workInProgress); + + appendAllChildren(_instance, workInProgress); + + if (finalizeInitialChildren(_instance, type, newProps, rootContainerInstance, _currentHostContext)) { + markUpdate(workInProgress); + } + + workInProgress.stateNode = _instance; + } + + if (workInProgress.ref !== null) { + markRef$1(workInProgress); + } + } + + return null; + } + + case HostText: + { + var newText = newProps; + + if (current && workInProgress.stateNode != null) { + var oldText = current.memoizedProps; + updateHostText$1(current, workInProgress, oldText, newText); + } else { + if (typeof newText !== "string") { + invariant(workInProgress.stateNode !== null, "We must have new props for new mounts. This error is likely " + "caused by a bug in React. Please file an issue."); + return null; + } + + var _rootContainerInstance = getRootHostContainer(); + + var _currentHostContext2 = getHostContext(); + + var _wasHydrated = popHydrationState(workInProgress); + + if (_wasHydrated) { + if (prepareToHydrateHostTextInstance(workInProgress)) { + markUpdate(workInProgress); + } + } else { + workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext2, workInProgress); + } + } + + return null; + } + + case ForwardRef: + return null; + + case TimeoutComponent: + return null; + + case Fragment: + return null; + + case Mode: + return null; + + case Profiler: + return null; + + case HostPortal: + popHostContainer(workInProgress); + updateHostContainer(workInProgress); + return null; + + case ContextProvider: + popProvider(workInProgress); + return null; + + case ContextConsumer: + return null; + + case IndeterminateComponent: + invariant(false, "An indeterminate component should have become determinate before " + "completing. This error is likely caused by a bug in React. Please " + "file an issue."); + + default: + invariant(false, "Unknown unit of work tag. This error is likely caused by a bug in " + "React. Please file an issue."); + } + } + + function showErrorDialog(capturedError) { + var componentStack = capturedError.componentStack, + error = capturedError.error; + var errorToHandle = void 0; + + if (error instanceof Error) { + var message = error.message, + name = error.name; + var summary = message ? name + ": " + message : name; + errorToHandle = error; + + try { + errorToHandle.message = summary + "\n\nThis error is located at:" + componentStack; + } catch (e) {} + } else if (typeof error === "string") { + errorToHandle = new Error(error + "\n\nThis error is located at:" + componentStack); + } else { + errorToHandle = new Error("Unspecified error at:" + componentStack); + } + + ExceptionsManager.handleException(errorToHandle, false); + return false; + } + + function logCapturedError(capturedError) { + var logError = showErrorDialog(capturedError); + + if (logError === false) { + return; + } + + var error = capturedError.error; + var suppressLogging = error && error.suppressReactErrorLogging; + + if (suppressLogging) { + return; + } + + { + var componentName = capturedError.componentName, + componentStack = capturedError.componentStack, + errorBoundaryName = capturedError.errorBoundaryName, + errorBoundaryFound = capturedError.errorBoundaryFound, + willRetry = capturedError.willRetry; + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : "The above error occurred in one of your React components:"; + var errorBoundaryMessage = void 0; + + if (errorBoundaryFound && errorBoundaryName) { + if (willRetry) { + errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + "."); + } else { + errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree."; + } + } else { + errorBoundaryMessage = "Consider adding an error boundary to your tree to customize error handling behavior.\n" + "Visit https://fb.me/react-error-boundaries to learn more about error boundaries."; + } + + var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); + console.error(combinedMessage); + } + } + + var invokeGuardedCallback$3 = ReactErrorUtils.invokeGuardedCallback; + var hasCaughtError$1 = ReactErrorUtils.hasCaughtError; + var clearCaughtError$1 = ReactErrorUtils.clearCaughtError; + var didWarnAboutUndefinedSnapshotBeforeUpdate = null; + { + didWarnAboutUndefinedSnapshotBeforeUpdate = new Set(); + } + + function logError(boundary, errorInfo) { + var source = errorInfo.source; + var stack = errorInfo.stack; + + if (stack === null && source !== null) { + stack = getStackAddendumByWorkInProgressFiber(source); + } + + var capturedError = { + componentName: source !== null ? getComponentName(source) : null, + componentStack: stack !== null ? stack : "", + error: errorInfo.value, + errorBoundary: null, + errorBoundaryName: null, + errorBoundaryFound: false, + willRetry: false + }; + + if (boundary !== null && boundary.tag === ClassComponent) { + capturedError.errorBoundary = boundary.stateNode; + capturedError.errorBoundaryName = getComponentName(boundary); + capturedError.errorBoundaryFound = true; + capturedError.willRetry = true; + } + + try { + logCapturedError(capturedError); + } catch (e) { + var suppressLogging = e && e.suppressReactErrorLogging; + + if (!suppressLogging) { + console.error(e); + } + } + } + + var callComponentWillUnmountWithTimer = function callComponentWillUnmountWithTimer(current, instance) { + startPhaseTimer(current, "componentWillUnmount"); + instance.props = current.memoizedProps; + instance.state = current.memoizedState; + instance.componentWillUnmount(); + stopPhaseTimer(); + }; + + function safelyCallComponentWillUnmount(current, instance) { + { + invokeGuardedCallback$3(null, callComponentWillUnmountWithTimer, null, current, instance); + + if (hasCaughtError$1()) { + var unmountError = clearCaughtError$1(); + captureCommitPhaseError(current, unmountError); + } + } + } + + function safelyDetachRef(current) { + var ref = current.ref; + + if (ref !== null) { + if (typeof ref === "function") { + { + invokeGuardedCallback$3(null, ref, null, null); + + if (hasCaughtError$1()) { + var refError = clearCaughtError$1(); + captureCommitPhaseError(current, refError); + } + } + } else { + ref.current = null; + } + } + } + + function commitBeforeMutationLifeCycles(current, finishedWork) { + switch (finishedWork.tag) { + case ClassComponent: + { + if (finishedWork.effectTag & Snapshot) { + if (current !== null) { + var prevProps = current.memoizedProps; + var prevState = current.memoizedState; + startPhaseTimer(finishedWork, "getSnapshotBeforeUpdate"); + var instance = finishedWork.stateNode; + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + var snapshot = instance.getSnapshotBeforeUpdate(prevProps, prevState); + { + var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; + + if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) { + didWarnSet.add(finishedWork.type); + warning(false, "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) " + "must be returned. You have returned undefined.", getComponentName(finishedWork)); + } + } + instance.__reactInternalSnapshotBeforeUpdate = snapshot; + stopPhaseTimer(); + } + } + + return; + } + + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + return; + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitLifeCycles(finishedRoot, current, finishedWork, currentTime, committedExpirationTime) { + switch (finishedWork.tag) { + case ClassComponent: + { + var instance = finishedWork.stateNode; + + if (finishedWork.effectTag & Update) { + if (current === null) { + startPhaseTimer(finishedWork, "componentDidMount"); + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + instance.componentDidMount(); + stopPhaseTimer(); + } else { + var prevProps = current.memoizedProps; + var prevState = current.memoizedState; + startPhaseTimer(finishedWork, "componentDidUpdate"); + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); + stopPhaseTimer(); + } + } + + var updateQueue = finishedWork.updateQueue; + + if (updateQueue !== null) { + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + commitUpdateQueue(finishedWork, updateQueue, instance, committedExpirationTime); + } + + return; + } + + case HostRoot: + { + var _updateQueue = finishedWork.updateQueue; + + if (_updateQueue !== null) { + var _instance = null; + + if (finishedWork.child !== null) { + switch (finishedWork.child.tag) { + case HostComponent: + _instance = getPublicInstance(finishedWork.child.stateNode); + break; + + case ClassComponent: + _instance = finishedWork.child.stateNode; + break; + } + } + + commitUpdateQueue(finishedWork, _updateQueue, _instance, committedExpirationTime); + } + + return; + } + + case HostComponent: + { + var _instance2 = finishedWork.stateNode; + + if (current === null && finishedWork.effectTag & Update) { + var type = finishedWork.type; + var props = finishedWork.memoizedProps; + } + + return; + } + + case HostText: + { + return; + } + + case HostPortal: + { + return; + } + + case Profiler: + { + return; + } + + case TimeoutComponent: + { + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + + if (ref !== null) { + var instance = finishedWork.stateNode; + var instanceToUse = void 0; + + switch (finishedWork.tag) { + case HostComponent: + instanceToUse = getPublicInstance(instance); + break; + + default: + instanceToUse = instance; + } + + if (typeof ref === "function") { + ref(instanceToUse); + } else { + { + if (!ref.hasOwnProperty("current")) { + warning(false, "Unexpected ref object provided for %s. " + "Use either a ref-setter function or React.createRef().%s", getComponentName(finishedWork), getStackAddendumByWorkInProgressFiber(finishedWork)); + } + } + ref.current = instanceToUse; + } + } + } + + function commitDetachRef(current) { + var currentRef = current.ref; + + if (currentRef !== null) { + if (typeof currentRef === "function") { + currentRef(null); + } else { + currentRef.current = null; + } + } + } + + function commitUnmount(current) { + if (typeof onCommitUnmount === "function") { + onCommitUnmount(current); + } + + switch (current.tag) { + case ClassComponent: + { + safelyDetachRef(current); + var instance = current.stateNode; + + if (typeof instance.componentWillUnmount === "function") { + safelyCallComponentWillUnmount(current, instance); + } + + return; + } + + case HostComponent: + { + safelyDetachRef(current); + return; + } + + case HostPortal: + { + if (supportsMutation) { + unmountHostComponents(current); + } else if (supportsPersistence) { + emptyPortalContainer(current); + } + + return; + } + } + } + + function commitNestedUnmounts(root) { + var node = root; + + while (true) { + commitUnmount(node); + + if (node.child !== null && (!supportsMutation || node.tag !== HostPortal)) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === root) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === root) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function detachFiber(current) { + current.return = null; + current.child = null; + + if (current.alternate) { + current.alternate.child = null; + current.alternate.return = null; + } + } + + function emptyPortalContainer(current) { + if (!supportsPersistence) { + return; + } + + var portal = current.stateNode; + var containerInfo = portal.containerInfo; + var emptyChildSet = createContainerChildSet(containerInfo); + replaceContainerChildren(containerInfo, emptyChildSet); + } + + function commitContainer(finishedWork) { + if (!supportsPersistence) { + return; + } + + switch (finishedWork.tag) { + case ClassComponent: + { + return; + } + + case HostComponent: + { + return; + } + + case HostText: + { + return; + } + + case HostRoot: + case HostPortal: + { + var portalOrRoot = finishedWork.stateNode; + var containerInfo = portalOrRoot.containerInfo, + _pendingChildren = portalOrRoot.pendingChildren; + replaceContainerChildren(containerInfo, _pendingChildren); + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function getHostParentFiber(fiber) { + var parent = fiber.return; + + while (parent !== null) { + if (isHostParent(parent)) { + return parent; + } + + parent = parent.return; + } + + invariant(false, "Expected to find a host parent. This error is likely caused by a bug " + "in React. Please file an issue."); + } + + function isHostParent(fiber) { + return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; + } + + function getHostSibling(fiber) { + var node = fiber; + + siblings: while (true) { + while (node.sibling === null) { + if (node.return === null || isHostParent(node.return)) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + + while (node.tag !== HostComponent && node.tag !== HostText) { + if (node.effectTag & Placement) { + continue siblings; + } + + if (node.child === null || node.tag === HostPortal) { + continue siblings; + } else { + node.child.return = node; + node = node.child; + } + } + + if (!(node.effectTag & Placement)) { + return node.stateNode; + } + } + } + + function commitPlacement(finishedWork) { + if (!supportsMutation) { + return; + } + + var parentFiber = getHostParentFiber(finishedWork); + var parent = void 0; + var isContainer = void 0; + + switch (parentFiber.tag) { + case HostComponent: + parent = parentFiber.stateNode; + isContainer = false; + break; + + case HostRoot: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + + case HostPortal: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + + default: + invariant(false, "Invalid host parent fiber. This error is likely caused by a bug " + "in React. Please file an issue."); + } + + if (parentFiber.effectTag & ContentReset) { + parentFiber.effectTag &= ~ContentReset; + } + + var before = getHostSibling(finishedWork); + var node = finishedWork; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + if (before) { + if (isContainer) { + insertInContainerBefore(parent, node.stateNode, before); + } else { + insertBefore(parent, node.stateNode, before); + } + } else { + if (isContainer) { + appendChildToContainer(parent, node.stateNode); + } else { + appendChild(parent, node.stateNode); + } + } + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === finishedWork) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === finishedWork) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function unmountHostComponents(current) { + var node = current; + var currentParentIsValid = false; + var currentParent = void 0; + var currentParentIsContainer = void 0; + + while (true) { + if (!currentParentIsValid) { + var parent = node.return; + + findParent: while (true) { + invariant(parent !== null, "Expected to find a host parent. This error is likely caused by " + "a bug in React. Please file an issue."); + + switch (parent.tag) { + case HostComponent: + currentParent = parent.stateNode; + currentParentIsContainer = false; + break findParent; + + case HostRoot: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + + case HostPortal: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + } + + parent = parent.return; + } + + currentParentIsValid = true; + } + + if (node.tag === HostComponent || node.tag === HostText) { + commitNestedUnmounts(node); + + if (currentParentIsContainer) { + removeChildFromContainer(currentParent, node.stateNode); + } else { + removeChild(currentParent, node.stateNode); + } + } else if (node.tag === HostPortal) { + currentParent = node.stateNode.containerInfo; + + if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + } else { + commitUnmount(node); + + if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + } + + if (node === current) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === current) { + return; + } + + node = node.return; + + if (node.tag === HostPortal) { + currentParentIsValid = false; + } + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function commitDeletion(current) { + if (supportsMutation) { + unmountHostComponents(current); + } else { + commitNestedUnmounts(current); + } + + detachFiber(current); + } + + function commitWork(current, finishedWork) { + if (!supportsMutation) { + commitContainer(finishedWork); + return; + } + + switch (finishedWork.tag) { + case ClassComponent: + { + return; + } + + case HostComponent: + { + var instance = finishedWork.stateNode; + + if (instance != null) { + var newProps = finishedWork.memoizedProps; + var oldProps = current !== null ? current.memoizedProps : newProps; + var type = finishedWork.type; + var updatePayload = finishedWork.updateQueue; + finishedWork.updateQueue = null; + + if (updatePayload !== null) { + commitUpdate(instance, updatePayload, type, oldProps, newProps, finishedWork); + } + } + + return; + } + + case HostText: + { + invariant(finishedWork.stateNode !== null, "This should have a text node initialized. This error is likely " + "caused by a bug in React. Please file an issue."); + var textInstance = finishedWork.stateNode; + var newText = finishedWork.memoizedProps; + var oldText = current !== null ? current.memoizedProps : newText; + commitTextUpdate(textInstance, oldText, newText); + return; + } + + case HostRoot: + { + return; + } + + case Profiler: + { + if (enableProfilerTimer) { + var onRender = finishedWork.memoizedProps.onRender; + onRender(finishedWork.memoizedProps.id, current === null ? "mount" : "update", finishedWork.actualDuration, finishedWork.treeBaseTime, finishedWork.actualStartTime, getCommitTime()); + } + + return; + } + + case TimeoutComponent: + { + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitResetTextContent(current) { + if (!supportsMutation) { + return; + } + + resetTextContent(current.stateNode); + } + + function createRootErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + update.tag = CaptureUpdate; + update.payload = { + element: null + }; + var error = errorInfo.value; + + update.callback = function () { + onUncaughtError(error); + logError(fiber, errorInfo); + }; + + return update; + } + + function createClassErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + update.tag = CaptureUpdate; + var getDerivedStateFromCatch = fiber.type.getDerivedStateFromCatch; + + if (enableGetDerivedStateFromCatch && typeof getDerivedStateFromCatch === "function") { + var error = errorInfo.value; + + update.payload = function () { + return getDerivedStateFromCatch(error); + }; + } + + var inst = fiber.stateNode; + + if (inst !== null && typeof inst.componentDidCatch === "function") { + update.callback = function callback() { + if (!enableGetDerivedStateFromCatch || getDerivedStateFromCatch !== "function") { + markLegacyErrorBoundaryAsFailed(this); + } + + var error = errorInfo.value; + var stack = errorInfo.stack; + logError(fiber, errorInfo); + this.componentDidCatch(error, { + componentStack: stack !== null ? stack : "" + }); + }; + } + + return update; + } + + function schedulePing(finishedWork) { + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, finishedWork); + var recoveryUpdate = createUpdate(expirationTime); + enqueueUpdate(finishedWork, recoveryUpdate, expirationTime); + scheduleWork(finishedWork, expirationTime); + } + + function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime, currentTimeMs) { + sourceFiber.effectTag |= Incomplete; + sourceFiber.firstEffect = sourceFiber.lastEffect = null; + + if (enableSuspense && value !== null && typeof value === "object" && typeof value.then === "function") { + var thenable = value; + var expirationTimeMs = expirationTimeToMs(renderExpirationTime); + var startTimeMs = expirationTimeMs - 5000; + var elapsedMs = currentTimeMs - startTimeMs; + + if (elapsedMs < 0) { + elapsedMs = 0; + } + + var remainingTimeMs = expirationTimeMs - currentTimeMs; + var _workInProgress = returnFiber; + var earliestTimeoutMs = -1; + + searchForEarliestTimeout: do { + if (_workInProgress.tag === TimeoutComponent) { + var current = _workInProgress.alternate; + + if (current !== null && current.memoizedState === true) { + earliestTimeoutMs = 0; + break searchForEarliestTimeout; + } + + var timeoutPropMs = _workInProgress.pendingProps.ms; + + if (typeof timeoutPropMs === "number") { + if (timeoutPropMs <= 0) { + earliestTimeoutMs = 0; + break searchForEarliestTimeout; + } else if (earliestTimeoutMs === -1 || timeoutPropMs < earliestTimeoutMs) { + earliestTimeoutMs = timeoutPropMs; + } + } else if (earliestTimeoutMs === -1) { + earliestTimeoutMs = remainingTimeMs; + } + } + + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + + var msUntilTimeout = earliestTimeoutMs - elapsedMs; + + if (renderExpirationTime === Never || msUntilTimeout > 0) { + markTimeout(root, thenable, msUntilTimeout, renderExpirationTime); + + var onResolveOrReject = function onResolveOrReject() { + retrySuspendedRoot(root, renderExpirationTime); + }; + + thenable.then(onResolveOrReject, onResolveOrReject); + return; + } else { + _workInProgress = returnFiber; + + do { + switch (_workInProgress.tag) { + case HostRoot: + { + var message = renderExpirationTime === Sync ? "A synchronous update was suspended, but no fallback UI " + "was provided." : "An update was suspended for longer than the timeout, " + "but no fallback UI was provided."; + value = new Error(message); + break; + } + + case TimeoutComponent: + { + if ((_workInProgress.effectTag & DidCapture) === NoEffect) { + _workInProgress.effectTag |= ShouldCapture; + + var _onResolveOrReject = schedulePing.bind(null, _workInProgress); + + thenable.then(_onResolveOrReject, _onResolveOrReject); + return; + } + + break; + } + } + + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + } + } else { + markError(root); + + if (!root.didError && renderExpirationTime !== Sync || hasLowerPriorityWork(root, renderExpirationTime)) { + return; + } + } + + value = createCapturedValue(value, sourceFiber); + var workInProgress = returnFiber; + + do { + switch (workInProgress.tag) { + case HostRoot: + { + var _errorInfo = value; + workInProgress.effectTag |= ShouldCapture; + var update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime); + enqueueCapturedUpdate(workInProgress, update, renderExpirationTime); + return; + } + + case ClassComponent: + var errorInfo = value; + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + + if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromCatch === "function" && enableGetDerivedStateFromCatch || instance !== null && typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance))) { + workInProgress.effectTag |= ShouldCapture; + + var _update = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime); + + enqueueCapturedUpdate(workInProgress, _update, renderExpirationTime); + return; + } + + break; + + default: + break; + } + + workInProgress = workInProgress.return; + } while (workInProgress !== null); + } + + function unwindWork(workInProgress, renderExpirationTime) { + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + recordElapsedActualRenderTime(workInProgress); + } + } + + switch (workInProgress.tag) { + case ClassComponent: + { + popContextProvider(workInProgress); + var effectTag = workInProgress.effectTag; + + if (effectTag & ShouldCapture) { + workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var _effectTag = workInProgress.effectTag; + + if (_effectTag & ShouldCapture) { + workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostComponent: + { + popHostContext(workInProgress); + return null; + } + + case TimeoutComponent: + { + var _effectTag2 = workInProgress.effectTag; + + if (_effectTag2 & ShouldCapture) { + workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostPortal: + popHostContainer(workInProgress); + return null; + + case ContextProvider: + popProvider(workInProgress); + return null; + + default: + return null; + } + } + + function unwindInterruptedWork(interruptedWork) { + if (enableProfilerTimer) { + if (interruptedWork.mode & ProfileMode) { + resumeActualRenderTimerIfPaused(); + recordElapsedActualRenderTime(interruptedWork); + } + } + + switch (interruptedWork.tag) { + case ClassComponent: + { + popContextProvider(interruptedWork); + break; + } + + case HostRoot: + { + popHostContainer(interruptedWork); + popTopLevelContextObject(interruptedWork); + break; + } + + case HostComponent: + { + popHostContext(interruptedWork); + break; + } + + case HostPortal: + popHostContainer(interruptedWork); + break; + + case ContextProvider: + popProvider(interruptedWork); + break; + + default: + break; + } + } + + var invokeGuardedCallback$2 = ReactErrorUtils.invokeGuardedCallback; + var hasCaughtError = ReactErrorUtils.hasCaughtError; + var clearCaughtError = ReactErrorUtils.clearCaughtError; + var didWarnAboutStateTransition = void 0; + var didWarnSetStateChildContext = void 0; + var warnAboutUpdateOnUnmounted = void 0; + var warnAboutInvalidUpdates = void 0; + { + didWarnAboutStateTransition = false; + didWarnSetStateChildContext = false; + var didWarnStateUpdateForUnmountedComponent = {}; + + warnAboutUpdateOnUnmounted = function warnAboutUpdateOnUnmounted(fiber) { + var componentName = getComponentName(fiber) || "ReactClass"; + + if (didWarnStateUpdateForUnmountedComponent[componentName]) { + return; + } + + warning(false, "Can't call setState (or forceUpdate) on an unmounted component. This " + "is a no-op, but it indicates a memory leak in your application. To " + "fix, cancel all subscriptions and asynchronous tasks in the " + "componentWillUnmount method.%s", getStackAddendumByWorkInProgressFiber(fiber)); + didWarnStateUpdateForUnmountedComponent[componentName] = true; + }; + + warnAboutInvalidUpdates = function warnAboutInvalidUpdates(instance) { + switch (ReactDebugCurrentFiber.phase) { + case "getChildContext": + if (didWarnSetStateChildContext) { + return; + } + + warning(false, "setState(...): Cannot call setState() inside getChildContext()"); + didWarnSetStateChildContext = true; + break; + + case "render": + if (didWarnAboutStateTransition) { + return; + } + + warning(false, "Cannot update during an existing state transition (such as within " + "`render` or another component's constructor). Render methods should " + "be a pure function of props and state; constructor side-effects are " + "an anti-pattern, but can be moved to `componentWillMount`."); + didWarnAboutStateTransition = true; + break; + } + }; + } + var originalStartTimeMs = now(); + var mostRecentCurrentTime = msToExpirationTime(0); + var mostRecentCurrentTimeMs = originalStartTimeMs; + var lastUniqueAsyncExpiration = 0; + var expirationContext = NoWork; + var isWorking = false; + var nextUnitOfWork = null; + var nextRoot = null; + var nextRenderExpirationTime = NoWork; + var nextLatestTimeoutMs = -1; + var nextRenderDidError = false; + var nextEffect = null; + var isCommitting$1 = false; + var legacyErrorBoundariesThatAlreadyFailed = null; + var interruptedBy = null; + var stashedWorkInProgressProperties = void 0; + var replayUnitOfWork = void 0; + var isReplayingFailedUnitOfWork = void 0; + var originalReplayError = void 0; + var rethrowOriginalError = void 0; + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = null; + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + + replayUnitOfWork = function replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy) { + if (thrownValue !== null && typeof thrownValue === "object" && typeof thrownValue.then === "function") { + return; + } + + if (stashedWorkInProgressProperties === null) { + warning(false, "Could not replay rendering after an error. This is likely a bug in React. " + "Please file an issue."); + return; + } + + assignFiberPropertiesInDEV(failedUnitOfWork, stashedWorkInProgressProperties); + + switch (failedUnitOfWork.tag) { + case HostRoot: + popHostContainer(failedUnitOfWork); + popTopLevelContextObject(failedUnitOfWork); + break; + + case HostComponent: + popHostContext(failedUnitOfWork); + break; + + case ClassComponent: + popContextProvider(failedUnitOfWork); + break; + + case HostPortal: + popHostContainer(failedUnitOfWork); + break; + + case ContextProvider: + popProvider(failedUnitOfWork); + break; + } + + isReplayingFailedUnitOfWork = true; + originalReplayError = thrownValue; + invokeGuardedCallback$2(null, workLoop, null, isYieldy); + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + + if (hasCaughtError()) { + clearCaughtError(); + + if (enableProfilerTimer) { + if (failedUnitOfWork.mode & ProfileMode) { + recordElapsedActualRenderTime(failedUnitOfWork); + } + + stopBaseRenderTimerIfRunning(); + } + } else { + nextUnitOfWork = failedUnitOfWork; + } + }; + + rethrowOriginalError = function rethrowOriginalError() { + throw originalReplayError; + }; + } + + function resetStack() { + if (nextUnitOfWork !== null) { + var interruptedWork = nextUnitOfWork.return; + + while (interruptedWork !== null) { + unwindInterruptedWork(interruptedWork); + interruptedWork = interruptedWork.return; + } + } + + { + ReactStrictModeWarnings.discardPendingWarnings(); + checkThatStackIsEmpty(); + } + nextRoot = null; + nextRenderExpirationTime = NoWork; + nextLatestTimeoutMs = -1; + nextRenderDidError = false; + nextUnitOfWork = null; + } + + function commitAllHostEffects() { + while (nextEffect !== null) { + { + ReactDebugCurrentFiber.setCurrentFiber(nextEffect); + } + recordEffect(); + var effectTag = nextEffect.effectTag; + + if (effectTag & ContentReset) { + commitResetTextContent(nextEffect); + } + + if (effectTag & Ref) { + var current = nextEffect.alternate; + + if (current !== null) { + commitDetachRef(current); + } + } + + var primaryEffectTag = effectTag & (Placement | Update | Deletion); + + switch (primaryEffectTag) { + case Placement: + { + commitPlacement(nextEffect); + nextEffect.effectTag &= ~Placement; + break; + } + + case PlacementAndUpdate: + { + commitPlacement(nextEffect); + nextEffect.effectTag &= ~Placement; + var _current = nextEffect.alternate; + commitWork(_current, nextEffect); + break; + } + + case Update: + { + var _current2 = nextEffect.alternate; + commitWork(_current2, nextEffect); + break; + } + + case Deletion: + { + commitDeletion(nextEffect); + break; + } + } + + nextEffect = nextEffect.nextEffect; + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + } + + function commitBeforeMutationLifecycles() { + while (nextEffect !== null) { + var effectTag = nextEffect.effectTag; + + if (effectTag & Snapshot) { + recordEffect(); + var current = nextEffect.alternate; + commitBeforeMutationLifeCycles(current, nextEffect); + } + + nextEffect = nextEffect.nextEffect; + } + } + + function commitAllLifeCycles(finishedRoot, currentTime, committedExpirationTime) { + { + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.flushPendingDeprecationWarnings(); + } + + if (warnAboutLegacyContextAPI) { + ReactStrictModeWarnings.flushLegacyContextWarning(); + } + } + + while (nextEffect !== null) { + var effectTag = nextEffect.effectTag; + + if (effectTag & (Update | Callback)) { + recordEffect(); + var current = nextEffect.alternate; + commitLifeCycles(finishedRoot, current, nextEffect, currentTime, committedExpirationTime); + } + + if (effectTag & Ref) { + recordEffect(); + commitAttachRef(nextEffect); + } + + var next = nextEffect.nextEffect; + nextEffect.nextEffect = null; + nextEffect = next; + } + } + + function isAlreadyFailedLegacyErrorBoundary(instance) { + return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); + } + + function markLegacyErrorBoundaryAsFailed(instance) { + if (legacyErrorBoundariesThatAlreadyFailed === null) { + legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); + } else { + legacyErrorBoundariesThatAlreadyFailed.add(instance); + } + } + + function commitRoot(root, finishedWork) { + isWorking = true; + isCommitting$1 = true; + startCommitTimer(); + invariant(root.current !== finishedWork, "Cannot commit the same tree as before. This is probably a bug " + "related to the return field. This error is likely caused by a bug " + "in React. Please file an issue."); + var committedExpirationTime = root.pendingCommitExpirationTime; + invariant(committedExpirationTime !== NoWork, "Cannot commit an incomplete root. This error is likely caused by a " + "bug in React. Please file an issue."); + root.pendingCommitExpirationTime = NoWork; + var earliestRemainingTime = finishedWork.expirationTime; + var currentTime = recalculateCurrentTime(); + markCommittedPriorityLevels(root, currentTime, earliestRemainingTime); + ReactCurrentOwner.current = null; + var firstEffect = void 0; + + if (finishedWork.effectTag > PerformedWork) { + if (finishedWork.lastEffect !== null) { + finishedWork.lastEffect.nextEffect = finishedWork; + firstEffect = finishedWork.firstEffect; + } else { + firstEffect = finishedWork; + } + } else { + firstEffect = finishedWork.firstEffect; + } + + prepareForCommit(root.containerInfo); + nextEffect = firstEffect; + startCommitSnapshotEffectsTimer(); + + while (nextEffect !== null) { + var didError = false; + var error = void 0; + { + invokeGuardedCallback$2(null, commitBeforeMutationLifecycles, null); + + if (hasCaughtError()) { + didError = true; + error = clearCaughtError(); + } + } + + if (didError) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, error); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + stopCommitSnapshotEffectsTimer(); + + if (enableProfilerTimer) { + recordCommitTime(); + } + + nextEffect = firstEffect; + startCommitHostEffectsTimer(); + + while (nextEffect !== null) { + var _didError = false; + + var _error = void 0; + + { + invokeGuardedCallback$2(null, commitAllHostEffects, null); + + if (hasCaughtError()) { + _didError = true; + _error = clearCaughtError(); + } + } + + if (_didError) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, _error); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + stopCommitHostEffectsTimer(); + resetAfterCommit(root.containerInfo); + root.current = finishedWork; + nextEffect = firstEffect; + startCommitLifeCyclesTimer(); + + while (nextEffect !== null) { + var _didError2 = false; + + var _error2 = void 0; + + { + invokeGuardedCallback$2(null, commitAllLifeCycles, null, root, currentTime, committedExpirationTime); + + if (hasCaughtError()) { + _didError2 = true; + _error2 = clearCaughtError(); + } + } + + if (_didError2) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, _error2); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + if (enableProfilerTimer) { + { + checkActualRenderTimeStackEmpty(); + } + resetActualRenderTimer(); + } + + isCommitting$1 = false; + isWorking = false; + stopCommitLifeCyclesTimer(); + stopCommitTimer(); + + if (typeof onCommitRoot === "function") { + onCommitRoot(finishedWork.stateNode); + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCommitWork(finishedWork); + } + + var expirationTime = root.expirationTime; + + if (expirationTime === NoWork) { + legacyErrorBoundariesThatAlreadyFailed = null; + } + + onCommit(root, expirationTime); + } + + function resetExpirationTime(workInProgress, renderTime) { + if (renderTime !== Never && workInProgress.expirationTime === Never) { + return; + } + + var newExpirationTime = NoWork; + + switch (workInProgress.tag) { + case HostRoot: + case ClassComponent: + { + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + newExpirationTime = updateQueue.expirationTime; + } + } + } + + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + var treeBaseTime = workInProgress.selfBaseTime; + var child = workInProgress.child; + + while (child !== null) { + treeBaseTime += child.treeBaseTime; + + if (child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > child.expirationTime)) { + newExpirationTime = child.expirationTime; + } + + child = child.sibling; + } + + workInProgress.treeBaseTime = treeBaseTime; + } else { + var _child = workInProgress.child; + + while (_child !== null) { + if (_child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > _child.expirationTime)) { + newExpirationTime = _child.expirationTime; + } + + _child = _child.sibling; + } + } + + workInProgress.expirationTime = newExpirationTime; + } + + function completeUnitOfWork(workInProgress) { + while (true) { + var current = workInProgress.alternate; + { + ReactDebugCurrentFiber.setCurrentFiber(workInProgress); + } + var returnFiber = workInProgress.return; + var siblingFiber = workInProgress.sibling; + + if ((workInProgress.effectTag & Incomplete) === NoEffect) { + var next = completeWork(current, workInProgress, nextRenderExpirationTime); + stopWorkTimer(workInProgress); + resetExpirationTime(workInProgress, nextRenderExpirationTime); + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + + if (next !== null) { + stopWorkTimer(workInProgress); + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + return next; + } + + if (returnFiber !== null && (returnFiber.effectTag & Incomplete) === NoEffect) { + if (returnFiber.firstEffect === null) { + returnFiber.firstEffect = workInProgress.firstEffect; + } + + if (workInProgress.lastEffect !== null) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress.firstEffect; + } + + returnFiber.lastEffect = workInProgress.lastEffect; + } + + var effectTag = workInProgress.effectTag; + + if (effectTag > PerformedWork) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress; + } else { + returnFiber.firstEffect = workInProgress; + } + + returnFiber.lastEffect = workInProgress; + } + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + return siblingFiber; + } else if (returnFiber !== null) { + workInProgress = returnFiber; + continue; + } else { + return null; + } + } else { + var _next = unwindWork(workInProgress, nextRenderExpirationTime); + + if (workInProgress.effectTag & DidCapture) { + stopFailedWorkTimer(workInProgress); + } else { + stopWorkTimer(workInProgress); + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + + if (_next !== null) { + stopWorkTimer(workInProgress); + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + _next.effectTag &= HostEffectMask; + return _next; + } + + if (returnFiber !== null) { + returnFiber.firstEffect = returnFiber.lastEffect = null; + returnFiber.effectTag |= Incomplete; + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + return siblingFiber; + } else if (returnFiber !== null) { + workInProgress = returnFiber; + continue; + } else { + return null; + } + } + } + + return null; + } + + function performUnitOfWork(workInProgress) { + var current = workInProgress.alternate; + startWorkTimer(workInProgress); + { + ReactDebugCurrentFiber.setCurrentFiber(workInProgress); + } + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = assignFiberPropertiesInDEV(stashedWorkInProgressProperties, workInProgress); + } + + var next = void 0; + + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + startBaseRenderTimer(); + } + + next = beginWork(current, workInProgress, nextRenderExpirationTime); + + if (workInProgress.mode & ProfileMode) { + recordElapsedBaseRenderTimeIfRunning(workInProgress); + stopBaseRenderTimerIfRunning(); + } + } else { + next = beginWork(current, workInProgress, nextRenderExpirationTime); + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + + if (isReplayingFailedUnitOfWork) { + rethrowOriginalError(); + } + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onBeginWork(workInProgress); + } + + if (next === null) { + next = completeUnitOfWork(workInProgress); + } + + ReactCurrentOwner.current = null; + return next; + } + + function workLoop(isYieldy) { + if (!isYieldy) { + while (nextUnitOfWork !== null) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } else { + while (nextUnitOfWork !== null && !shouldYield()) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + + if (enableProfilerTimer) { + pauseActualRenderTimerIfRunning(); + } + } + } + + function renderRoot(root, isYieldy) { + invariant(!isWorking, "renderRoot was called recursively. This error is likely caused " + "by a bug in React. Please file an issue."); + isWorking = true; + var expirationTime = root.nextExpirationTimeToWorkOn; + + if (expirationTime !== nextRenderExpirationTime || root !== nextRoot || nextUnitOfWork === null) { + resetStack(); + nextRoot = root; + nextRenderExpirationTime = expirationTime; + nextLatestTimeoutMs = -1; + nextRenderDidError = false; + nextUnitOfWork = createWorkInProgress(nextRoot.current, null, nextRenderExpirationTime); + root.pendingCommitExpirationTime = NoWork; + } + + var didFatal = false; + startWorkLoopTimer(nextUnitOfWork); + + do { + try { + workLoop(isYieldy); + } catch (thrownValue) { + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + if (nextUnitOfWork === null) { + didFatal = true; + onUncaughtError(thrownValue); + } else { + { + resetCurrentlyProcessingQueue(); + } + var failedUnitOfWork = nextUnitOfWork; + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy); + } + + invariant(nextUnitOfWork !== null, "Failed to replay rendering after an error. This " + "is likely caused by a bug in React. Please file an issue " + "with a reproducing case to help us find it."); + var sourceFiber = nextUnitOfWork; + var returnFiber = sourceFiber.return; + + if (returnFiber === null) { + didFatal = true; + onUncaughtError(thrownValue); + break; + } + + throwException(root, returnFiber, sourceFiber, thrownValue, nextRenderExpirationTime, mostRecentCurrentTimeMs); + nextUnitOfWork = completeUnitOfWork(sourceFiber); + } + } + + break; + } while (true); + + isWorking = false; + + if (didFatal) { + var didCompleteRoot = false; + stopWorkLoopTimer(interruptedBy, didCompleteRoot); + interruptedBy = null; + { + resetStackAfterFatalErrorInDev(); + } + onFatal(root); + } else if (nextUnitOfWork === null) { + var rootWorkInProgress = root.current.alternate; + invariant(rootWorkInProgress !== null, "Finished root should have a work-in-progress. This error is likely " + "caused by a bug in React. Please file an issue."); + + if ((rootWorkInProgress.effectTag & Incomplete) === NoEffect) { + var _didCompleteRoot = true; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot); + interruptedBy = null; + onComplete(root, rootWorkInProgress, expirationTime); + } else { + var _didCompleteRoot2 = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot2); + interruptedBy = null; + markSuspendedPriorityLevel(root, expirationTime, nextRenderDidError); + var suspendedExpirationTime = expirationTime; + var newExpirationTime = root.expirationTime; + onSuspend(root, suspendedExpirationTime, newExpirationTime, nextLatestTimeoutMs); + } + } else { + var _didCompleteRoot3 = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot3); + interruptedBy = null; + onYield(root); + } + } + + function dispatch(sourceFiber, value, expirationTime) { + invariant(!isWorking || isCommitting$1, "dispatch: Cannot dispatch during the render phase."); + var fiber = sourceFiber.return; + + while (fiber !== null) { + switch (fiber.tag) { + case ClassComponent: + var ctor = fiber.type; + var instance = fiber.stateNode; + + if (typeof ctor.getDerivedStateFromCatch === "function" || typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance)) { + var errorInfo = createCapturedValue(value, sourceFiber); + var update = createClassErrorUpdate(fiber, errorInfo, expirationTime); + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + return; + } + + break; + + case HostRoot: + { + var _errorInfo = createCapturedValue(value, sourceFiber); + + var _update = createRootErrorUpdate(fiber, _errorInfo, expirationTime); + + enqueueUpdate(fiber, _update, expirationTime); + scheduleWork(fiber, expirationTime); + return; + } + } + + fiber = fiber.return; + } + + if (sourceFiber.tag === HostRoot) { + var rootFiber = sourceFiber; + + var _errorInfo2 = createCapturedValue(value, rootFiber); + + var _update2 = createRootErrorUpdate(rootFiber, _errorInfo2, expirationTime); + + enqueueUpdate(rootFiber, _update2, expirationTime); + scheduleWork(rootFiber, expirationTime); + } + } + + function captureCommitPhaseError(fiber, error) { + return dispatch(fiber, error, Sync); + } + + function computeAsyncExpiration(currentTime) { + var expirationMs = 5000; + var bucketSizeMs = 250; + return computeExpirationBucket(currentTime, expirationMs, bucketSizeMs); + } + + function computeInteractiveExpiration(currentTime) { + var expirationMs = void 0; + { + expirationMs = 500; + } + var bucketSizeMs = 100; + return computeExpirationBucket(currentTime, expirationMs, bucketSizeMs); + } + + function computeUniqueAsyncExpiration() { + var currentTime = recalculateCurrentTime(); + var result = computeAsyncExpiration(currentTime); + + if (result <= lastUniqueAsyncExpiration) { + result = lastUniqueAsyncExpiration + 1; + } + + lastUniqueAsyncExpiration = result; + return lastUniqueAsyncExpiration; + } + + function computeExpirationForFiber(currentTime, fiber) { + var expirationTime = void 0; + + if (expirationContext !== NoWork) { + expirationTime = expirationContext; + } else if (isWorking) { + if (isCommitting$1) { + expirationTime = Sync; + } else { + expirationTime = nextRenderExpirationTime; + } + } else { + if (fiber.mode & AsyncMode) { + if (isBatchingInteractiveUpdates) { + expirationTime = computeInteractiveExpiration(currentTime); + } else { + expirationTime = computeAsyncExpiration(currentTime); + } + } else { + expirationTime = Sync; + } + } + + if (isBatchingInteractiveUpdates) { + if (lowestPendingInteractiveExpirationTime === NoWork || expirationTime > lowestPendingInteractiveExpirationTime) { + lowestPendingInteractiveExpirationTime = expirationTime; + } + } + + return expirationTime; + } + + function markTimeout(root, thenable, timeoutMs, suspendedTime) { + if (timeoutMs >= 0 && nextLatestTimeoutMs < timeoutMs) { + nextLatestTimeoutMs = timeoutMs; + } + } + + function markError(root) { + nextRenderDidError = true; + } + + function retrySuspendedRoot(root, suspendedTime) { + markPingedPriorityLevel(root, suspendedTime); + var retryTime = root.expirationTime; + + if (retryTime !== NoWork) { + requestWork(root, retryTime); + } + } + + function scheduleWork(fiber, expirationTime) { + recordScheduleUpdate(); + { + if (fiber.tag === ClassComponent) { + var instance = fiber.stateNode; + warnAboutInvalidUpdates(instance); + } + } + var node = fiber; + + while (node !== null) { + if (node.expirationTime === NoWork || node.expirationTime > expirationTime) { + node.expirationTime = expirationTime; + } + + if (node.alternate !== null) { + if (node.alternate.expirationTime === NoWork || node.alternate.expirationTime > expirationTime) { + node.alternate.expirationTime = expirationTime; + } + } + + if (node.return === null) { + if (node.tag === HostRoot) { + var root = node.stateNode; + + if (!isWorking && nextRenderExpirationTime !== NoWork && expirationTime < nextRenderExpirationTime) { + interruptedBy = fiber; + resetStack(); + } + + markPendingPriorityLevel(root, expirationTime); + + if (!isWorking || isCommitting$1 || nextRoot !== root) { + var rootExpirationTime = root.expirationTime; + requestWork(root, rootExpirationTime); + } + + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { + invariant(false, "Maximum update depth exceeded. This can happen when a " + "component repeatedly calls setState inside " + "componentWillUpdate or componentDidUpdate. React limits " + "the number of nested updates to prevent infinite loops."); + } + } else { + { + if (fiber.tag === ClassComponent) { + warnAboutUpdateOnUnmounted(fiber); + } + } + return; + } + } + + node = node.return; + } + } + + function recalculateCurrentTime() { + mostRecentCurrentTimeMs = now() - originalStartTimeMs; + mostRecentCurrentTime = msToExpirationTime(mostRecentCurrentTimeMs); + return mostRecentCurrentTime; + } + + function deferredUpdates(fn) { + var previousExpirationContext = expirationContext; + var currentTime = recalculateCurrentTime(); + expirationContext = computeAsyncExpiration(currentTime); + + try { + return fn(); + } finally { + expirationContext = previousExpirationContext; + } + } + + function syncUpdates(fn, a, b, c, d) { + var previousExpirationContext = expirationContext; + expirationContext = Sync; + + try { + return fn(a, b, c, d); + } finally { + expirationContext = previousExpirationContext; + } + } + + var firstScheduledRoot = null; + var lastScheduledRoot = null; + var callbackExpirationTime = NoWork; + var callbackID = void 0; + var isRendering = false; + var nextFlushedRoot = null; + var nextFlushedExpirationTime = NoWork; + var lowestPendingInteractiveExpirationTime = NoWork; + var deadlineDidExpire = false; + var hasUnhandledError = false; + var unhandledError = null; + var deadline = null; + var isBatchingUpdates = false; + var isUnbatchingUpdates = false; + var isBatchingInteractiveUpdates = false; + var completedBatches = null; + var NESTED_UPDATE_LIMIT = 1000; + var nestedUpdateCount = 0; + var timeHeuristicForUnitOfWork = 1; + + function scheduleCallbackWithExpirationTime(expirationTime) { + if (callbackExpirationTime !== NoWork) { + if (expirationTime > callbackExpirationTime) { + return; + } else { + if (callbackID !== null) { + cancelDeferredCallback(callbackID); + } + } + } else { + startRequestCallbackTimer(); + } + + callbackExpirationTime = expirationTime; + var currentMs = now() - originalStartTimeMs; + var expirationTimeMs = expirationTimeToMs(expirationTime); + var timeout = expirationTimeMs - currentMs; + callbackID = scheduleDeferredCallback(performAsyncWork, { + timeout: timeout + }); + } + + function onFatal(root) { + root.finishedWork = null; + } + + function onComplete(root, finishedWork, expirationTime) { + root.pendingCommitExpirationTime = expirationTime; + root.finishedWork = finishedWork; + } + + function onSuspend(root, suspendedExpirationTime, expirationTime, timeoutMs) { + if (timeoutMs >= 0) { + var suspendedRoot = root; + setTimeout(function () { + retrySuspendedRoot(suspendedRoot, suspendedExpirationTime); + }, timeoutMs); + } + + root.expirationTime = expirationTime; + } + + function onYield(root) { + root.finishedWork = null; + } + + function onCommit(root, expirationTime) { + root.expirationTime = expirationTime; + root.finishedWork = null; + } + + function requestWork(root, expirationTime) { + addRootToSchedule(root, expirationTime); + + if (isRendering) { + return; + } + + if (isBatchingUpdates) { + if (isUnbatchingUpdates) { + nextFlushedRoot = root; + nextFlushedExpirationTime = Sync; + performWorkOnRoot(root, Sync, false); + } + + return; + } + + if (expirationTime === Sync) { + performSyncWork(); + } else { + scheduleCallbackWithExpirationTime(expirationTime); + } + } + + function addRootToSchedule(root, expirationTime) { + if (root.nextScheduledRoot === null) { + root.expirationTime = expirationTime; + + if (lastScheduledRoot === null) { + firstScheduledRoot = lastScheduledRoot = root; + root.nextScheduledRoot = root; + } else { + lastScheduledRoot.nextScheduledRoot = root; + lastScheduledRoot = root; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + } + } else { + var remainingExpirationTime = root.expirationTime; + + if (remainingExpirationTime === NoWork || expirationTime < remainingExpirationTime) { + root.expirationTime = expirationTime; + } + } + } + + function findHighestPriorityRoot() { + var highestPriorityWork = NoWork; + var highestPriorityRoot = null; + + if (lastScheduledRoot !== null) { + var previousScheduledRoot = lastScheduledRoot; + var root = firstScheduledRoot; + + while (root !== null) { + var remainingExpirationTime = root.expirationTime; + + if (remainingExpirationTime === NoWork) { + invariant(previousScheduledRoot !== null && lastScheduledRoot !== null, "Should have a previous and last root. This error is likely " + "caused by a bug in React. Please file an issue."); + + if (root === root.nextScheduledRoot) { + root.nextScheduledRoot = null; + firstScheduledRoot = lastScheduledRoot = null; + break; + } else if (root === firstScheduledRoot) { + var next = root.nextScheduledRoot; + firstScheduledRoot = next; + lastScheduledRoot.nextScheduledRoot = next; + root.nextScheduledRoot = null; + } else if (root === lastScheduledRoot) { + lastScheduledRoot = previousScheduledRoot; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + root.nextScheduledRoot = null; + break; + } else { + previousScheduledRoot.nextScheduledRoot = root.nextScheduledRoot; + root.nextScheduledRoot = null; + } + + root = previousScheduledRoot.nextScheduledRoot; + } else { + if (highestPriorityWork === NoWork || remainingExpirationTime < highestPriorityWork) { + highestPriorityWork = remainingExpirationTime; + highestPriorityRoot = root; + } + + if (root === lastScheduledRoot) { + break; + } + + previousScheduledRoot = root; + root = root.nextScheduledRoot; + } + } + } + + var previousFlushedRoot = nextFlushedRoot; + + if (previousFlushedRoot !== null && previousFlushedRoot === highestPriorityRoot && highestPriorityWork === Sync) { + nestedUpdateCount++; + } else { + nestedUpdateCount = 0; + } + + nextFlushedRoot = highestPriorityRoot; + nextFlushedExpirationTime = highestPriorityWork; + } + + function performAsyncWork(dl) { + performWork(NoWork, dl); + } + + function performSyncWork() { + performWork(Sync, null); + } + + function performWork(minExpirationTime, dl) { + deadline = dl; + findHighestPriorityRoot(); + + if (enableProfilerTimer) { + resumeActualRenderTimerIfPaused(); + } + + if (enableUserTimingAPI && deadline !== null) { + var didExpire = nextFlushedExpirationTime < recalculateCurrentTime(); + var timeout = expirationTimeToMs(nextFlushedExpirationTime); + stopRequestCallbackTimer(didExpire, timeout); + } + + if (deadline !== null) { + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && (minExpirationTime === NoWork || minExpirationTime >= nextFlushedExpirationTime) && (!deadlineDidExpire || recalculateCurrentTime() >= nextFlushedExpirationTime)) { + recalculateCurrentTime(); + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, true); + findHighestPriorityRoot(); + } + } else { + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && (minExpirationTime === NoWork || minExpirationTime >= nextFlushedExpirationTime)) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, false); + findHighestPriorityRoot(); + } + } + + if (deadline !== null) { + callbackExpirationTime = NoWork; + callbackID = null; + } + + if (nextFlushedExpirationTime !== NoWork) { + scheduleCallbackWithExpirationTime(nextFlushedExpirationTime); + } + + deadline = null; + deadlineDidExpire = false; + finishRendering(); + } + + function flushRoot(root, expirationTime) { + invariant(!isRendering, "work.commit(): Cannot commit while already rendering. This likely " + "means you attempted to commit from inside a lifecycle method."); + nextFlushedRoot = root; + nextFlushedExpirationTime = expirationTime; + performWorkOnRoot(root, expirationTime, false); + performSyncWork(); + finishRendering(); + } + + function finishRendering() { + nestedUpdateCount = 0; + + if (completedBatches !== null) { + var batches = completedBatches; + completedBatches = null; + + for (var i = 0; i < batches.length; i++) { + var batch = batches[i]; + + try { + batch._onComplete(); + } catch (error) { + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + } + } + + if (hasUnhandledError) { + var error = unhandledError; + unhandledError = null; + hasUnhandledError = false; + throw error; + } + } + + function performWorkOnRoot(root, expirationTime, isYieldy) { + invariant(!isRendering, "performWorkOnRoot was called recursively. This error is likely caused " + "by a bug in React. Please file an issue."); + isRendering = true; + + if (!isYieldy) { + var finishedWork = root.finishedWork; + + if (finishedWork !== null) { + completeRoot(root, finishedWork, expirationTime); + } else { + root.finishedWork = null; + renderRoot(root, false); + finishedWork = root.finishedWork; + + if (finishedWork !== null) { + completeRoot(root, finishedWork, expirationTime); + } + } + } else { + var _finishedWork = root.finishedWork; + + if (_finishedWork !== null) { + completeRoot(root, _finishedWork, expirationTime); + } else { + root.finishedWork = null; + renderRoot(root, true); + _finishedWork = root.finishedWork; + + if (_finishedWork !== null) { + if (!shouldYield()) { + completeRoot(root, _finishedWork, expirationTime); + } else { + root.finishedWork = _finishedWork; + + if (enableProfilerTimer) { + pauseActualRenderTimerIfRunning(); + } + } + } + } + } + + isRendering = false; + } + + function completeRoot(root, finishedWork, expirationTime) { + var firstBatch = root.firstBatch; + + if (firstBatch !== null && firstBatch._expirationTime <= expirationTime) { + if (completedBatches === null) { + completedBatches = [firstBatch]; + } else { + completedBatches.push(firstBatch); + } + + if (firstBatch._defer) { + root.finishedWork = finishedWork; + root.expirationTime = NoWork; + return; + } + } + + root.finishedWork = null; + commitRoot(root, finishedWork); + } + + function shouldYield() { + if (deadline === null || deadlineDidExpire) { + return false; + } + + if (deadline.timeRemaining() > timeHeuristicForUnitOfWork) { + return false; + } + + deadlineDidExpire = true; + return true; + } + + function onUncaughtError(error) { + invariant(nextFlushedRoot !== null, "Should be working on a root. This error is likely caused by a bug in " + "React. Please file an issue."); + nextFlushedRoot.expirationTime = NoWork; + + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + + function batchedUpdates$1(fn, a) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + return fn(a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + function unbatchedUpdates(fn, a) { + if (isBatchingUpdates && !isUnbatchingUpdates) { + isUnbatchingUpdates = true; + + try { + return fn(a); + } finally { + isUnbatchingUpdates = false; + } + } + + return fn(a); + } + + function flushSync(fn, a) { + invariant(!isRendering, "flushSync was called from inside a lifecycle method. It cannot be " + "called when React is already rendering."); + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + return syncUpdates(fn, a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + performSyncWork(); + } + } + + function interactiveUpdates$1(fn, a, b) { + if (isBatchingInteractiveUpdates) { + return fn(a, b); + } + + if (!isBatchingUpdates && !isRendering && lowestPendingInteractiveExpirationTime !== NoWork) { + performWork(lowestPendingInteractiveExpirationTime, null); + lowestPendingInteractiveExpirationTime = NoWork; + } + + var previousIsBatchingInteractiveUpdates = isBatchingInteractiveUpdates; + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingInteractiveUpdates = true; + isBatchingUpdates = true; + + try { + return fn(a, b); + } finally { + isBatchingInteractiveUpdates = previousIsBatchingInteractiveUpdates; + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + function flushInteractiveUpdates$1() { + if (!isRendering && lowestPendingInteractiveExpirationTime !== NoWork) { + performWork(lowestPendingInteractiveExpirationTime, null); + lowestPendingInteractiveExpirationTime = NoWork; + } + } + + function flushControlled(fn) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + syncUpdates(fn); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performWork(Sync, null); + } + } + } + + var didWarnAboutNestedUpdates = void 0; + { + didWarnAboutNestedUpdates = false; + } + + function getContextForSubtree(parentComponent) { + if (!parentComponent) { + return emptyObject; + } + + var fiber = get$1(parentComponent); + var parentContext = findCurrentUnmaskedContext(fiber); + return isContextProvider(fiber) ? processChildContext(fiber, parentContext) : parentContext; + } + + function scheduleRootUpdate(current, element, expirationTime, callback) { + { + if (ReactDebugCurrentFiber.phase === "render" && ReactDebugCurrentFiber.current !== null && !didWarnAboutNestedUpdates) { + didWarnAboutNestedUpdates = true; + warning(false, "Render methods should be a pure function of props and state; " + "triggering nested component updates from render is not allowed. " + "If necessary, trigger nested updates in componentDidUpdate.\n\n" + "Check the render method of %s.", getComponentName(ReactDebugCurrentFiber.current) || "Unknown"); + } + } + var update = createUpdate(expirationTime); + update.payload = { + element: element + }; + callback = callback === undefined ? null : callback; + + if (callback !== null) { + !(typeof callback === "function") ? warning(false, "render(...): Expected the last optional `callback` argument to be a " + "function. Instead received: %s.", callback) : void 0; + update.callback = callback; + } + + enqueueUpdate(current, update, expirationTime); + scheduleWork(current, expirationTime); + return expirationTime; + } + + function updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback) { + var current = container.current; + { + if (ReactFiberInstrumentation_1.debugTool) { + if (current.alternate === null) { + ReactFiberInstrumentation_1.debugTool.onMountContainer(container); + } else if (element === null) { + ReactFiberInstrumentation_1.debugTool.onUnmountContainer(container); + } else { + ReactFiberInstrumentation_1.debugTool.onUpdateContainer(container); + } + } + } + var context = getContextForSubtree(parentComponent); + + if (container.context === null) { + container.context = context; + } else { + container.pendingContext = context; + } + + return scheduleRootUpdate(current, element, expirationTime, callback); + } + + function findHostInstance$1(component) { + var fiber = get$1(component); + + if (fiber === undefined) { + if (typeof component.render === "function") { + invariant(false, "Unable to find node on an unmounted component."); + } else { + invariant(false, "Argument appears to not be a ReactComponent. Keys: %s", Object.keys(component)); + } + } + + var hostFiber = findCurrentHostFiber(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + } + + function createContainer(containerInfo, isAsync, hydrate) { + return createFiberRoot(containerInfo, isAsync, hydrate); + } + + function updateContainer(element, container, parentComponent, callback) { + var current = container.current; + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, current); + return updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback); + } + + function getPublicRootInstance(container) { + var containerFiber = container.current; + + if (!containerFiber.child) { + return null; + } + + switch (containerFiber.child.tag) { + case HostComponent: + return getPublicInstance(containerFiber.child.stateNode); + + default: + return containerFiber.child.stateNode; + } + } + + function findHostInstanceWithNoPortals(fiber) { + var hostFiber = findCurrentHostFiberWithNoPortals(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + } + + function injectIntoDevTools(devToolsConfig) { + var _findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; + return injectInternals(_extends({}, devToolsConfig, { + findHostInstanceByFiber: function findHostInstanceByFiber(fiber) { + var hostFiber = findCurrentHostFiber(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + }, + findFiberByHostInstance: function findFiberByHostInstance(instance) { + if (!_findFiberByHostInstance) { + return null; + } + + return _findFiberByHostInstance(instance); + } + })); + } + + var ReactNativeFiberRenderer = Object.freeze({ + updateContainerAtExpirationTime: updateContainerAtExpirationTime, + createContainer: createContainer, + updateContainer: updateContainer, + flushRoot: flushRoot, + requestWork: requestWork, + computeUniqueAsyncExpiration: computeUniqueAsyncExpiration, + batchedUpdates: batchedUpdates$1, + unbatchedUpdates: unbatchedUpdates, + deferredUpdates: deferredUpdates, + syncUpdates: syncUpdates, + interactiveUpdates: interactiveUpdates$1, + flushInteractiveUpdates: flushInteractiveUpdates$1, + flushControlled: flushControlled, + flushSync: flushSync, + getPublicRootInstance: getPublicRootInstance, + findHostInstance: findHostInstance$1, + findHostInstanceWithNoPortals: findHostInstanceWithNoPortals, + injectIntoDevTools: injectIntoDevTools + }); + + function _createPortal(children, containerInfo, implementation) { + var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + return { + $$typeof: REACT_PORTAL_TYPE, + key: key == null ? null : "" + key, + children: children, + containerInfo: containerInfo, + implementation: implementation + }; + } + + var ReactVersion = "16.4.1"; + + var NativeMethodsMixin = function NativeMethodsMixin(findNodeHandle, findHostInstance) { + var NativeMethodsMixin = { + measure: function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureInWindow: function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureLayout: function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }, + setNativeProps: function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (maybeInstance == null) { + return; + } + + var viewConfig = maybeInstance.viewConfig; + { + warnForStyleProps(nativeProps, viewConfig.validAttributes); + } + var updatePayload = create(nativeProps, viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, updatePayload); + } + }, + focus: function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }, + blur: function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + } + }; + { + var NativeMethodsMixin_DEV = NativeMethodsMixin; + invariant(!NativeMethodsMixin_DEV.componentWillMount && !NativeMethodsMixin_DEV.componentWillReceiveProps && !NativeMethodsMixin_DEV.UNSAFE_componentWillMount && !NativeMethodsMixin_DEV.UNSAFE_componentWillReceiveProps, "Do not override existing functions."); + + NativeMethodsMixin_DEV.componentWillMount = function () { + throwOnStylesProp(this, this.props); + }; + + NativeMethodsMixin_DEV.componentWillReceiveProps = function (newProps) { + throwOnStylesProp(this, newProps); + }; + + NativeMethodsMixin_DEV.UNSAFE_componentWillMount = function () { + throwOnStylesProp(this, this.props); + }; + + NativeMethodsMixin_DEV.UNSAFE_componentWillReceiveProps = function (newProps) { + throwOnStylesProp(this, newProps); + }; + + NativeMethodsMixin_DEV.componentWillMount.__suppressDeprecationWarning = true; + NativeMethodsMixin_DEV.componentWillReceiveProps.__suppressDeprecationWarning = true; + } + return NativeMethodsMixin; + }; + + function _classCallCheck$1(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _possibleConstructorReturn(self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + } + + var ReactNativeComponent = function ReactNativeComponent(findNodeHandle, findHostInstance) { + var ReactNativeComponent = function (_React$Component) { + _inherits(ReactNativeComponent, _React$Component); + + function ReactNativeComponent() { + _classCallCheck$1(this, ReactNativeComponent); + + return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); + } + + ReactNativeComponent.prototype.blur = function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.focus = function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.measure = function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureInWindow = function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureLayout = function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeComponent.prototype.setNativeProps = function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (maybeInstance == null) { + return; + } + + var viewConfig = maybeInstance.viewConfig || maybeInstance.canonical.viewConfig; + var updatePayload = create(nativeProps, viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, updatePayload); + } + }; + + return ReactNativeComponent; + }(React.Component); + + return ReactNativeComponent; + }; + + var getInspectorDataForViewTag = void 0; + { + var traverseOwnerTreeUp = function traverseOwnerTreeUp(hierarchy, instance) { + if (instance) { + hierarchy.unshift(instance); + traverseOwnerTreeUp(hierarchy, instance._debugOwner); + } + }; + + var getOwnerHierarchy = function getOwnerHierarchy(instance) { + var hierarchy = []; + traverseOwnerTreeUp(hierarchy, instance); + return hierarchy; + }; + + var lastNonHostInstance = function lastNonHostInstance(hierarchy) { + for (var i = hierarchy.length - 1; i > 1; i--) { + var instance = hierarchy[i]; + + if (instance.tag !== HostComponent) { + return instance; + } + } + + return hierarchy[0]; + }; + + var getHostProps = function getHostProps(fiber) { + var host = findCurrentHostFiber(fiber); + + if (host) { + return host.memoizedProps || emptyObject; + } + + return emptyObject; + }; + + var getHostNode = function getHostNode(fiber, findNodeHandle) { + var hostNode = void 0; + + while (fiber) { + if (fiber.stateNode !== null && fiber.tag === HostComponent) { + hostNode = findNodeHandle(fiber.stateNode); + } + + if (hostNode) { + return hostNode; + } + + fiber = fiber.child; + } + + return null; + }; + + var createHierarchy = function createHierarchy(fiberHierarchy) { + return fiberHierarchy.map(function (fiber) { + return { + name: getComponentName(fiber), + getInspectorData: function getInspectorData(findNodeHandle) { + return { + measure: function measure(callback) { + return UIManager.measure(getHostNode(fiber, findNodeHandle), callback); + }, + props: getHostProps(fiber), + source: fiber._debugSource + }; + } + }; + }); + }; + + getInspectorDataForViewTag = function getInspectorDataForViewTag(viewTag) { + var closestInstance = getInstanceFromTag(viewTag); + + if (!closestInstance) { + return { + hierarchy: [], + props: emptyObject, + selection: null, + source: null + }; + } + + var fiber = findCurrentFiberUsingSlowPath(closestInstance); + var fiberHierarchy = getOwnerHierarchy(fiber); + var instance = lastNonHostInstance(fiberHierarchy); + var hierarchy = createHierarchy(fiberHierarchy); + var props = getHostProps(instance); + var source = instance._debugSource; + var selection = fiberHierarchy.indexOf(instance); + return { + hierarchy: hierarchy, + props: props, + selection: selection, + source: source + }; + }; + } + var findHostInstance = findHostInstance$1; + + function findNodeHandle(componentOrHandle) { + { + var owner = ReactCurrentOwner.current; + + if (owner !== null && owner.stateNode !== null) { + !owner.stateNode._warnedAboutRefsInRender ? warning(false, "%s is accessing findNodeHandle inside its render(). " + "render() should be a pure function of props and state. It should " + "never access something that requires stale data from the previous " + "render, such as refs. Move this logic to componentDidMount and " + "componentDidUpdate instead.", getComponentName(owner) || "A component") : void 0; + owner.stateNode._warnedAboutRefsInRender = true; + } + } + + if (componentOrHandle == null) { + return null; + } + + if (typeof componentOrHandle === "number") { + return componentOrHandle; + } + + if (componentOrHandle._nativeTag) { + return componentOrHandle._nativeTag; + } + + if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) { + return componentOrHandle.canonical._nativeTag; + } + + var hostInstance = findHostInstance(componentOrHandle); + + if (hostInstance == null) { + return hostInstance; + } + + if (hostInstance.canonical) { + return hostInstance.canonical._nativeTag; + } + + return hostInstance._nativeTag; + } + + injection$2.injectRenderer(ReactNativeFiberRenderer); + + function computeComponentStackForErrorReporting(reactTag) { + var fiber = getInstanceFromTag(reactTag); + + if (!fiber) { + return ""; + } + + return getStackAddendumByWorkInProgressFiber(fiber); + } + + var roots = new Map(); + var ReactNativeRenderer = { + NativeComponent: ReactNativeComponent(findNodeHandle, findHostInstance), + findNodeHandle: findNodeHandle, + render: function render(element, containerTag, callback) { + var root = roots.get(containerTag); + + if (!root) { + root = createContainer(containerTag, false, false); + roots.set(containerTag, root); + } + + updateContainer(element, root, null, callback); + return getPublicRootInstance(root); + }, + unmountComponentAtNode: function unmountComponentAtNode(containerTag) { + var root = roots.get(containerTag); + + if (root) { + updateContainer(null, root, null, function () { + roots.delete(containerTag); + }); + } + }, + unmountComponentAtNodeAndRemoveContainer: function unmountComponentAtNodeAndRemoveContainer(containerTag) { + ReactNativeRenderer.unmountComponentAtNode(containerTag); + UIManager.removeRootView(containerTag); + }, + createPortal: function createPortal(children, containerTag) { + var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + return _createPortal(children, containerTag, null, key); + }, + unstable_batchedUpdates: batchedUpdates, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + NativeMethodsMixin: NativeMethodsMixin(findNodeHandle, findHostInstance), + computeComponentStackForErrorReporting: computeComponentStackForErrorReporting + } + }; + injectIntoDevTools({ + findFiberByHostInstance: getInstanceFromTag, + getInspectorDataForViewTag: getInspectorDataForViewTag, + bundleType: 1, + version: ReactVersion, + rendererPackageName: "react-native-renderer" + }); + var ReactNativeRenderer$2 = Object.freeze({ + default: ReactNativeRenderer + }); + var ReactNativeRenderer$3 = ReactNativeRenderer$2 && ReactNativeRenderer || ReactNativeRenderer$2; + var reactNativeRenderer = ReactNativeRenderer$3.default ? ReactNativeRenderer$3.default : ReactNativeRenderer$3; + module.exports = reactNativeRenderer; + })(); + } +},262,[263,166,183,231,218,322,1,323,173,324,226,325,9,271],"node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _require = _$$_REQUIRE(_dependencyMap[0], 'PolyfillFunctions'), + polyfillObjectProperty = _require.polyfillObjectProperty, + polyfillGlobal = _require.polyfillGlobal; + + if (global.GLOBAL === undefined) { + global.GLOBAL = global; + } + + if (global.window === undefined) { + global.window = global; + } + + var _shouldPolyfillCollection = _$$_REQUIRE(_dependencyMap[1], '_shouldPolyfillES6Collection'); + + if (_shouldPolyfillCollection('Map')) { + polyfillGlobal('Map', function () { + return _$$_REQUIRE(_dependencyMap[2], 'Map'); + }); + } + + if (_shouldPolyfillCollection('Set')) { + polyfillGlobal('Set', function () { + return _$$_REQUIRE(_dependencyMap[3], 'Set'); + }); + } + + global.process = global.process || {}; + global.process.env = global.process.env || {}; + + if (!global.process.env.NODE_ENV) { + global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production'; + } + + if (global.__RCTProfileIsProfiling) { + var Systrace = _$$_REQUIRE(_dependencyMap[4], 'Systrace'); + + Systrace.installReactHook(); + Systrace.setEnabled(true); + } + + var ExceptionsManager = _$$_REQUIRE(_dependencyMap[5], 'ExceptionsManager'); + + ExceptionsManager.installConsoleErrorReporter(); + + if (!global.__fbDisableExceptionsManager) { + var handleError = function handleError(e, isFatal) { + try { + ExceptionsManager.handleException(e, isFatal); + } catch (ee) { + console.log('Failed to print error: ', ee.message); + throw e; + } + }; + + var ErrorUtils = _$$_REQUIRE(_dependencyMap[6], 'ErrorUtils'); + + ErrorUtils.setGlobalHandler(handleError); + } + + var ReactNativeVersionCheck = _$$_REQUIRE(_dependencyMap[7], 'ReactNativeVersionCheck'); + + ReactNativeVersionCheck.checkVersions(); + polyfillGlobal('Promise', function () { + return _$$_REQUIRE(_dependencyMap[8], 'Promise'); + }); + polyfillGlobal('regeneratorRuntime', function () { + delete global.regeneratorRuntime; + + _$$_REQUIRE(_dependencyMap[9], 'regenerator-runtime/runtime'); + + return global.regeneratorRuntime; + }); + + var defineLazyTimer = function defineLazyTimer(name) { + polyfillGlobal(name, function () { + return _$$_REQUIRE(_dependencyMap[10], 'JSTimers')[name]; + }); + }; + + defineLazyTimer('setTimeout'); + defineLazyTimer('setInterval'); + defineLazyTimer('setImmediate'); + defineLazyTimer('clearTimeout'); + defineLazyTimer('clearInterval'); + defineLazyTimer('clearImmediate'); + defineLazyTimer('requestAnimationFrame'); + defineLazyTimer('cancelAnimationFrame'); + defineLazyTimer('requestIdleCallback'); + defineLazyTimer('cancelIdleCallback'); + polyfillGlobal('XMLHttpRequest', function () { + return _$$_REQUIRE(_dependencyMap[11], 'XMLHttpRequest'); + }); + polyfillGlobal('FormData', function () { + return _$$_REQUIRE(_dependencyMap[12], 'FormData'); + }); + polyfillGlobal('fetch', function () { + return _$$_REQUIRE(_dependencyMap[13], 'fetch').fetch; + }); + polyfillGlobal('Headers', function () { + return _$$_REQUIRE(_dependencyMap[13], 'fetch').Headers; + }); + polyfillGlobal('Request', function () { + return _$$_REQUIRE(_dependencyMap[13], 'fetch').Request; + }); + polyfillGlobal('Response', function () { + return _$$_REQUIRE(_dependencyMap[13], 'fetch').Response; + }); + polyfillGlobal('WebSocket', function () { + return _$$_REQUIRE(_dependencyMap[14], 'WebSocket'); + }); + polyfillGlobal('Blob', function () { + return _$$_REQUIRE(_dependencyMap[15], 'Blob'); + }); + polyfillGlobal('File', function () { + return _$$_REQUIRE(_dependencyMap[16], 'File'); + }); + polyfillGlobal('FileReader', function () { + return _$$_REQUIRE(_dependencyMap[17], 'FileReader'); + }); + polyfillGlobal('URL', function () { + return _$$_REQUIRE(_dependencyMap[18], 'URL'); + }); + + if (!global.alert) { + global.alert = function (text) { + _$$_REQUIRE(_dependencyMap[19], 'Alert').alert('Alert', '' + text); + }; + } + + var navigator = global.navigator; + + if (navigator === undefined) { + global.navigator = navigator = {}; + } + + polyfillObjectProperty(navigator, 'product', function () { + return 'ReactNative'; + }); + polyfillObjectProperty(navigator, 'geolocation', function () { + return _$$_REQUIRE(_dependencyMap[20], 'Geolocation'); + }); + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[21], 'BatchedBridge'); + + BatchedBridge.registerLazyCallableModule('Systrace', function () { + return _$$_REQUIRE(_dependencyMap[4], 'Systrace'); + }); + BatchedBridge.registerLazyCallableModule('JSTimers', function () { + return _$$_REQUIRE(_dependencyMap[10], 'JSTimers'); + }); + BatchedBridge.registerLazyCallableModule('HeapCapture', function () { + return _$$_REQUIRE(_dependencyMap[22], 'HeapCapture'); + }); + BatchedBridge.registerLazyCallableModule('SamplingProfiler', function () { + return _$$_REQUIRE(_dependencyMap[23], 'SamplingProfiler'); + }); + BatchedBridge.registerLazyCallableModule('RCTLog', function () { + return _$$_REQUIRE(_dependencyMap[24], 'RCTLog'); + }); + BatchedBridge.registerLazyCallableModule('RCTDeviceEventEmitter', function () { + return _$$_REQUIRE(_dependencyMap[25], 'RCTDeviceEventEmitter'); + }); + BatchedBridge.registerLazyCallableModule('RCTNativeAppEventEmitter', function () { + return _$$_REQUIRE(_dependencyMap[26], 'RCTNativeAppEventEmitter'); + }); + BatchedBridge.registerLazyCallableModule('PerformanceLogger', function () { + return _$$_REQUIRE(_dependencyMap[27], 'PerformanceLogger'); + }); + BatchedBridge.registerLazyCallableModule('JSDevSupportModule', function () { + return _$$_REQUIRE(_dependencyMap[28], 'JSDevSupportModule'); + }); + + global.__fetchSegment = function (segmentId, options, callback) { + var _require2 = _$$_REQUIRE(_dependencyMap[29], 'NativeModules'), + SegmentFetcher = _require2.SegmentFetcher; + + if (!SegmentFetcher) { + throw new Error('SegmentFetcher is missing. Please ensure that it is ' + 'included as a NativeModule.'); + } + + SegmentFetcher.fetchSegment(segmentId, options, function (errorObject) { + if (errorObject) { + var error = new Error(errorObject.message); + error.code = errorObject.code; + callback(error); + } + + callback(null); + }); + }; + + if (__DEV__) { + if (!global.__RCTProfileIsProfiling) { + BatchedBridge.registerCallableModule('HMRClient', _$$_REQUIRE(_dependencyMap[30], 'HMRClient')); + + if (!window.document) { + _$$_REQUIRE(_dependencyMap[31], 'setupDevtools'); + } + + var JSInspector = _$$_REQUIRE(_dependencyMap[32], 'JSInspector'); + + JSInspector.registerAgent(_$$_REQUIRE(_dependencyMap[33], 'NetworkAgent')); + } + } +},263,[264,265,266,270,172,271,171,276,186,278,175,279,293,274,294,290,296,297,298,299,301,169,304,305,306,194,307,308,310,168,311,316,319,320],"node_modules/react-native/Libraries/Core/InitializeCore.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var defineLazyObjectProperty = _$$_REQUIRE(_dependencyMap[0], 'defineLazyObjectProperty'); + + function polyfillObjectProperty(object, name, getValue) { + var descriptor = Object.getOwnPropertyDescriptor(object, name); + + if (__DEV__ && descriptor) { + var backupName = "original" + name[0].toUpperCase() + name.substr(1); + Object.defineProperty(object, backupName, _objectSpread({}, descriptor, { + value: object[name] + })); + } + + var _ref = descriptor || {}, + enumerable = _ref.enumerable, + writable = _ref.writable, + configurable = _ref.configurable; + + if (descriptor && !configurable) { + console.error('Failed to set polyfill. ' + name + ' is not configurable.'); + return; + } + + defineLazyObjectProperty(object, name, { + get: getValue, + enumerable: enumerable !== false, + writable: writable !== false + }); + } + + function polyfillGlobal(name, getValue) { + polyfillObjectProperty(global, name, getValue); + } + + module.exports = { + polyfillObjectProperty: polyfillObjectProperty, + polyfillGlobal: polyfillGlobal + }; +},264,[185],"node_modules/react-native/Libraries/Utilities/PolyfillFunctions.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _shouldActuallyPolyfillES6Collection(collectionName) { + var Collection = global[collectionName]; + + if (Collection == null) { + return true; + } + + if (typeof global.Symbol !== 'function') { + return true; + } + + var proto = Collection.prototype; + return Collection == null || typeof Collection !== 'function' || typeof proto.clear !== 'function' || new Collection().size !== 0 || typeof proto.keys !== 'function' || typeof proto.forEach !== 'function'; + } + + var cache = {}; + + function _shouldPolyfillES6Collection(collectionName) { + var result = cache[collectionName]; + + if (result !== undefined) { + return result; + } + + result = _shouldActuallyPolyfillES6Collection(collectionName); + cache[collectionName] = result; + return result; + } + + module.exports = _shouldPolyfillES6Collection; +},265,[],"node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var _shouldPolyfillES6Collection = _$$_REQUIRE(_dependencyMap[0], '_shouldPolyfillES6Collection'); + + var guid = _$$_REQUIRE(_dependencyMap[1], 'guid'); + + var isNode = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/isNode'); + + var toIterator = _$$_REQUIRE(_dependencyMap[3], 'toIterator'); + + module.exports = function (global, undefined) { + if (!_shouldPolyfillES6Collection('Map')) { + return global.Map; + } + + var KIND_KEY = 'key'; + var KIND_VALUE = 'value'; + var KIND_KEY_VALUE = 'key+value'; + var KEY_PREFIX = '$map_'; + var SECRET_SIZE_PROP; + + if (__DEV__) { + SECRET_SIZE_PROP = '$size' + guid(); + } + + var OLD_IE_HASH_PREFIX = 'IE_HASH_'; + + var Map = function () { + function Map(iterable) { + _classCallCheck(this, Map); + + if (!isObject(this)) { + throw new TypeError('Wrong map object type.'); + } + + initMap(this); + + if (iterable != null) { + var it = toIterator(iterable); + var next; + + while (!(next = it.next()).done) { + if (!isObject(next.value)) { + throw new TypeError('Expected iterable items to be pair objects.'); + } + + this.set(next.value[0], next.value[1]); + } + } + } + + _createClass(Map, [{ + key: "clear", + value: function clear() { + initMap(this); + } + }, { + key: "has", + value: function has(key) { + var index = getIndex(this, key); + return !!(index != null && this._mapData[index]); + } + }, { + key: "set", + value: function set(key, value) { + var index = getIndex(this, key); + + if (index != null && this._mapData[index]) { + this._mapData[index][1] = value; + } else { + index = this._mapData.push([key, value]) - 1; + setIndex(this, key, index); + + if (__DEV__) { + this[SECRET_SIZE_PROP] += 1; + } else { + this.size += 1; + } + } + + return this; + } + }, { + key: "get", + value: function get(key) { + var index = getIndex(this, key); + + if (index == null) { + return undefined; + } else { + return this._mapData[index][1]; + } + } + }, { + key: "delete", + value: function _delete(key) { + var index = getIndex(this, key); + + if (index != null && this._mapData[index]) { + setIndex(this, key, undefined); + this._mapData[index] = undefined; + + if (__DEV__) { + this[SECRET_SIZE_PROP] -= 1; + } else { + this.size -= 1; + } + + return true; + } else { + return false; + } + } + }, { + key: "entries", + value: function entries() { + return new MapIterator(this, KIND_KEY_VALUE); + } + }, { + key: "keys", + value: function keys() { + return new MapIterator(this, KIND_KEY); + } + }, { + key: "values", + value: function values() { + return new MapIterator(this, KIND_VALUE); + } + }, { + key: "forEach", + value: function forEach(callback, thisArg) { + if (typeof callback !== 'function') { + throw new TypeError('Callback must be callable.'); + } + + var boundCallback = callback.bind(thisArg || undefined); + var mapData = this._mapData; + + for (var i = 0; i < mapData.length; i++) { + var entry = mapData[i]; + + if (entry != null) { + boundCallback(entry[1], entry[0], this); + } + } + } + }]); + + return Map; + }(); + + Map.prototype[toIterator.ITERATOR_SYMBOL] = Map.prototype.entries; + + var MapIterator = function () { + function MapIterator(map, kind) { + _classCallCheck(this, MapIterator); + + if (!(isObject(map) && map._mapData)) { + throw new TypeError('Object is not a map.'); + } + + if ([KIND_KEY, KIND_KEY_VALUE, KIND_VALUE].indexOf(kind) === -1) { + throw new Error('Invalid iteration kind.'); + } + + this._map = map; + this._nextIndex = 0; + this._kind = kind; + } + + _createClass(MapIterator, [{ + key: "next", + value: function next() { + if (!this instanceof Map) { + throw new TypeError('Expected to be called on a MapIterator.'); + } + + var map = this._map; + var index = this._nextIndex; + var kind = this._kind; + + if (map == null) { + return createIterResultObject(undefined, true); + } + + var entries = map._mapData; + + while (index < entries.length) { + var record = entries[index]; + index += 1; + this._nextIndex = index; + + if (record) { + if (kind === KIND_KEY) { + return createIterResultObject(record[0], false); + } else if (kind === KIND_VALUE) { + return createIterResultObject(record[1], false); + } else if (kind) { + return createIterResultObject(record, false); + } + } + } + + this._map = undefined; + return createIterResultObject(undefined, true); + } + }]); + + return MapIterator; + }(); + + MapIterator.prototype[toIterator.ITERATOR_SYMBOL] = function () { + return this; + }; + + function getIndex(map, key) { + if (isObject(key)) { + var hash = getHash(key); + return map._objectIndex[hash]; + } else { + var prefixedKey = KEY_PREFIX + key; + + if (typeof key === 'string') { + return map._stringIndex[prefixedKey]; + } else { + return map._otherIndex[prefixedKey]; + } + } + } + + function setIndex(map, key, index) { + var shouldDelete = index == null; + + if (isObject(key)) { + var hash = getHash(key); + + if (shouldDelete) { + delete map._objectIndex[hash]; + } else { + map._objectIndex[hash] = index; + } + } else { + var prefixedKey = KEY_PREFIX + key; + + if (typeof key === 'string') { + if (shouldDelete) { + delete map._stringIndex[prefixedKey]; + } else { + map._stringIndex[prefixedKey] = index; + } + } else { + if (shouldDelete) { + delete map._otherIndex[prefixedKey]; + } else { + map._otherIndex[prefixedKey] = index; + } + } + } + } + + function initMap(map) { + map._mapData = []; + map._objectIndex = {}; + map._stringIndex = {}; + map._otherIndex = {}; + + if (__DEV__) { + if (isES5) { + if (map.hasOwnProperty(SECRET_SIZE_PROP)) { + map[SECRET_SIZE_PROP] = 0; + } else { + Object.defineProperty(map, SECRET_SIZE_PROP, { + value: 0, + writable: true + }); + Object.defineProperty(map, 'size', { + set: function set(v) { + console.error('PLEASE FIX ME: You are changing the map size property which ' + 'should not be writable and will break in production.'); + throw new Error('The map size property is not writable.'); + }, + get: function get() { + return map[SECRET_SIZE_PROP]; + } + }); + } + + return; + } + } + + map.size = 0; + } + + function isObject(o) { + return o != null && (typeof o === 'object' || typeof o === 'function'); + } + + function createIterResultObject(value, done) { + return { + value: value, + done: done + }; + } + + var isES5 = function () { + try { + Object.defineProperty({}, 'x', {}); + return true; + } catch (e) { + return false; + } + }(); + + function isExtensible(o) { + if (!isES5) { + return true; + } else { + return Object.isExtensible(o); + } + } + + function getIENodeHash(node) { + var uniqueID; + + switch (node.nodeType) { + case 1: + uniqueID = node.uniqueID; + break; + + case 9: + uniqueID = node.documentElement.uniqueID; + break; + + default: + return null; + } + + if (uniqueID) { + return OLD_IE_HASH_PREFIX + uniqueID; + } else { + return null; + } + } + + var getHash = function () { + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + var hashProperty = guid(); + var hashCounter = 0; + return function getHash(o) { + if (o[hashProperty]) { + return o[hashProperty]; + } else if (!isES5 && o.propertyIsEnumerable && o.propertyIsEnumerable[hashProperty]) { + return o.propertyIsEnumerable[hashProperty]; + } else if (!isES5 && isNode(o) && getIENodeHash(o)) { + return getIENodeHash(o); + } else if (!isES5 && o[hashProperty]) { + return o[hashProperty]; + } + + if (isExtensible(o)) { + hashCounter += 1; + + if (isES5) { + Object.defineProperty(o, hashProperty, { + enumerable: false, + writable: false, + configurable: false, + value: hashCounter + }); + } else if (o.propertyIsEnumerable) { + o.propertyIsEnumerable = function () { + return propIsEnumerable.apply(this, arguments); + }; + + o.propertyIsEnumerable[hashProperty] = hashCounter; + } else if (isNode(o)) { + o[hashProperty] = hashCounter; + } else { + throw new Error('Unable to set a non-enumerable property on object.'); + } + + return hashCounter; + } else { + throw new Error('Non-extensible objects are not allowed as keys.'); + } + }; + }(); + + return Map; + }(Function('return this')()); +},266,[265,267,268,269],"node_modules/react-native/Libraries/vendor/core/Map.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function guid() { + return 'f' + (Math.random() * (1 << 30)).toString(16).replace('.', ''); + } + + module.exports = guid; +},267,[],"node_modules/react-native/Libraries/vendor/core/guid.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function isNode(object) { + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); + } + + module.exports = isNode; +},268,[],"node_modules/react-native/node_modules/fbjs/lib/isNode.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var KIND_KEY = 'key'; + var KIND_VALUE = 'value'; + var KIND_KEY_VAL = 'key+value'; + var ITERATOR_SYMBOL = typeof Symbol === 'function' ? typeof Symbol === "function" ? Symbol.iterator : "@@iterator" : '@@iterator'; + + var toIterator = function () { + if (!(Array.prototype[ITERATOR_SYMBOL] && String.prototype[ITERATOR_SYMBOL])) { + return function () { + var ArrayIterator = function () { + function ArrayIterator(array, kind) { + _classCallCheck(this, ArrayIterator); + + if (!Array.isArray(array)) { + throw new TypeError('Object is not an Array'); + } + + this._iteratedObject = array; + this._kind = kind; + this._nextIndex = 0; + } + + _createClass(ArrayIterator, [{ + key: "next", + value: function next() { + if (!this instanceof ArrayIterator) { + throw new TypeError('Object is not an ArrayIterator'); + } + + if (this._iteratedObject == null) { + return createIterResultObject(undefined, true); + } + + var array = this._iteratedObject; + var len = this._iteratedObject.length; + var index = this._nextIndex; + var kind = this._kind; + + if (index >= len) { + this._iteratedObject = undefined; + return createIterResultObject(undefined, true); + } + + this._nextIndex = index + 1; + + if (kind === KIND_KEY) { + return createIterResultObject(index, false); + } else if (kind === KIND_VALUE) { + return createIterResultObject(array[index], false); + } else if (kind === KIND_KEY_VAL) { + return createIterResultObject([index, array[index]], false); + } + } + }, { + key: '@@iterator', + value: function iterator() { + return this; + } + }]); + + return ArrayIterator; + }(); + + var StringIterator = function () { + function StringIterator(string) { + _classCallCheck(this, StringIterator); + + if (typeof string !== 'string') { + throw new TypeError('Object is not a string'); + } + + this._iteratedString = string; + this._nextIndex = 0; + } + + _createClass(StringIterator, [{ + key: "next", + value: function next() { + if (!this instanceof StringIterator) { + throw new TypeError('Object is not a StringIterator'); + } + + if (this._iteratedString == null) { + return createIterResultObject(undefined, true); + } + + var index = this._nextIndex; + var s = this._iteratedString; + var len = s.length; + + if (index >= len) { + this._iteratedString = undefined; + return createIterResultObject(undefined, true); + } + + var ret; + var first = s.charCodeAt(index); + + if (first < 0xd800 || first > 0xdbff || index + 1 === len) { + ret = s[index]; + } else { + var second = s.charCodeAt(index + 1); + + if (second < 0xdc00 || second > 0xdfff) { + ret = s[index]; + } else { + ret = s[index] + s[index + 1]; + } + } + + this._nextIndex = index + ret.length; + return createIterResultObject(ret, false); + } + }, { + key: '@@iterator', + value: function iterator() { + return this; + } + }]); + + return StringIterator; + }(); + + function createIterResultObject(value, done) { + return { + value: value, + done: done + }; + } + + return function (object, kind) { + if (typeof object === 'string') { + return new StringIterator(object); + } else if (Array.isArray(object)) { + return new ArrayIterator(object, kind || KIND_VALUE); + } else { + return object[ITERATOR_SYMBOL](); + } + }; + }(); + } else { + return function (object) { + return object[ITERATOR_SYMBOL](); + }; + } + }(); + + _extends(toIterator, { + KIND_KEY: KIND_KEY, + KIND_VALUE: KIND_VALUE, + KIND_KEY_VAL: KIND_KEY_VAL, + ITERATOR_SYMBOL: ITERATOR_SYMBOL + }); + + module.exports = toIterator; +},269,[],"node_modules/react-native/Libraries/vendor/core/toIterator.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Map = _$$_REQUIRE(_dependencyMap[0], 'Map'); + + var _shouldPolyfillES6Collection = _$$_REQUIRE(_dependencyMap[1], '_shouldPolyfillES6Collection'); + + var toIterator = _$$_REQUIRE(_dependencyMap[2], 'toIterator'); + + module.exports = function (global) { + if (!_shouldPolyfillES6Collection('Set')) { + return global.Set; + } + + var Set = function () { + function Set(iterable) { + _classCallCheck(this, Set); + + if (this == null || typeof this !== 'object' && typeof this !== 'function') { + throw new TypeError('Wrong set object type.'); + } + + initSet(this); + + if (iterable != null) { + var it = toIterator(iterable); + var next; + + while (!(next = it.next()).done) { + this.add(next.value); + } + } + } + + _createClass(Set, [{ + key: "add", + value: function add(value) { + this._map.set(value, value); + + this.size = this._map.size; + return this; + } + }, { + key: "clear", + value: function clear() { + initSet(this); + } + }, { + key: "delete", + value: function _delete(value) { + var ret = this._map.delete(value); + + this.size = this._map.size; + return ret; + } + }, { + key: "entries", + value: function entries() { + return this._map.entries(); + } + }, { + key: "forEach", + value: function forEach(callback) { + var thisArg = arguments[1]; + + var it = this._map.keys(); + + var next; + + while (!(next = it.next()).done) { + callback.call(thisArg, next.value, next.value, this); + } + } + }, { + key: "has", + value: function has(value) { + return this._map.has(value); + } + }, { + key: "values", + value: function values() { + return this._map.values(); + } + }]); + + return Set; + }(); + + Set.prototype[toIterator.ITERATOR_SYMBOL] = Set.prototype.values; + Set.prototype.keys = Set.prototype.values; + + function initSet(set) { + set._map = new Map(); + set.size = set._map.size; + } + + return Set; + }(Function('return this')()); +},270,[266,265,269],"node_modules/react-native/Libraries/vendor/core/Set.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var exceptionID = 0; + + function reportException(e, isFatal) { + var _require = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'), + ExceptionsManager = _require.ExceptionsManager; + + if (ExceptionsManager) { + var parseErrorStack = _$$_REQUIRE(_dependencyMap[1], 'parseErrorStack'); + + var stack = parseErrorStack(e); + var currentExceptionID = ++exceptionID; + + if (isFatal) { + ExceptionsManager.reportFatalException(e.message, stack, currentExceptionID); + } else { + ExceptionsManager.reportSoftException(e.message, stack, currentExceptionID); + } + + if (__DEV__) { + var symbolicateStackTrace = _$$_REQUIRE(_dependencyMap[2], 'symbolicateStackTrace'); + + symbolicateStackTrace(stack).then(function (prettyStack) { + if (prettyStack) { + ExceptionsManager.updateExceptionMessage(e.message, prettyStack, currentExceptionID); + } else { + throw new Error('The stack is null'); + } + }).catch(function (error) { + return console.warn('Unable to symbolicate stack trace: ' + error.message); + }); + } + } + } + + function handleException(e, isFatal) { + if (!e.message) { + e = new Error(e); + } + + if (console._errorOriginal) { + console._errorOriginal(e.message); + } else { + console.error(e.message); + } + + reportException(e, isFatal); + } + + function reactConsoleErrorHandler() { + console._errorOriginal.apply(console, arguments); + + if (!console.reportErrorsAsExceptions) { + return; + } + + if (arguments[0] && arguments[0].stack) { + reportException(arguments[0], false); + } else { + var stringifySafe = _$$_REQUIRE(_dependencyMap[3], 'stringifySafe'); + + var str = Array.prototype.map.call(arguments, stringifySafe).join(', '); + + if (str.slice(0, 10) === '"Warning: ') { + return; + } + + var error = new Error('console.error: ' + str); + error.framesToPop = 1; + reportException(error, false); + } + } + + function installConsoleErrorReporter() { + if (console._errorOriginal) { + return; + } + + console._errorOriginal = console.error.bind(console); + console.error = reactConsoleErrorHandler; + + if (console.reportErrorsAsExceptions === undefined) { + console.reportErrorsAsExceptions = true; + } + } + + module.exports = { + handleException: handleException, + installConsoleErrorReporter: installConsoleErrorReporter + }; +},271,[168,180,272,174],"node_modules/react-native/Libraries/Core/ExceptionsManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var getDevServer = _$$_REQUIRE(_dependencyMap[0], 'getDevServer'); + + var _require = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'), + SourceCode = _require.SourceCode; + + var fetch; + + function isSourcedFromDisk(sourcePath) { + return !/^http/.test(sourcePath) && /[\\/]/.test(sourcePath); + } + + function symbolicateStackTrace(stack) { + var devServer, stackCopy, foundInternalSource, response, json; + return regeneratorRuntime.async(function symbolicateStackTrace$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!fetch) { + fetch = global.fetch || _$$_REQUIRE(_dependencyMap[2], 'fetch').fetch; + } + + devServer = getDevServer(); + + if (devServer.bundleLoadedFromServer) { + _context.next = 4; + break; + } + + throw new Error('Bundle was not loaded from the packager'); + + case 4: + stackCopy = stack; + + if (SourceCode.scriptURL) { + foundInternalSource = false; + stackCopy = stack.map(function (frame) { + if (!foundInternalSource && isSourcedFromDisk(frame.file)) { + return _objectSpread({}, frame, { + file: SourceCode.scriptURL + }); + } + + foundInternalSource = true; + return frame; + }); + } + + _context.next = 8; + return regeneratorRuntime.awrap(fetch(devServer.url + 'symbolicate', { + method: 'POST', + body: JSON.stringify({ + stack: stackCopy + }) + })); + + case 8: + response = _context.sent; + _context.next = 11; + return regeneratorRuntime.awrap(response.json()); + + case 11: + json = _context.sent; + return _context.abrupt("return", json.stack); + + case 13: + case "end": + return _context.stop(); + } + } + }, null, this); + } + + module.exports = symbolicateStackTrace; +},272,[273,168,274],"node_modules/react-native/Libraries/Core/Devtools/symbolicateStackTrace.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _require = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'), + SourceCode = _require.SourceCode; + + var _cachedDevServerURL; + + var FALLBACK = 'http://localhost:8081/'; + + function getDevServer() { + if (_cachedDevServerURL === undefined) { + var match = SourceCode && SourceCode.scriptURL && SourceCode.scriptURL.match(/^https?:\/\/.*?\//); + _cachedDevServerURL = match ? match[0] : null; + } + + return { + url: _cachedDevServerURL || FALLBACK, + bundleLoadedFromServer: _cachedDevServerURL !== null + }; + } + + module.exports = getDevServer; +},273,[168],"node_modules/react-native/Libraries/Core/Devtools/getDevServer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var whatwg = _$$_REQUIRE(_dependencyMap[0], 'whatwg-fetch'); + + if (whatwg && whatwg.fetch) { + module.exports = whatwg; + } else { + module.exports = { + fetch: fetch, + Headers: Headers, + Request: Request, + Response: Response + }; + } +},274,[275],"node_modules/react-native/Libraries/Network/fetch.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + (function (self) { + 'use strict'; + + if (self.fetch) { + return; + } + + var support = { + searchParams: 'URLSearchParams' in self, + iterable: 'Symbol' in self && 'iterator' in Symbol, + blob: 'FileReader' in self && 'Blob' in self && function () { + try { + new Blob(); + return true; + } catch (e) { + return false; + } + }(), + formData: 'FormData' in self, + arrayBuffer: 'ArrayBuffer' in self + }; + + if (support.arrayBuffer) { + var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]']; + + var isDataView = function isDataView(obj) { + return obj && DataView.prototype.isPrototypeOf(obj); + }; + + var isArrayBufferView = ArrayBuffer.isView || function (obj) { + return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1; + }; + } + + function normalizeName(name) { + if (typeof name !== 'string') { + name = String(name); + } + + if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) { + throw new TypeError('Invalid character in header field name'); + } + + return name.toLowerCase(); + } + + function normalizeValue(value) { + if (typeof value !== 'string') { + value = String(value); + } + + return value; + } + + function iteratorFor(items) { + var iterator = { + next: function next() { + var value = items.shift(); + return { + done: value === undefined, + value: value + }; + } + }; + + if (support.iterable) { + iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"] = function () { + return iterator; + }; + } + + return iterator; + } + + function Headers(headers) { + this.map = {}; + + if (headers instanceof Headers) { + headers.forEach(function (value, name) { + this.append(name, value); + }, this); + } else if (Array.isArray(headers)) { + headers.forEach(function (header) { + this.append(header[0], header[1]); + }, this); + } else if (headers) { + Object.getOwnPropertyNames(headers).forEach(function (name) { + this.append(name, headers[name]); + }, this); + } + } + + Headers.prototype.append = function (name, value) { + name = normalizeName(name); + value = normalizeValue(value); + var oldValue = this.map[name]; + this.map[name] = oldValue ? oldValue + ',' + value : value; + }; + + Headers.prototype['delete'] = function (name) { + delete this.map[normalizeName(name)]; + }; + + Headers.prototype.get = function (name) { + name = normalizeName(name); + return this.has(name) ? this.map[name] : null; + }; + + Headers.prototype.has = function (name) { + return this.map.hasOwnProperty(normalizeName(name)); + }; + + Headers.prototype.set = function (name, value) { + this.map[normalizeName(name)] = normalizeValue(value); + }; + + Headers.prototype.forEach = function (callback, thisArg) { + for (var name in this.map) { + if (this.map.hasOwnProperty(name)) { + callback.call(thisArg, this.map[name], name, this); + } + } + }; + + Headers.prototype.keys = function () { + var items = []; + this.forEach(function (value, name) { + items.push(name); + }); + return iteratorFor(items); + }; + + Headers.prototype.values = function () { + var items = []; + this.forEach(function (value) { + items.push(value); + }); + return iteratorFor(items); + }; + + Headers.prototype.entries = function () { + var items = []; + this.forEach(function (value, name) { + items.push([name, value]); + }); + return iteratorFor(items); + }; + + if (support.iterable) { + Headers.prototype[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"] = Headers.prototype.entries; + } + + function consumed(body) { + if (body.bodyUsed) { + return Promise.reject(new TypeError('Already read')); + } + + body.bodyUsed = true; + } + + function fileReaderReady(reader) { + return new Promise(function (resolve, reject) { + reader.onload = function () { + resolve(reader.result); + }; + + reader.onerror = function () { + reject(reader.error); + }; + }); + } + + function readBlobAsArrayBuffer(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsArrayBuffer(blob); + return promise; + } + + function readBlobAsText(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsText(blob); + return promise; + } + + function readArrayBufferAsText(buf) { + var view = new Uint8Array(buf); + var chars = new Array(view.length); + + for (var i = 0; i < view.length; i++) { + chars[i] = String.fromCharCode(view[i]); + } + + return chars.join(''); + } + + function bufferClone(buf) { + if (buf.slice) { + return buf.slice(0); + } else { + var view = new Uint8Array(buf.byteLength); + view.set(new Uint8Array(buf)); + return view.buffer; + } + } + + function Body() { + this.bodyUsed = false; + + this._initBody = function (body) { + this._bodyInit = body; + + if (!body) { + this._bodyText = ''; + } else if (typeof body === 'string') { + this._bodyText = body; + } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { + this._bodyBlob = body; + } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { + this._bodyFormData = body; + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this._bodyText = body.toString(); + } else if (support.arrayBuffer && support.blob && isDataView(body)) { + this._bodyArrayBuffer = bufferClone(body.buffer); + this._bodyInit = new Blob([this._bodyArrayBuffer]); + } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { + this._bodyArrayBuffer = bufferClone(body); + } else { + throw new Error('unsupported BodyInit type'); + } + + if (!this.headers.get('content-type')) { + if (typeof body === 'string') { + this.headers.set('content-type', 'text/plain;charset=UTF-8'); + } else if (this._bodyBlob && this._bodyBlob.type) { + this.headers.set('content-type', this._bodyBlob.type); + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + } + }; + + if (support.blob) { + this.blob = function () { + var rejected = consumed(this); + + if (rejected) { + return rejected; + } + + if (this._bodyBlob) { + return Promise.resolve(this._bodyBlob); + } else if (this._bodyArrayBuffer) { + return Promise.resolve(new Blob([this._bodyArrayBuffer])); + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as blob'); + } else { + return Promise.resolve(new Blob([this._bodyText])); + } + }; + + this.arrayBuffer = function () { + if (this._bodyArrayBuffer) { + return consumed(this) || Promise.resolve(this._bodyArrayBuffer); + } else { + return this.blob().then(readBlobAsArrayBuffer); + } + }; + } + + this.text = function () { + var rejected = consumed(this); + + if (rejected) { + return rejected; + } + + if (this._bodyBlob) { + return readBlobAsText(this._bodyBlob); + } else if (this._bodyArrayBuffer) { + return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)); + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as text'); + } else { + return Promise.resolve(this._bodyText); + } + }; + + if (support.formData) { + this.formData = function () { + return this.text().then(decode); + }; + } + + this.json = function () { + return this.text().then(JSON.parse); + }; + + return this; + } + + var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']; + + function normalizeMethod(method) { + var upcased = method.toUpperCase(); + return methods.indexOf(upcased) > -1 ? upcased : method; + } + + function Request(input, options) { + options = options || {}; + var body = options.body; + + if (input instanceof Request) { + if (input.bodyUsed) { + throw new TypeError('Already read'); + } + + this.url = input.url; + this.credentials = input.credentials; + + if (!options.headers) { + this.headers = new Headers(input.headers); + } + + this.method = input.method; + this.mode = input.mode; + + if (!body && input._bodyInit != null) { + body = input._bodyInit; + input.bodyUsed = true; + } + } else { + this.url = String(input); + } + + this.credentials = options.credentials || this.credentials || 'omit'; + + if (options.headers || !this.headers) { + this.headers = new Headers(options.headers); + } + + this.method = normalizeMethod(options.method || this.method || 'GET'); + this.mode = options.mode || this.mode || null; + this.referrer = null; + + if ((this.method === 'GET' || this.method === 'HEAD') && body) { + throw new TypeError('Body not allowed for GET or HEAD requests'); + } + + this._initBody(body); + } + + Request.prototype.clone = function () { + return new Request(this, { + body: this._bodyInit + }); + }; + + function decode(body) { + var form = new FormData(); + body.trim().split('&').forEach(function (bytes) { + if (bytes) { + var split = bytes.split('='); + var name = split.shift().replace(/\+/g, ' '); + var value = split.join('=').replace(/\+/g, ' '); + form.append(decodeURIComponent(name), decodeURIComponent(value)); + } + }); + return form; + } + + function parseHeaders(rawHeaders) { + var headers = new Headers(); + var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' '); + preProcessedHeaders.split(/\r?\n/).forEach(function (line) { + var parts = line.split(':'); + var key = parts.shift().trim(); + + if (key) { + var value = parts.join(':').trim(); + headers.append(key, value); + } + }); + return headers; + } + + Body.call(Request.prototype); + + function Response(bodyInit, options) { + if (!options) { + options = {}; + } + + this.type = 'default'; + this.status = options.status === undefined ? 200 : options.status; + this.ok = this.status >= 200 && this.status < 300; + this.statusText = 'statusText' in options ? options.statusText : 'OK'; + this.headers = new Headers(options.headers); + this.url = options.url || ''; + + this._initBody(bodyInit); + } + + Body.call(Response.prototype); + + Response.prototype.clone = function () { + return new Response(this._bodyInit, { + status: this.status, + statusText: this.statusText, + headers: new Headers(this.headers), + url: this.url + }); + }; + + Response.error = function () { + var response = new Response(null, { + status: 0, + statusText: '' + }); + response.type = 'error'; + return response; + }; + + var redirectStatuses = [301, 302, 303, 307, 308]; + + Response.redirect = function (url, status) { + if (redirectStatuses.indexOf(status) === -1) { + throw new RangeError('Invalid status code'); + } + + return new Response(null, { + status: status, + headers: { + location: url + } + }); + }; + + self.Headers = Headers; + self.Request = Request; + self.Response = Response; + + self.fetch = function (input, init) { + return new Promise(function (resolve, reject) { + var request = new Request(input, init); + var xhr = new XMLHttpRequest(); + + xhr.onload = function () { + var options = { + status: xhr.status, + statusText: xhr.statusText, + headers: parseHeaders(xhr.getAllResponseHeaders() || '') + }; + options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL'); + var body = 'response' in xhr ? xhr.response : xhr.responseText; + resolve(new Response(body, options)); + }; + + xhr.onerror = function () { + reject(new TypeError('Network request failed')); + }; + + xhr.ontimeout = function () { + reject(new TypeError('Network request failed')); + }; + + xhr.open(request.method, request.url, true); + + if (request.credentials === 'include') { + xhr.withCredentials = true; + } else if (request.credentials === 'omit') { + xhr.withCredentials = false; + } + + request.headers.forEach(function (value, name) { + xhr.setRequestHeader(name, value); + }); + xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit); + }); + }; + + self.fetch.polyfill = true; + })(typeof self !== 'undefined' ? self : this); +},275,[],"node_modules/react-native/Libraries/vendor/core/whatwg-fetch.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _require = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'), + PlatformConstants = _require.PlatformConstants; + + var ReactNativeVersion = _$$_REQUIRE(_dependencyMap[1], 'ReactNativeVersion'); + + exports.checkVersions = function checkVersions() { + if (!PlatformConstants) { + return; + } + + var nativeVersion = PlatformConstants.reactNativeVersion; + + if (ReactNativeVersion.version.major !== nativeVersion.major || ReactNativeVersion.version.minor !== nativeVersion.minor) { + console.error("React Native version mismatch.\n\nJavaScript version: " + _formatVersion(ReactNativeVersion.version) + "\n" + ("Native version: " + _formatVersion(nativeVersion) + "\n\n") + 'Make sure that you have rebuilt the native code. If the problem ' + 'persists try clearing the Watchman and packager caches with ' + '`watchman watch-del-all && react-native start --reset-cache`.'); + } + }; + + function _formatVersion(version) { + return version.major + "." + version.minor + "." + version.patch + (version.prerelease !== null ? "-" + version.prerelease : ''); + } +},276,[168,277],"node_modules/react-native/Libraries/Core/ReactNativeVersionCheck.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + exports.version = { + major: 0, + minor: 56, + patch: 0, + prerelease: null + }; +},277,[],"node_modules/react-native/Libraries/Core/ReactNativeVersion.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + !function (global) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + var inModule = typeof module === "object"; + var runtime = global.regeneratorRuntime; + + if (runtime) { + if (inModule) { + module.exports = runtime; + } + + return; + } + + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + generator._invoke = makeInvokeMethod(innerFn, self, context); + return generator; + } + + runtime.wrap = wrap; + + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + var ContinueSentinel = {}; + + function Generator() {} + + function GeneratorFunction() {} + + function GeneratorFunctionPrototype() {} + + var IteratorPrototype = {}; + + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + prototype[method] = function (arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + runtime.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + runtime.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + + if (value && typeof value === "object" && hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function (unwrapped) { + result.value = unwrapped; + resolve(result); + }, reject); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + + runtime.AsyncIterator = AsyncIterator; + + runtime.async = function (innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList)); + return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + context.sent = context._sent = context.arg; + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + var record = tryCatch(innerFn, self, context); + + if (record.type === "normal") { + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + } else if (record.type === "throw") { + state = GenStateCompleted; + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + + if (method === undefined) { + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator.return) { + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (!info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + } else { + return info; + } + + context.delegate = null; + return ContinueSentinel; + } + + defineIteratorMethods(Gp); + Gp[toStringTagSymbol] = "Generator"; + + Gp[iteratorSymbol] = function () { + return this; + }; + + Gp.toString = function () { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function (object) { + var keys = []; + + for (var key in object) { + keys.push(key); + } + + keys.reverse(); + return function next() { + while (keys.length) { + var key = keys.pop(); + + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + return next; + }; + + return next.next = next; + } + } + + return { + next: doneResult + }; + } + + runtime.values = values; + + function doneResult() { + return { + value: undefined, + done: true + }; + } + + Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + this.method = "next"; + this.arg = undefined; + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + stop: function stop() { + this.done = true; + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + context.method = "next"; + context.arg = undefined; + } + + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + + return thrown; + } + } + + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + }(function () { + return this; + }() || Function("return this")()); +},278,[],"node_modules/regenerator-runtime/runtime.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventTarget = _$$_REQUIRE(_dependencyMap[0], 'event-target-shim'); + + var RCTNetworking = _$$_REQUIRE(_dependencyMap[1], 'RCTNetworking'); + + var base64 = _$$_REQUIRE(_dependencyMap[2], 'base64-js'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var warning = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/warning'); + + var BlobManager = _$$_REQUIRE(_dependencyMap[5], 'BlobManager'); + + if (BlobManager.isAvailable) { + BlobManager.addNetworkingHandler(); + } + + var UNSENT = 0; + var OPENED = 1; + var HEADERS_RECEIVED = 2; + var LOADING = 3; + var DONE = 4; + var SUPPORTED_RESPONSE_TYPES = { + arraybuffer: typeof global.ArrayBuffer === 'function', + blob: typeof global.Blob === 'function', + document: false, + json: true, + text: true, + '': true + }; + var REQUEST_EVENTS = ['abort', 'error', 'load', 'loadstart', 'progress', 'timeout', 'loadend']; + var XHR_EVENTS = REQUEST_EVENTS.concat('readystatechange'); + + var XMLHttpRequestEventTarget = function (_EventTarget) { + function XMLHttpRequestEventTarget() { + _classCallCheck(this, XMLHttpRequestEventTarget); + + return _possibleConstructorReturn(this, _getPrototypeOf(XMLHttpRequestEventTarget).apply(this, arguments)); + } + + _inherits(XMLHttpRequestEventTarget, _EventTarget); + + return XMLHttpRequestEventTarget; + }(EventTarget.apply(void 0, REQUEST_EVENTS)); + + var XMLHttpRequest = function (_EventTarget2) { + _createClass(XMLHttpRequest, null, [{ + key: "setInterceptor", + value: function setInterceptor(interceptor) { + XMLHttpRequest._interceptor = interceptor; + } + }]); + + function XMLHttpRequest() { + var _this; + + _classCallCheck(this, XMLHttpRequest); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(XMLHttpRequest).call(this)); + _this.UNSENT = UNSENT; + _this.OPENED = OPENED; + _this.HEADERS_RECEIVED = HEADERS_RECEIVED; + _this.LOADING = LOADING; + _this.DONE = DONE; + _this.readyState = UNSENT; + _this.status = 0; + _this.timeout = 0; + _this.withCredentials = true; + _this.upload = new XMLHttpRequestEventTarget(); + _this._aborted = false; + _this._hasError = false; + _this._method = null; + _this._response = ''; + _this._url = null; + _this._timedOut = false; + _this._trackingName = 'unknown'; + _this._incrementalEvents = false; + + _this._reset(); + + return _this; + } + + _createClass(XMLHttpRequest, [{ + key: "_reset", + value: function _reset() { + this.readyState = this.UNSENT; + this.responseHeaders = undefined; + this.status = 0; + delete this.responseURL; + this._requestId = null; + this._cachedResponse = undefined; + this._hasError = false; + this._headers = {}; + this._response = ''; + this._responseType = ''; + this._sent = false; + this._lowerCaseResponseHeaders = {}; + + this._clearSubscriptions(); + + this._timedOut = false; + } + }, { + key: "__didCreateRequest", + value: function __didCreateRequest(requestId) { + this._requestId = requestId; + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.requestSent(requestId, this._url || '', this._method || 'GET', this._headers); + } + }, { + key: "__didUploadProgress", + value: function __didUploadProgress(requestId, progress, total) { + if (requestId === this._requestId) { + this.upload.dispatchEvent({ + type: 'progress', + lengthComputable: true, + loaded: progress, + total: total + }); + } + } + }, { + key: "__didReceiveResponse", + value: function __didReceiveResponse(requestId, status, responseHeaders, responseURL) { + if (requestId === this._requestId) { + this.status = status; + this.setResponseHeaders(responseHeaders); + this.setReadyState(this.HEADERS_RECEIVED); + + if (responseURL || responseURL === '') { + this.responseURL = responseURL; + } else { + delete this.responseURL; + } + + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.responseReceived(requestId, responseURL || this._url || '', status, responseHeaders || {}); + } + } + }, { + key: "__didReceiveData", + value: function __didReceiveData(requestId, response) { + if (requestId !== this._requestId) { + return; + } + + this._response = response; + this._cachedResponse = undefined; + this.setReadyState(this.LOADING); + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.dataReceived(requestId, response); + } + }, { + key: "__didReceiveIncrementalData", + value: function __didReceiveIncrementalData(requestId, responseText, progress, total) { + if (requestId !== this._requestId) { + return; + } + + if (!this._response) { + this._response = responseText; + } else { + this._response += responseText; + } + + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.dataReceived(requestId, responseText); + this.setReadyState(this.LOADING); + + this.__didReceiveDataProgress(requestId, progress, total); + } + }, { + key: "__didReceiveDataProgress", + value: function __didReceiveDataProgress(requestId, loaded, total) { + if (requestId !== this._requestId) { + return; + } + + this.dispatchEvent({ + type: 'progress', + lengthComputable: total >= 0, + loaded: loaded, + total: total + }); + } + }, { + key: "__didCompleteResponse", + value: function __didCompleteResponse(requestId, error, timeOutError) { + if (requestId === this._requestId) { + if (error) { + if (this._responseType === '' || this._responseType === 'text') { + this._response = error; + } + + this._hasError = true; + + if (timeOutError) { + this._timedOut = true; + } + } + + this._clearSubscriptions(); + + this._requestId = null; + this.setReadyState(this.DONE); + + if (error) { + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.loadingFailed(requestId, error); + } else { + XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.loadingFinished(requestId, this._response.length); + } + } + } + }, { + key: "_clearSubscriptions", + value: function _clearSubscriptions() { + (this._subscriptions || []).forEach(function (sub) { + if (sub) { + sub.remove(); + } + }); + this._subscriptions = []; + } + }, { + key: "getAllResponseHeaders", + value: function getAllResponseHeaders() { + if (!this.responseHeaders) { + return null; + } + + var headers = this.responseHeaders || {}; + return Object.keys(headers).map(function (headerName) { + return headerName + ': ' + headers[headerName]; + }).join('\r\n'); + } + }, { + key: "getResponseHeader", + value: function getResponseHeader(header) { + var value = this._lowerCaseResponseHeaders[header.toLowerCase()]; + + return value !== undefined ? value : null; + } + }, { + key: "setRequestHeader", + value: function setRequestHeader(header, value) { + if (this.readyState !== this.OPENED) { + throw new Error('Request has not been opened'); + } + + this._headers[header.toLowerCase()] = String(value); + } + }, { + key: "setTrackingName", + value: function setTrackingName(trackingName) { + this._trackingName = trackingName; + return this; + } + }, { + key: "open", + value: function open(method, url, async) { + if (this.readyState !== this.UNSENT) { + throw new Error('Cannot open, already sending'); + } + + if (async !== undefined && !async) { + throw new Error('Synchronous http requests are not supported'); + } + + if (!url) { + throw new Error('Cannot load an empty url'); + } + + this._method = method.toUpperCase(); + this._url = url; + this._aborted = false; + this.setReadyState(this.OPENED); + } + }, { + key: "send", + value: function send(data) { + var _this2 = this; + + if (this.readyState !== this.OPENED) { + throw new Error('Request has not been opened'); + } + + if (this._sent) { + throw new Error('Request has already been sent'); + } + + this._sent = true; + var incrementalEvents = this._incrementalEvents || !!this.onreadystatechange || !!this.onprogress; + + this._subscriptions.push(RCTNetworking.addListener('didSendNetworkData', function (args) { + return _this2.__didUploadProgress.apply(_this2, _toConsumableArray(args)); + })); + + this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkResponse', function (args) { + return _this2.__didReceiveResponse.apply(_this2, _toConsumableArray(args)); + })); + + this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkData', function (args) { + return _this2.__didReceiveData.apply(_this2, _toConsumableArray(args)); + })); + + this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkIncrementalData', function (args) { + return _this2.__didReceiveIncrementalData.apply(_this2, _toConsumableArray(args)); + })); + + this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkDataProgress', function (args) { + return _this2.__didReceiveDataProgress.apply(_this2, _toConsumableArray(args)); + })); + + this._subscriptions.push(RCTNetworking.addListener('didCompleteNetworkResponse', function (args) { + return _this2.__didCompleteResponse.apply(_this2, _toConsumableArray(args)); + })); + + var nativeResponseType = 'text'; + + if (this._responseType === 'arraybuffer') { + nativeResponseType = 'base64'; + } + + if (this._responseType === 'blob') { + nativeResponseType = 'blob'; + } + + invariant(this._method, 'Request method needs to be defined.'); + invariant(this._url, 'Request URL needs to be defined.'); + RCTNetworking.sendRequest(this._method, this._trackingName, this._url, this._headers, data, nativeResponseType, incrementalEvents, this.timeout, this.__didCreateRequest.bind(this), this.withCredentials); + } + }, { + key: "abort", + value: function abort() { + this._aborted = true; + + if (this._requestId) { + RCTNetworking.abortRequest(this._requestId); + } + + if (!(this.readyState === this.UNSENT || this.readyState === this.OPENED && !this._sent || this.readyState === this.DONE)) { + this._reset(); + + this.setReadyState(this.DONE); + } + + this._reset(); + } + }, { + key: "setResponseHeaders", + value: function setResponseHeaders(responseHeaders) { + this.responseHeaders = responseHeaders || null; + var headers = responseHeaders || {}; + this._lowerCaseResponseHeaders = Object.keys(headers).reduce(function (lcaseHeaders, headerName) { + lcaseHeaders[headerName.toLowerCase()] = headers[headerName]; + return lcaseHeaders; + }, {}); + } + }, { + key: "setReadyState", + value: function setReadyState(newState) { + this.readyState = newState; + this.dispatchEvent({ + type: 'readystatechange' + }); + + if (newState === this.DONE) { + if (this._aborted) { + this.dispatchEvent({ + type: 'abort' + }); + } else if (this._hasError) { + if (this._timedOut) { + this.dispatchEvent({ + type: 'timeout' + }); + } else { + this.dispatchEvent({ + type: 'error' + }); + } + } else { + this.dispatchEvent({ + type: 'load' + }); + } + + this.dispatchEvent({ + type: 'loadend' + }); + } + } + }, { + key: "addEventListener", + value: function addEventListener(type, listener) { + if (type === 'readystatechange' || type === 'progress') { + this._incrementalEvents = true; + } + + _get(_getPrototypeOf(XMLHttpRequest.prototype), "addEventListener", this).call(this, type, listener); + } + }, { + key: "responseType", + get: function get() { + return this._responseType; + }, + set: function set(responseType) { + if (this._sent) { + throw new Error("Failed to set the 'responseType' property on 'XMLHttpRequest': The " + 'response type cannot be set after the request has been sent.'); + } + + if (!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)) { + warning(false, "The provided value '" + responseType + "' is not a valid 'responseType'."); + return; + } + + invariant(SUPPORTED_RESPONSE_TYPES[responseType] || responseType === 'document', "The provided value '" + responseType + "' is unsupported in this environment."); + + if (responseType === 'blob') { + invariant(BlobManager.isAvailable, 'Native module BlobModule is required for blob support'); + } + + this._responseType = responseType; + } + }, { + key: "responseText", + get: function get() { + if (this._responseType !== '' && this._responseType !== 'text') { + throw new Error("The 'responseText' property is only available if 'responseType' " + ("is set to '' or 'text', but it is '" + this._responseType + "'.")); + } + + if (this.readyState < LOADING) { + return ''; + } + + return this._response; + } + }, { + key: "response", + get: function get() { + var responseType = this.responseType; + + if (responseType === '' || responseType === 'text') { + return this.readyState < LOADING || this._hasError ? '' : this._response; + } + + if (this.readyState !== DONE) { + return null; + } + + if (this._cachedResponse !== undefined) { + return this._cachedResponse; + } + + switch (responseType) { + case 'document': + this._cachedResponse = null; + break; + + case 'arraybuffer': + this._cachedResponse = base64.toByteArray(this._response).buffer; + break; + + case 'blob': + if (typeof this._response === 'object' && this._response) { + this._cachedResponse = BlobManager.createFromOptions(this._response); + } else { + throw new Error("Invalid response for blob: " + this._response); + } + + break; + + case 'json': + try { + this._cachedResponse = JSON.parse(this._response); + } catch (_) { + this._cachedResponse = null; + } + + break; + + default: + this._cachedResponse = null; + } + + return this._cachedResponse; + } + }]); + + _inherits(XMLHttpRequest, _EventTarget2); + + return XMLHttpRequest; + }(EventTarget.apply(void 0, _toConsumableArray(XHR_EVENTS))); + + XMLHttpRequest.UNSENT = UNSENT; + XMLHttpRequest.OPENED = OPENED; + XMLHttpRequest.HEADERS_RECEIVED = HEADERS_RECEIVED; + XMLHttpRequest.LOADING = LOADING; + XMLHttpRequest.DONE = DONE; + XMLHttpRequest._interceptor = null; + module.exports = XMLHttpRequest; +},279,[280,284,289,166,183,291],"node_modules/react-native/Libraries/Network/XMLHttpRequest.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var Commons = _$$_REQUIRE(_dependencyMap[0], "./commons"); + + var CustomEventTarget = _$$_REQUIRE(_dependencyMap[1], "./custom-event-target"); + + var EventWrapper = _$$_REQUIRE(_dependencyMap[2], "./event-wrapper"); + + var LISTENERS = Commons.LISTENERS; + var CAPTURE = Commons.CAPTURE; + var BUBBLE = Commons.BUBBLE; + var ATTRIBUTE = Commons.ATTRIBUTE; + var newNode = Commons.newNode; + var defineCustomEventTarget = CustomEventTarget.defineCustomEventTarget; + var createEventWrapper = EventWrapper.createEventWrapper; + var STOP_IMMEDIATE_PROPAGATION_FLAG = EventWrapper.STOP_IMMEDIATE_PROPAGATION_FLAG; + var HAS_EVENTTARGET_INTERFACE = typeof window !== "undefined" && typeof window.EventTarget !== "undefined"; + + var EventTarget = module.exports = function EventTarget() { + if (this instanceof EventTarget) { + Object.defineProperty(this, LISTENERS, { + value: Object.create(null) + }); + } else if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(EventTarget, arguments[0]); + } else if (arguments.length > 0) { + var types = Array(arguments.length); + + for (var i = 0; i < arguments.length; ++i) { + types[i] = arguments[i]; + } + + return defineCustomEventTarget(EventTarget, types); + } else { + throw new TypeError("Cannot call a class as a function"); + } + }; + + EventTarget.prototype = Object.create((HAS_EVENTTARGET_INTERFACE ? window.EventTarget : Object).prototype, { + constructor: { + value: EventTarget, + writable: true, + configurable: true + }, + addEventListener: { + value: function addEventListener(type, listener, capture) { + if (listener == null) { + return false; + } + + if (typeof listener !== "function" && typeof listener !== "object") { + throw new TypeError("\"listener\" is not an object."); + } + + var kind = capture ? CAPTURE : BUBBLE; + var node = this[LISTENERS][type]; + + if (node == null) { + this[LISTENERS][type] = newNode(listener, kind); + return true; + } + + var prev = null; + + while (node != null) { + if (node.listener === listener && node.kind === kind) { + return false; + } + + prev = node; + node = node.next; + } + + prev.next = newNode(listener, kind); + return true; + }, + configurable: true, + writable: true + }, + removeEventListener: { + value: function removeEventListener(type, listener, capture) { + if (listener == null) { + return false; + } + + var kind = capture ? CAPTURE : BUBBLE; + var prev = null; + var node = this[LISTENERS][type]; + + while (node != null) { + if (node.listener === listener && node.kind === kind) { + if (prev == null) { + this[LISTENERS][type] = node.next; + } else { + prev.next = node.next; + } + + return true; + } + + prev = node; + node = node.next; + } + + return false; + }, + configurable: true, + writable: true + }, + dispatchEvent: { + value: function dispatchEvent(event) { + var node = this[LISTENERS][event.type]; + + if (node == null) { + return true; + } + + var wrapped = createEventWrapper(event, this); + + while (node != null) { + if (typeof node.listener === "function") { + node.listener.call(this, wrapped); + } else if (node.kind !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrapped); + } + + if (wrapped[STOP_IMMEDIATE_PROPAGATION_FLAG]) { + break; + } + + node = node.next; + } + + return !wrapped.defaultPrevented; + }, + configurable: true, + writable: true + } + }); +},280,[281,282,283],"node_modules/event-target-shim/lib/event-target.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var createUniqueKey = exports.createUniqueKey = typeof Symbol !== "undefined" ? Symbol : function createUniqueKey(name) { + return "[[" + name + "_" + Math.random().toFixed(8).slice(2) + "]]"; + }; + exports.LISTENERS = createUniqueKey("listeners"); + exports.CAPTURE = 1; + exports.BUBBLE = 2; + exports.ATTRIBUTE = 3; + + exports.newNode = function newNode(listener, kind) { + return { + listener: listener, + kind: kind, + next: null + }; + }; +},281,[],"node_modules/event-target-shim/lib/commons.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var Commons = _$$_REQUIRE(_dependencyMap[0], "./commons"); + + var LISTENERS = Commons.LISTENERS; + var ATTRIBUTE = Commons.ATTRIBUTE; + var newNode = Commons.newNode; + + function getAttributeListener(eventTarget, type) { + var node = eventTarget[LISTENERS][type]; + + while (node != null) { + if (node.kind === ATTRIBUTE) { + return node.listener; + } + + node = node.next; + } + + return null; + } + + function setAttributeListener(eventTarget, type, listener) { + if (typeof listener !== "function" && typeof listener !== "object") { + listener = null; + } + + var prev = null; + var node = eventTarget[LISTENERS][type]; + + while (node != null) { + if (node.kind === ATTRIBUTE) { + if (prev == null) { + eventTarget[LISTENERS][type] = node.next; + } else { + prev.next = node.next; + } + } else { + prev = node; + } + + node = node.next; + } + + if (listener != null) { + if (prev == null) { + eventTarget[LISTENERS][type] = newNode(listener, ATTRIBUTE); + } else { + prev.next = newNode(listener, ATTRIBUTE); + } + } + } + + exports.defineCustomEventTarget = function (EventTargetBase, types) { + function EventTarget() { + EventTargetBase.call(this); + } + + var descripter = { + constructor: { + value: EventTarget, + configurable: true, + writable: true + } + }; + types.forEach(function (type) { + descripter["on" + type] = { + get: function get() { + return getAttributeListener(this, type); + }, + set: function set(listener) { + setAttributeListener(this, type, listener); + }, + configurable: true, + enumerable: true + }; + }); + EventTarget.prototype = Object.create(EventTargetBase.prototype, descripter); + return EventTarget; + }; +},282,[281],"node_modules/event-target-shim/lib/custom-event-target.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var createUniqueKey = _$$_REQUIRE(_dependencyMap[0], "./commons").createUniqueKey; + + var STOP_IMMEDIATE_PROPAGATION_FLAG = createUniqueKey("stop_immediate_propagation_flag"); + var CANCELED_FLAG = createUniqueKey("canceled_flag"); + var ORIGINAL_EVENT = createUniqueKey("original_event"); + var wrapperPrototypeDefinition = Object.freeze({ + stopPropagation: Object.freeze({ + value: function stopPropagation() { + var e = this[ORIGINAL_EVENT]; + + if (typeof e.stopPropagation === "function") { + e.stopPropagation(); + } + }, + writable: true, + configurable: true + }), + stopImmediatePropagation: Object.freeze({ + value: function stopImmediatePropagation() { + this[STOP_IMMEDIATE_PROPAGATION_FLAG] = true; + var e = this[ORIGINAL_EVENT]; + + if (typeof e.stopImmediatePropagation === "function") { + e.stopImmediatePropagation(); + } + }, + writable: true, + configurable: true + }), + preventDefault: Object.freeze({ + value: function preventDefault() { + if (this.cancelable === true) { + this[CANCELED_FLAG] = true; + } + + var e = this[ORIGINAL_EVENT]; + + if (typeof e.preventDefault === "function") { + e.preventDefault(); + } + }, + writable: true, + configurable: true + }), + defaultPrevented: Object.freeze({ + get: function defaultPrevented() { + return this[CANCELED_FLAG]; + }, + enumerable: true, + configurable: true + }) + }); + exports.STOP_IMMEDIATE_PROPAGATION_FLAG = STOP_IMMEDIATE_PROPAGATION_FLAG; + + exports.createEventWrapper = function createEventWrapper(event, eventTarget) { + var timeStamp = typeof event.timeStamp === "number" ? event.timeStamp : Date.now(); + var propertyDefinition = { + type: { + value: event.type, + enumerable: true + }, + target: { + value: eventTarget, + enumerable: true + }, + currentTarget: { + value: eventTarget, + enumerable: true + }, + eventPhase: { + value: 2, + enumerable: true + }, + bubbles: { + value: Boolean(event.bubbles), + enumerable: true + }, + cancelable: { + value: Boolean(event.cancelable), + enumerable: true + }, + timeStamp: { + value: timeStamp, + enumerable: true + }, + isTrusted: { + value: false, + enumerable: true + } + }; + propertyDefinition[STOP_IMMEDIATE_PROPAGATION_FLAG] = { + value: false, + writable: true + }; + propertyDefinition[CANCELED_FLAG] = { + value: false, + writable: true + }; + propertyDefinition[ORIGINAL_EVENT] = { + value: event + }; + + if (typeof event.detail !== "undefined") { + propertyDefinition.detail = { + value: event.detail, + enumerable: true + }; + } + + return Object.create(Object.create(event, wrapperPrototypeDefinition), propertyDefinition); + }; +},283,[281],"node_modules/event-target-shim/lib/event-wrapper.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var MissingNativeEventEmitterShim = _$$_REQUIRE(_dependencyMap[0], 'MissingNativeEventEmitterShim'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeEventEmitter'); + + var RCTNetworkingNative = _$$_REQUIRE(_dependencyMap[2], 'NativeModules').Networking; + + var convertRequestBody = _$$_REQUIRE(_dependencyMap[3], 'convertRequestBody'); + + var RCTNetworking = function (_NativeEventEmitter) { + function RCTNetworking() { + var _this; + + _classCallCheck(this, RCTNetworking); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(RCTNetworking).call(this, RCTNetworkingNative)); + _this.isAvailable = true; + return _this; + } + + _createClass(RCTNetworking, [{ + key: "sendRequest", + value: function sendRequest(method, trackingName, url, headers, data, responseType, incrementalUpdates, timeout, callback, withCredentials) { + var body = convertRequestBody(data); + RCTNetworkingNative.sendRequest({ + method: method, + url: url, + data: _objectSpread({}, body, { + trackingName: trackingName + }), + headers: headers, + responseType: responseType, + incrementalUpdates: incrementalUpdates, + timeout: timeout, + withCredentials: withCredentials + }, callback); + } + }, { + key: "abortRequest", + value: function abortRequest(requestId) { + RCTNetworkingNative.abortRequest(requestId); + } + }, { + key: "clearCookies", + value: function clearCookies(callback) { + RCTNetworkingNative.clearCookies(callback); + } + }]); + + _inherits(RCTNetworking, _NativeEventEmitter); + + return RCTNetworking; + }(NativeEventEmitter); + + if (__DEV__ && !RCTNetworkingNative) { + var MissingNativeRCTNetworkingShim = function (_MissingNativeEventEm) { + function MissingNativeRCTNetworkingShim() { + _classCallCheck(this, MissingNativeRCTNetworkingShim); + + return _possibleConstructorReturn(this, _getPrototypeOf(MissingNativeRCTNetworkingShim).call(this, 'RCTNetworking', 'Networking')); + } + + _createClass(MissingNativeRCTNetworkingShim, [{ + key: "sendRequest", + value: function sendRequest() { + this.throwMissingNativeModule(); + } + }, { + key: "abortRequest", + value: function abortRequest() { + this.throwMissingNativeModule(); + } + }, { + key: "clearCookies", + value: function clearCookies() { + this.throwMissingNativeModule(); + } + }]); + + _inherits(MissingNativeRCTNetworkingShim, _MissingNativeEventEm); + + return MissingNativeRCTNetworkingShim; + }(MissingNativeEventEmitterShim); + + RCTNetworking = new MissingNativeRCTNetworkingShim(); + } else { + RCTNetworking = new RCTNetworking(); + } + + module.exports = RCTNetworking; +},284,[285,286,168,287],"node_modules/react-native/Libraries/Network/RCTNetworking.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EmitterSubscription = _$$_REQUIRE(_dependencyMap[0], 'EmitterSubscription'); + + var EventEmitter = _$$_REQUIRE(_dependencyMap[1], 'EventEmitter'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var MissingNativeEventEmitterShim = function (_EventEmitter) { + function MissingNativeEventEmitterShim(nativeModuleName, nativeEventEmitterName) { + var _this; + + _classCallCheck(this, MissingNativeEventEmitterShim); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(MissingNativeEventEmitterShim).call(this, null)); + _this.isAvailable = false; + _this._nativeModuleName = nativeModuleName; + _this._nativeEventEmitterName = nativeEventEmitterName; + return _this; + } + + _createClass(MissingNativeEventEmitterShim, [{ + key: "throwMissingNativeModule", + value: function throwMissingNativeModule() { + invariant(false, "Cannot use '" + this._nativeEventEmitterName + "' module when " + ("native '" + this._nativeModuleName + "' is not included in the build. ") + ("Either include it, or check '" + this._nativeEventEmitterName + "'.isAvailable ") + 'before calling any methods.'); + } + }, { + key: "addListener", + value: function addListener(eventType, listener, context) { + this.throwMissingNativeModule(); + } + }, { + key: "removeAllListeners", + value: function removeAllListeners(eventType) { + this.throwMissingNativeModule(); + } + }, { + key: "removeSubscription", + value: function removeSubscription(subscription) { + this.throwMissingNativeModule(); + } + }]); + + _inherits(MissingNativeEventEmitterShim, _EventEmitter); + + return MissingNativeEventEmitterShim; + }(EventEmitter); + + module.exports = MissingNativeEventEmitterShim; +},285,[196,195,166],"node_modules/react-native/Libraries/EventEmitter/MissingNativeEventEmitterShim.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[0], 'EventEmitter'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'RCTDeviceEventEmitter'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var NativeEventEmitter = function (_EventEmitter) { + function NativeEventEmitter(nativeModule) { + var _this; + + _classCallCheck(this, NativeEventEmitter); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(NativeEventEmitter).call(this, RCTDeviceEventEmitter.sharedSubscriber)); + + if (Platform.OS === 'ios') { + invariant(nativeModule, 'Native module cannot be null.'); + _this._nativeModule = nativeModule; + } + + return _this; + } + + _createClass(NativeEventEmitter, [{ + key: "addListener", + value: function addListener(eventType, listener, context) { + if (this._nativeModule != null) { + this._nativeModule.addListener(eventType); + } + + return _get(_getPrototypeOf(NativeEventEmitter.prototype), "addListener", this).call(this, eventType, listener, context); + } + }, { + key: "removeAllListeners", + value: function removeAllListeners(eventType) { + invariant(eventType, 'eventType argument is required.'); + var count = this.listeners(eventType).length; + + if (this._nativeModule != null) { + this._nativeModule.removeListeners(count); + } + + _get(_getPrototypeOf(NativeEventEmitter.prototype), "removeAllListeners", this).call(this, eventType); + } + }, { + key: "removeSubscription", + value: function removeSubscription(subscription) { + if (this._nativeModule != null) { + this._nativeModule.removeListeners(1); + } + + _get(_getPrototypeOf(NativeEventEmitter.prototype), "removeSubscription", this).call(this, subscription); + } + }]); + + _inherits(NativeEventEmitter, _EventEmitter); + + return NativeEventEmitter; + }(EventEmitter); + + module.exports = NativeEventEmitter; +},286,[195,176,194,166],"node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var binaryToBase64 = _$$_REQUIRE(_dependencyMap[0], 'binaryToBase64'); + + var Blob = _$$_REQUIRE(_dependencyMap[1], 'Blob'); + + var FormData = _$$_REQUIRE(_dependencyMap[2], 'FormData'); + + function convertRequestBody(body) { + if (typeof body === 'string') { + return { + string: body + }; + } + + if (body instanceof Blob) { + return { + blob: body.data + }; + } + + if (body instanceof FormData) { + return { + formData: body.getParts() + }; + } + + if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) { + return { + base64: binaryToBase64(body) + }; + } + + return body; + } + + module.exports = convertRequestBody; +},287,[288,290,293],"node_modules/react-native/Libraries/Network/convertRequestBody.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var base64 = _$$_REQUIRE(_dependencyMap[0], 'base64-js'); + + function binaryToBase64(data) { + if (data instanceof ArrayBuffer) { + data = new Uint8Array(data); + } + + if (data instanceof Uint8Array) { + return base64.fromByteArray(data); + } + + if (!ArrayBuffer.isView(data)) { + throw new Error('data must be ArrayBuffer or typed array'); + } + + var _data = data, + buffer = _data.buffer, + byteOffset = _data.byteOffset, + byteLength = _data.byteLength; + return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength)); + } + + module.exports = binaryToBase64; +},288,[289],"node_modules/react-native/Libraries/Utilities/binaryToBase64.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + exports.byteLength = byteLength; + exports.toByteArray = toByteArray; + exports.fromByteArray = fromByteArray; + var lookup = []; + var revLookup = []; + var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; + var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + + revLookup['-'.charCodeAt(0)] = 62; + revLookup['_'.charCodeAt(0)] = 63; + + function getLens(b64) { + var len = b64.length; + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4'); + } + + var validLen = b64.indexOf('='); + if (validLen === -1) validLen = len; + var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; + return [validLen, placeHoldersLen]; + } + + function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + + function _byteLength(b64, validLen, placeHoldersLen) { + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + + function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); + var curByte = 0; + var len = placeHoldersLen > 0 ? validLen - 4 : validLen; + + for (var i = 0; i < len; i += 4) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[curByte++] = tmp >> 16 & 0xFF; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + return arr; + } + + function tripletToBase64(num) { + return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]; + } + + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF); + output.push(tripletToBase64(tmp)); + } + + return output.join(''); + } + + function fromByteArray(uint8) { + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var parts = []; + var maxChunkLength = 16383; + + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); + } + + if (extraBytes === 1) { + tmp = uint8[len - 1]; + parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '=='); + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '='); + } + + return parts.join(''); + } +},289,[],"node_modules/base64-js/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Blob = function () { + function Blob() { + var parts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var options = arguments.length > 1 ? arguments[1] : undefined; + + _classCallCheck(this, Blob); + + var BlobManager = _$$_REQUIRE(_dependencyMap[0], 'BlobManager'); + + this.data = BlobManager.createFromParts(parts, options).data; + } + + _createClass(Blob, [{ + key: "slice", + value: function slice(start, end) { + var BlobManager = _$$_REQUIRE(_dependencyMap[0], 'BlobManager'); + + var _this$data = this.data, + offset = _this$data.offset, + size = _this$data.size; + + if (typeof start === 'number') { + if (start > size) { + start = size; + } + + offset += start; + size -= start; + + if (typeof end === 'number') { + if (end < 0) { + end = this.size + end; + } + + size = end - start; + } + } + + return BlobManager.createFromOptions({ + blobId: this.data.blobId, + offset: offset, + size: size + }); + } + }, { + key: "close", + value: function close() { + var BlobManager = _$$_REQUIRE(_dependencyMap[0], 'BlobManager'); + + BlobManager.release(this.data.blobId); + this.data = null; + } + }, { + key: "data", + set: function set(data) { + this._data = data; + }, + get: function get() { + if (!this._data) { + throw new Error('Blob has been closed and is no longer available'); + } + + return this._data; + } + }, { + key: "size", + get: function get() { + return this.data.size; + } + }, { + key: "type", + get: function get() { + return this.data.type || ''; + } + }]); + + return Blob; + }(); + + module.exports = Blob; +},290,[291],"node_modules/react-native/Libraries/Blob/Blob.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Blob = _$$_REQUIRE(_dependencyMap[0], 'Blob'); + + var BlobRegistry = _$$_REQUIRE(_dependencyMap[1], 'BlobRegistry'); + + var _require = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'), + BlobModule = _require.BlobModule; + + function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, + v = c == 'x' ? r : r & 0x3 | 0x8; + return v.toString(16); + }); + } + + var BlobManager = function () { + function BlobManager() { + _classCallCheck(this, BlobManager); + } + + _createClass(BlobManager, null, [{ + key: "createFromParts", + value: function createFromParts(parts, options) { + var blobId = uuidv4(); + var items = parts.map(function (part) { + if (part instanceof ArrayBuffer || global.ArrayBufferView && part instanceof global.ArrayBufferView) { + throw new Error("Creating blobs from 'ArrayBuffer' and 'ArrayBufferView' are not supported"); + } + + if (part instanceof Blob) { + return { + data: part.data, + type: 'blob' + }; + } else { + return { + data: String(part), + type: 'string' + }; + } + }); + var size = items.reduce(function (acc, curr) { + if (curr.type === 'string') { + return acc + global.unescape(encodeURI(curr.data)).length; + } else { + return acc + curr.data.size; + } + }, 0); + BlobModule.createFromParts(items, blobId); + return BlobManager.createFromOptions({ + blobId: blobId, + offset: 0, + size: size, + type: options ? options.type : '', + lastModified: options ? options.lastModified : Date.now() + }); + } + }, { + key: "createFromOptions", + value: function createFromOptions(options) { + BlobRegistry.register(options.blobId); + return _extends(Object.create(Blob.prototype), { + data: options + }); + } + }, { + key: "release", + value: function release(blobId) { + BlobRegistry.unregister(blobId); + + if (BlobRegistry.has(blobId)) { + return; + } + + BlobModule.release(blobId); + } + }, { + key: "addNetworkingHandler", + value: function addNetworkingHandler() { + BlobModule.addNetworkingHandler(); + } + }, { + key: "addWebSocketHandler", + value: function addWebSocketHandler(socketId) { + BlobModule.addWebSocketHandler(socketId); + } + }, { + key: "removeWebSocketHandler", + value: function removeWebSocketHandler(socketId) { + BlobModule.removeWebSocketHandler(socketId); + } + }, { + key: "sendOverSocket", + value: function sendOverSocket(blob, socketId) { + BlobModule.sendOverSocket(blob.data, socketId); + } + }]); + + return BlobManager; + }(); + + BlobManager.isAvailable = !!BlobModule; + module.exports = BlobManager; +},291,[290,292,168],"node_modules/react-native/Libraries/Blob/BlobManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var registry = {}; + + var register = function register(id) { + if (registry[id]) { + registry[id]++; + } else { + registry[id] = 1; + } + }; + + var unregister = function unregister(id) { + if (registry[id]) { + registry[id]--; + + if (registry[id] <= 0) { + delete registry[id]; + } + } + }; + + var has = function has(id) { + return registry[id] && registry[id] > 0; + }; + + module.exports = { + register: register, + unregister: unregister, + has: has + }; +},292,[],"node_modules/react-native/Libraries/Blob/BlobRegistry.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var FormData = function () { + function FormData() { + _classCallCheck(this, FormData); + + this._parts = []; + } + + _createClass(FormData, [{ + key: "append", + value: function append(key, value) { + this._parts.push([key, value]); + } + }, { + key: "getParts", + value: function getParts() { + return this._parts.map(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + name = _ref2[0], + value = _ref2[1]; + + var contentDisposition = 'form-data; name="' + name + '"'; + var headers = { + 'content-disposition': contentDisposition + }; + + if (typeof value === 'object' && value) { + if (typeof value.name === 'string') { + headers['content-disposition'] += '; filename="' + value.name + '"'; + } + + if (typeof value.type === 'string') { + headers['content-type'] = value.type; + } + + return _objectSpread({}, value, { + headers: headers, + fieldName: name + }); + } + + return { + string: String(value), + headers: headers, + fieldName: name + }; + }); + } + }]); + + return FormData; + }(); + + module.exports = FormData; +},293,[],"node_modules/react-native/Libraries/Network/FormData.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var Blob = _$$_REQUIRE(_dependencyMap[0], 'Blob'); + + var EventTarget = _$$_REQUIRE(_dependencyMap[1], 'event-target-shim'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'NativeEventEmitter'); + + var BlobManager = _$$_REQUIRE(_dependencyMap[3], 'BlobManager'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[4], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[5], 'Platform'); + + var WebSocketEvent = _$$_REQUIRE(_dependencyMap[6], 'WebSocketEvent'); + + var base64 = _$$_REQUIRE(_dependencyMap[7], 'base64-js'); + + var binaryToBase64 = _$$_REQUIRE(_dependencyMap[8], 'binaryToBase64'); + + var invariant = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/invariant'); + + var WebSocketModule = NativeModules.WebSocketModule; + var CONNECTING = 0; + var OPEN = 1; + var CLOSING = 2; + var CLOSED = 3; + var CLOSE_NORMAL = 1000; + var WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open']; + var nextWebSocketId = 0; + + var WebSocket = function (_EventTarget) { + function WebSocket(url, protocols, options) { + var _this; + + _classCallCheck(this, WebSocket); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(WebSocket).call(this)); + _this.CONNECTING = CONNECTING; + _this.OPEN = OPEN; + _this.CLOSING = CLOSING; + _this.CLOSED = CLOSED; + _this.readyState = CONNECTING; + + if (typeof protocols === 'string') { + protocols = [protocols]; + } + + var _ref = options || {}, + _ref$headers = _ref.headers, + headers = _ref$headers === void 0 ? {} : _ref$headers, + unrecognized = _objectWithoutProperties(_ref, ["headers"]); + + if (unrecognized && typeof unrecognized.origin === 'string') { + console.warn('Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.'); + headers.origin = unrecognized.origin; + delete unrecognized.origin; + } + + if (Object.keys(unrecognized).length > 0) { + console.warn('Unrecognized WebSocket connection option(s) `' + Object.keys(unrecognized).join('`, `') + '`. ' + 'Did you mean to put these under `headers`?'); + } + + if (!Array.isArray(protocols)) { + protocols = null; + } + + if (!WebSocket.isAvailable) { + throw new Error('Cannot initialize WebSocket module. ' + 'Native module WebSocketModule is missing.'); + } + + _this._eventEmitter = new NativeEventEmitter(WebSocketModule); + _this._socketId = nextWebSocketId++; + + _this._registerEvents(); + + WebSocketModule.connect(url, protocols, { + headers: headers + }, _this._socketId); + return _this; + } + + _createClass(WebSocket, [{ + key: "close", + value: function close(code, reason) { + if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) { + return; + } + + this.readyState = this.CLOSING; + + this._close(code, reason); + } + }, { + key: "send", + value: function send(data) { + if (this.readyState === this.CONNECTING) { + throw new Error('INVALID_STATE_ERR'); + } + + if (data instanceof Blob) { + invariant(BlobManager.isAvailable, 'Native module BlobModule is required for blob support'); + BlobManager.sendOverSocket(data, this._socketId); + return; + } + + if (typeof data === 'string') { + WebSocketModule.send(data, this._socketId); + return; + } + + if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) { + WebSocketModule.sendBinary(binaryToBase64(data), this._socketId); + return; + } + + throw new Error('Unsupported data type'); + } + }, { + key: "ping", + value: function ping() { + if (this.readyState === this.CONNECTING) { + throw new Error('INVALID_STATE_ERR'); + } + + WebSocketModule.ping(this._socketId); + } + }, { + key: "_close", + value: function _close(code, reason) { + if (Platform.OS === 'android') { + var statusCode = typeof code === 'number' ? code : CLOSE_NORMAL; + var closeReason = typeof reason === 'string' ? reason : ''; + WebSocketModule.close(statusCode, closeReason, this._socketId); + } else { + WebSocketModule.close(this._socketId); + } + + if (BlobManager.isAvailable && this._binaryType === 'blob') { + BlobManager.removeWebSocketHandler(this._socketId); + } + } + }, { + key: "_unregisterEvents", + value: function _unregisterEvents() { + this._subscriptions.forEach(function (e) { + return e.remove(); + }); + + this._subscriptions = []; + } + }, { + key: "_registerEvents", + value: function _registerEvents() { + var _this2 = this; + + this._subscriptions = [this._eventEmitter.addListener('websocketMessage', function (ev) { + if (ev.id !== _this2._socketId) { + return; + } + + var data = ev.data; + + switch (ev.type) { + case 'binary': + data = base64.toByteArray(ev.data).buffer; + break; + + case 'blob': + data = BlobManager.createFromOptions(ev.data); + break; + } + + _this2.dispatchEvent(new WebSocketEvent('message', { + data: data + })); + }), this._eventEmitter.addListener('websocketOpen', function (ev) { + if (ev.id !== _this2._socketId) { + return; + } + + _this2.readyState = _this2.OPEN; + + _this2.dispatchEvent(new WebSocketEvent('open')); + }), this._eventEmitter.addListener('websocketClosed', function (ev) { + if (ev.id !== _this2._socketId) { + return; + } + + _this2.readyState = _this2.CLOSED; + + _this2.dispatchEvent(new WebSocketEvent('close', { + code: ev.code, + reason: ev.reason + })); + + _this2._unregisterEvents(); + + _this2.close(); + }), this._eventEmitter.addListener('websocketFailed', function (ev) { + if (ev.id !== _this2._socketId) { + return; + } + + _this2.readyState = _this2.CLOSED; + + _this2.dispatchEvent(new WebSocketEvent('error', { + message: ev.message + })); + + _this2.dispatchEvent(new WebSocketEvent('close', { + message: ev.message + })); + + _this2._unregisterEvents(); + + _this2.close(); + })]; + } + }, { + key: "binaryType", + get: function get() { + return this._binaryType; + }, + set: function set(binaryType) { + if (binaryType !== 'blob' && binaryType !== 'arraybuffer') { + throw new Error("binaryType must be either 'blob' or 'arraybuffer'"); + } + + if (this._binaryType === 'blob' || binaryType === 'blob') { + invariant(BlobManager.isAvailable, 'Native module BlobModule is required for blob support'); + + if (binaryType === 'blob') { + BlobManager.addWebSocketHandler(this._socketId); + } else { + BlobManager.removeWebSocketHandler(this._socketId); + } + } + + this._binaryType = binaryType; + } + }]); + + _inherits(WebSocket, _EventTarget); + + return WebSocket; + }(EventTarget.apply(void 0, WEBSOCKET_EVENTS)); + + WebSocket.CONNECTING = CONNECTING; + WebSocket.OPEN = OPEN; + WebSocket.CLOSING = CLOSING; + WebSocket.CLOSED = CLOSED; + WebSocket.isAvailable = !!WebSocketModule; + module.exports = WebSocket; +},294,[290,280,286,291,168,176,295,289,288,166],"node_modules/react-native/Libraries/WebSocket/WebSocket.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var WebSocketEvent = function WebSocketEvent(type, eventInitDict) { + _classCallCheck(this, WebSocketEvent); + + this.type = type.toString(); + + _extends(this, eventInitDict); + }; + + module.exports = WebSocketEvent; +},295,[],"node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var Blob = _$$_REQUIRE(_dependencyMap[0], 'Blob'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var File = function (_Blob) { + function File(parts, name, options) { + var _this; + + _classCallCheck(this, File); + + invariant(parts != null && name != null, 'Failed to construct `File`: Must pass both `parts` and `name` arguments.'); + _this = _possibleConstructorReturn(this, _getPrototypeOf(File).call(this, parts, options)); + _this.data.name = name; + return _this; + } + + _createClass(File, [{ + key: "name", + get: function get() { + invariant(this.data.name != null, 'Files must have a name set.'); + return this.data.name; + } + }, { + key: "lastModified", + get: function get() { + return this.data.lastModified || 0; + } + }]); + + _inherits(File, _Blob); + + return File; + }(Blob); + + module.exports = File; +},296,[290,166],"node_modules/react-native/Libraries/Blob/File.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventTarget = _$$_REQUIRE(_dependencyMap[0], 'event-target-shim'); + + var Blob = _$$_REQUIRE(_dependencyMap[1], 'Blob'); + + var _require = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'), + FileReaderModule = _require.FileReaderModule; + + var READER_EVENTS = ['abort', 'error', 'load', 'loadstart', 'loadend', 'progress']; + var EMPTY = 0; + var LOADING = 1; + var DONE = 2; + + var FileReader = function (_EventTarget) { + function FileReader() { + var _this; + + _classCallCheck(this, FileReader); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(FileReader).call(this)); + _this.EMPTY = EMPTY; + _this.LOADING = LOADING; + _this.DONE = DONE; + _this._aborted = false; + _this._subscriptions = []; + + _this._reset(); + + return _this; + } + + _createClass(FileReader, [{ + key: "_reset", + value: function _reset() { + this._readyState = EMPTY; + this._error = null; + this._result = null; + } + }, { + key: "_clearSubscriptions", + value: function _clearSubscriptions() { + this._subscriptions.forEach(function (sub) { + return sub.remove(); + }); + + this._subscriptions = []; + } + }, { + key: "_setReadyState", + value: function _setReadyState(newState) { + this._readyState = newState; + this.dispatchEvent({ + type: 'readystatechange' + }); + + if (newState === DONE) { + if (this._aborted) { + this.dispatchEvent({ + type: 'abort' + }); + } else if (this._error) { + this.dispatchEvent({ + type: 'error' + }); + } else { + this.dispatchEvent({ + type: 'load' + }); + } + + this.dispatchEvent({ + type: 'loadend' + }); + } + } + }, { + key: "readAsArrayBuffer", + value: function readAsArrayBuffer() { + throw new Error('FileReader.readAsArrayBuffer is not implemented'); + } + }, { + key: "readAsDataURL", + value: function readAsDataURL(blob) { + var _this2 = this; + + this._aborted = false; + FileReaderModule.readAsDataURL(blob.data).then(function (text) { + if (_this2._aborted) { + return; + } + + _this2._result = text; + + _this2._setReadyState(DONE); + }, function (error) { + if (_this2._aborted) { + return; + } + + _this2._error = error; + + _this2._setReadyState(DONE); + }); + } + }, { + key: "readAsText", + value: function readAsText(blob) { + var _this3 = this; + + var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'UTF-8'; + this._aborted = false; + FileReaderModule.readAsText(blob.data, encoding).then(function (text) { + if (_this3._aborted) { + return; + } + + _this3._result = text; + + _this3._setReadyState(DONE); + }, function (error) { + if (_this3._aborted) { + return; + } + + _this3._error = error; + + _this3._setReadyState(DONE); + }); + } + }, { + key: "abort", + value: function abort() { + this._aborted = true; + + if (this._readyState !== EMPTY && this._readyState !== DONE) { + this._reset(); + + this._setReadyState(DONE); + } + + this._reset(); + } + }, { + key: "readyState", + get: function get() { + return this._readyState; + } + }, { + key: "error", + get: function get() { + return this._error; + } + }, { + key: "result", + get: function get() { + return this._result; + } + }]); + + _inherits(FileReader, _EventTarget); + + return FileReader; + }(EventTarget.apply(void 0, READER_EVENTS)); + + FileReader.EMPTY = EMPTY; + FileReader.LOADING = LOADING; + FileReader.DONE = DONE; + module.exports = FileReader; +},297,[280,290,168],"node_modules/react-native/Libraries/Blob/FileReader.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Blob = _$$_REQUIRE(_dependencyMap[0], 'Blob'); + + var _require = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'), + BlobModule = _require.BlobModule; + + var BLOB_URL_PREFIX = null; + + if (BlobModule && typeof BlobModule.BLOB_URI_SCHEME === 'string') { + BLOB_URL_PREFIX = BlobModule.BLOB_URI_SCHEME + ':'; + + if (typeof BlobModule.BLOB_URI_HOST === 'string') { + BLOB_URL_PREFIX += "//" + BlobModule.BLOB_URI_HOST + "/"; + } + } + + var URL = function () { + function URL() { + _classCallCheck(this, URL); + + throw new Error('Creating URL objects is not supported yet.'); + } + + _createClass(URL, null, [{ + key: "createObjectURL", + value: function createObjectURL(blob) { + if (BLOB_URL_PREFIX === null) { + throw new Error('Cannot create URL for blob!'); + } + + return "" + BLOB_URL_PREFIX + blob.data.blobId + "?offset=" + blob.data.offset + "&size=" + blob.size; + } + }, { + key: "revokeObjectURL", + value: function revokeObjectURL(url) {} + }]); + + return URL; + }(); + + module.exports = URL; +},298,[290,168],"node_modules/react-native/Libraries/Blob/URL.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var AlertIOS = _$$_REQUIRE(_dependencyMap[0], 'AlertIOS'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var Alert = function () { + function Alert() { + _classCallCheck(this, Alert); + } + + _createClass(Alert, null, [{ + key: "alert", + value: function alert(title, message, buttons, options, type) { + if (Platform.OS === 'ios') { + if (typeof type !== 'undefined') { + console.warn('Alert.alert() with a 5th "type" parameter is deprecated and will be removed. Use AlertIOS.prompt() instead.'); + AlertIOS.alert(title, message, buttons, type); + return; + } + + AlertIOS.alert(title, message, buttons); + } else if (Platform.OS === 'android') { + AlertAndroid.alert(title, message, buttons, options); + } + } + }]); + + return Alert; + }(); + + var AlertAndroid = function () { + function AlertAndroid() { + _classCallCheck(this, AlertAndroid); + } + + _createClass(AlertAndroid, null, [{ + key: "alert", + value: function alert(title, message, buttons, options) { + var config = { + title: title || '', + message: message || '' + }; + + if (options) { + config = _objectSpread({}, config, { + cancelable: options.cancelable + }); + } + + var validButtons = buttons ? buttons.slice(0, 3) : [{ + text: 'OK' + }]; + var buttonPositive = validButtons.pop(); + var buttonNegative = validButtons.pop(); + var buttonNeutral = validButtons.pop(); + + if (buttonNeutral) { + config = _objectSpread({}, config, { + buttonNeutral: buttonNeutral.text || '' + }); + } + + if (buttonNegative) { + config = _objectSpread({}, config, { + buttonNegative: buttonNegative.text || '' + }); + } + + if (buttonPositive) { + config = _objectSpread({}, config, { + buttonPositive: buttonPositive.text || '' + }); + } + + NativeModules.DialogManagerAndroid.showAlert(config, function (errorMessage) { + return console.warn(errorMessage); + }, function (action, buttonKey) { + if (action === NativeModules.DialogManagerAndroid.buttonClicked) { + if (buttonKey === NativeModules.DialogManagerAndroid.buttonNeutral) { + buttonNeutral.onPress && buttonNeutral.onPress(); + } else if (buttonKey === NativeModules.DialogManagerAndroid.buttonNegative) { + buttonNegative.onPress && buttonNegative.onPress(); + } else if (buttonKey === NativeModules.DialogManagerAndroid.buttonPositive) { + buttonPositive.onPress && buttonPositive.onPress(); + } + } else if (action === NativeModules.DialogManagerAndroid.dismissed) { + options && options.onDismiss && options.onDismiss(); + } + }); + } + }]); + + return AlertAndroid; + }(); + + module.exports = Alert; +},299,[300,168,176],"node_modules/react-native/Libraries/Alert/Alert.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var RCTAlertManager = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').AlertManager; + + var AlertIOS = function () { + function AlertIOS() { + _classCallCheck(this, AlertIOS); + } + + _createClass(AlertIOS, null, [{ + key: "alert", + value: function alert(title, message, callbackOrButtons, type) { + if (typeof type !== 'undefined') { + console.warn('AlertIOS.alert() with a 4th "type" parameter is deprecated and will be removed. Use AlertIOS.prompt() instead.'); + this.prompt(title, message, callbackOrButtons, type); + return; + } + + this.prompt(title, message, callbackOrButtons, 'default'); + } + }, { + key: "prompt", + value: function prompt(title, message, callbackOrButtons) { + var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'plain-text'; + var defaultValue = arguments.length > 4 ? arguments[4] : undefined; + var keyboardType = arguments.length > 5 ? arguments[5] : undefined; + + if (typeof type === 'function') { + console.warn('You passed a callback function as the "type" argument to AlertIOS.prompt(). React Native is ' + 'assuming you want to use the deprecated AlertIOS.prompt(title, defaultValue, buttons, callback) ' + 'signature. The current signature is AlertIOS.prompt(title, message, callbackOrButtons, type, defaultValue, ' + 'keyboardType) and the old syntax will be removed in a future version.'); + var callback = type; + RCTAlertManager.alertWithArgs({ + title: title || '', + type: 'plain-text', + defaultValue: message + }, function (id, value) { + callback(value); + }); + return; + } + + var callbacks = []; + var buttons = []; + var cancelButtonKey; + var destructiveButtonKey; + + if (typeof callbackOrButtons === 'function') { + callbacks = [callbackOrButtons]; + } else if (callbackOrButtons instanceof Array) { + callbackOrButtons.forEach(function (btn, index) { + callbacks[index] = btn.onPress; + + if (btn.style === 'cancel') { + cancelButtonKey = String(index); + } else if (btn.style === 'destructive') { + destructiveButtonKey = String(index); + } + + if (btn.text || index < (callbackOrButtons || []).length - 1) { + var btnDef = {}; + btnDef[index] = btn.text || ''; + buttons.push(btnDef); + } + }); + } + + RCTAlertManager.alertWithArgs({ + title: title || '', + message: message || undefined, + buttons: buttons, + type: type || undefined, + defaultValue: defaultValue, + cancelButtonKey: cancelButtonKey, + destructiveButtonKey: destructiveButtonKey, + keyboardType: keyboardType + }, function (id, value) { + var cb = callbacks[id]; + cb && cb(value); + }); + } + }]); + + return AlertIOS; + }(); + + module.exports = AlertIOS; +},300,[168],"node_modules/react-native/Libraries/Alert/AlertIOS.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'NativeEventEmitter'); + + var RCTLocationObserver = _$$_REQUIRE(_dependencyMap[1], 'NativeModules').LocationObserver; + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var logError = _$$_REQUIRE(_dependencyMap[3], 'logError'); + + var warning = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/warning'); + + var LocationEventEmitter = new NativeEventEmitter(RCTLocationObserver); + + var Platform = _$$_REQUIRE(_dependencyMap[5], 'Platform'); + + var PermissionsAndroid = _$$_REQUIRE(_dependencyMap[6], 'PermissionsAndroid'); + + var subscriptions = []; + var updatesEnabled = false; + var Geolocation = { + setRNConfiguration: function setRNConfiguration(config) { + if (RCTLocationObserver.setConfiguration) { + RCTLocationObserver.setConfiguration(config); + } + }, + requestAuthorization: function requestAuthorization() { + RCTLocationObserver.requestAuthorization(); + }, + getCurrentPosition: function getCurrentPosition(geo_success, geo_error, geo_options) { + var hasPermission, status; + return regeneratorRuntime.async(function getCurrentPosition$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + invariant(typeof geo_success === 'function', 'Must provide a valid geo_success callback.'); + hasPermission = true; + + if (!(Platform.OS === 'android' && Platform.Version >= 23)) { + _context.next = 11; + break; + } + + _context.next = 5; + return regeneratorRuntime.awrap(PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION)); + + case 5: + hasPermission = _context.sent; + + if (hasPermission) { + _context.next = 11; + break; + } + + _context.next = 9; + return regeneratorRuntime.awrap(PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION)); + + case 9: + status = _context.sent; + hasPermission = status === PermissionsAndroid.RESULTS.GRANTED; + + case 11: + if (hasPermission) { + RCTLocationObserver.getCurrentPosition(geo_options || {}, geo_success, geo_error || logError); + } + + case 12: + case "end": + return _context.stop(); + } + } + }, null, this); + }, + watchPosition: function watchPosition(success, error, options) { + if (!updatesEnabled) { + RCTLocationObserver.startObserving(options || {}); + updatesEnabled = true; + } + + var watchID = subscriptions.length; + subscriptions.push([LocationEventEmitter.addListener('geolocationDidChange', success), error ? LocationEventEmitter.addListener('geolocationError', error) : null]); + return watchID; + }, + clearWatch: function clearWatch(watchID) { + var sub = subscriptions[watchID]; + + if (!sub) { + return; + } + + sub[0].remove(); + var sub1 = sub[1]; + sub1 && sub1.remove(); + subscriptions[watchID] = undefined; + var noWatchers = true; + + for (var ii = 0; ii < subscriptions.length; ii++) { + if (subscriptions[ii]) { + noWatchers = false; + } + } + + if (noWatchers) { + Geolocation.stopObserving(); + } + }, + stopObserving: function stopObserving() { + if (updatesEnabled) { + RCTLocationObserver.stopObserving(); + updatesEnabled = false; + + for (var ii = 0; ii < subscriptions.length; ii++) { + var sub = subscriptions[ii]; + + if (sub) { + warning(false, 'Called stopObserving with existing subscriptions.'); + sub[0].remove(); + var sub1 = sub[1]; + sub1 && sub1.remove(); + } + } + + subscriptions = []; + } + } + }; + module.exports = Geolocation; +},301,[286,168,166,302,183,176,303],"node_modules/react-native/Libraries/Geolocation/Geolocation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var logError = function logError() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if (args.length === 1 && args[0] instanceof Error) { + var err = args[0]; + console.error('Error: "' + err.message + '". Stack:\n' + err.stack); + } else { + console.error.apply(console, args); + } + }; + + module.exports = logError; +},302,[],"node_modules/react-native/Libraries/Utilities/logError.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var PermissionsAndroid = function () { + function PermissionsAndroid() { + _classCallCheck(this, PermissionsAndroid); + + this.PERMISSIONS = { + READ_CALENDAR: 'android.permission.READ_CALENDAR', + WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR', + CAMERA: 'android.permission.CAMERA', + READ_CONTACTS: 'android.permission.READ_CONTACTS', + WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS', + GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS', + ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION', + ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION', + RECORD_AUDIO: 'android.permission.RECORD_AUDIO', + READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE', + CALL_PHONE: 'android.permission.CALL_PHONE', + READ_CALL_LOG: 'android.permission.READ_CALL_LOG', + WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG', + ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL', + USE_SIP: 'android.permission.USE_SIP', + PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS', + BODY_SENSORS: 'android.permission.BODY_SENSORS', + SEND_SMS: 'android.permission.SEND_SMS', + RECEIVE_SMS: 'android.permission.RECEIVE_SMS', + READ_SMS: 'android.permission.READ_SMS', + RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH', + RECEIVE_MMS: 'android.permission.RECEIVE_MMS', + READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE', + WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE' + }; + this.RESULTS = { + GRANTED: 'granted', + DENIED: 'denied', + NEVER_ASK_AGAIN: 'never_ask_again' + }; + } + + _createClass(PermissionsAndroid, [{ + key: "checkPermission", + value: function checkPermission(permission) { + console.warn('"PermissionsAndroid.checkPermission" is deprecated. Use "PermissionsAndroid.check" instead'); + return NativeModules.PermissionsAndroid.checkPermission(permission); + } + }, { + key: "check", + value: function check(permission) { + return NativeModules.PermissionsAndroid.checkPermission(permission); + } + }, { + key: "requestPermission", + value: function requestPermission(permission, rationale) { + var response; + return regeneratorRuntime.async(function requestPermission$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + console.warn('"PermissionsAndroid.requestPermission" is deprecated. Use "PermissionsAndroid.request" instead'); + _context.next = 3; + return regeneratorRuntime.awrap(this.request(permission, rationale)); + + case 3: + response = _context.sent; + return _context.abrupt("return", response === this.RESULTS.GRANTED); + + case 5: + case "end": + return _context.stop(); + } + } + }, null, this); + } + }, { + key: "request", + value: function request(permission, rationale) { + var shouldShowRationale; + return regeneratorRuntime.async(function request$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!rationale) { + _context2.next = 6; + break; + } + + _context2.next = 3; + return regeneratorRuntime.awrap(NativeModules.PermissionsAndroid.shouldShowRequestPermissionRationale(permission)); + + case 3: + shouldShowRationale = _context2.sent; + + if (!shouldShowRationale) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", new Promise(function (resolve, reject) { + NativeModules.DialogManagerAndroid.showAlert(rationale, function () { + return reject(new Error('Error showing rationale')); + }, function () { + return resolve(NativeModules.PermissionsAndroid.requestPermission(permission)); + }); + })); + + case 6: + return _context2.abrupt("return", NativeModules.PermissionsAndroid.requestPermission(permission)); + + case 7: + case "end": + return _context2.stop(); + } + } + }, null, this); + } + }, { + key: "requestMultiple", + value: function requestMultiple(permissions) { + return NativeModules.PermissionsAndroid.requestMultiplePermissions(permissions); + } + }]); + + return PermissionsAndroid; + }(); + + PermissionsAndroid = new PermissionsAndroid(); + module.exports = PermissionsAndroid; +},303,[168],"node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var HeapCapture = { + captureHeap: function captureHeap(path) { + var error = null; + + try { + global.nativeCaptureHeap(path); + console.log('HeapCapture.captureHeap succeeded: ' + path); + } catch (e) { + console.log('HeapCapture.captureHeap error: ' + e.toString()); + error = e.toString(); + } + + _$$_REQUIRE(_dependencyMap[0], 'NativeModules').JSCHeapCapture.captureComplete(path, error); + } + }; + module.exports = HeapCapture; +},304,[168],"node_modules/react-native/Libraries/Utilities/HeapCapture.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var SamplingProfiler = { + poke: function poke(token) { + var error = null; + var result = null; + + try { + result = global.pokeSamplingProfiler(); + + if (result === null) { + console.log('The JSC Sampling Profiler has started'); + } else { + console.log('The JSC Sampling Profiler has stopped'); + } + } catch (e) { + console.log('Error occurred when restarting Sampling Profiler: ' + e.toString()); + error = e.toString(); + } + + var _require = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'), + JSCSamplingProfiler = _require.JSCSamplingProfiler; + + JSCSamplingProfiler.operationComplete(token, result, error); + } + }; + module.exports = SamplingProfiler; +},305,[168],"node_modules/react-native/Libraries/Performance/SamplingProfiler.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var levelsMap = { + log: 'log', + info: 'info', + warn: 'warn', + error: 'error', + fatal: 'error' + }; + var warningHandler = null; + var RCTLog = { + logIfNoNativeHook: function logIfNoNativeHook(level) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (typeof global.nativeLoggingHook === 'undefined') { + RCTLog.logToConsole.apply(RCTLog, [level].concat(args)); + } else { + if (warningHandler && level === 'warn') { + warningHandler.apply(void 0, args); + } + } + }, + logToConsole: function logToConsole(level) { + var _console; + + var logFn = levelsMap[level]; + invariant(logFn, 'Level "' + level + '" not one of ' + Object.keys(levelsMap).toString()); + + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + (_console = console)[logFn].apply(_console, args); + }, + setWarningHandler: function setWarningHandler(handler) { + warningHandler = handler; + } + }; + module.exports = RCTLog; +},306,[166],"node_modules/react-native/Libraries/Utilities/RCTLog.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'RCTDeviceEventEmitter'); + + var RCTNativeAppEventEmitter = RCTDeviceEventEmitter; + module.exports = RCTNativeAppEventEmitter; +},307,[194],"node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Systrace = _$$_REQUIRE(_dependencyMap[0], 'Systrace'); + + var infoLog = _$$_REQUIRE(_dependencyMap[1], 'infoLog'); + + var performanceNow = global.nativeQPLTimestamp || global.nativePerformanceNow || _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/performanceNow'); + + var timespans = {}; + var extras = {}; + var cookies = {}; + var PRINT_TO_CONSOLE = false; + var PerformanceLogger = { + addTimespan: function addTimespan(key, lengthInMs, description) { + if (timespans[key]) { + if (__DEV__) { + infoLog('PerformanceLogger: Attempting to add a timespan that already exists ', key); + } + + return; + } + + timespans[key] = { + description: description, + totalTime: lengthInMs + }; + }, + startTimespan: function startTimespan(key, description) { + if (timespans[key]) { + if (__DEV__) { + infoLog('PerformanceLogger: Attempting to start a timespan that already exists ', key); + } + + return; + } + + timespans[key] = { + description: description, + startTime: performanceNow() + }; + cookies[key] = Systrace.beginAsyncEvent(key); + + if (PRINT_TO_CONSOLE) { + infoLog('PerformanceLogger.js', 'start: ' + key); + } + }, + stopTimespan: function stopTimespan(key) { + var timespan = timespans[key]; + + if (!timespan || !timespan.startTime) { + if (__DEV__) { + infoLog('PerformanceLogger: Attempting to end a timespan that has not started ', key); + } + + return; + } + + if (timespan.endTime) { + if (__DEV__) { + infoLog('PerformanceLogger: Attempting to end a timespan that has already ended ', key); + } + + return; + } + + timespan.endTime = performanceNow(); + timespan.totalTime = timespan.endTime - (timespan.startTime || 0); + + if (PRINT_TO_CONSOLE) { + infoLog('PerformanceLogger.js', 'end: ' + key); + } + + Systrace.endAsyncEvent(key, cookies[key]); + delete cookies[key]; + }, + clear: function clear() { + timespans = {}; + extras = {}; + + if (PRINT_TO_CONSOLE) { + infoLog('PerformanceLogger.js', 'clear'); + } + }, + clearCompleted: function clearCompleted() { + for (var _key in timespans) { + if (timespans[_key].totalTime) { + delete timespans[_key]; + } + } + + extras = {}; + + if (PRINT_TO_CONSOLE) { + infoLog('PerformanceLogger.js', 'clearCompleted'); + } + }, + clearExceptTimespans: function clearExceptTimespans(keys) { + timespans = Object.keys(timespans).reduce(function (previous, key) { + if (keys.indexOf(key) !== -1) { + previous[key] = timespans[key]; + } + + return previous; + }, {}); + extras = {}; + + if (PRINT_TO_CONSOLE) { + infoLog('PerformanceLogger.js', 'clearExceptTimespans', keys); + } + }, + currentTimestamp: function currentTimestamp() { + return performanceNow(); + }, + getTimespans: function getTimespans() { + return timespans; + }, + hasTimespan: function hasTimespan(key) { + return !!timespans[key]; + }, + logTimespans: function logTimespans() { + for (var _key2 in timespans) { + if (timespans[_key2].totalTime) { + infoLog(_key2 + ': ' + timespans[_key2].totalTime + 'ms'); + } + } + }, + addTimespans: function addTimespans(newTimespans, labels) { + for (var ii = 0, l = newTimespans.length; ii < l; ii += 2) { + var label = labels[ii / 2]; + PerformanceLogger.addTimespan(label, newTimespans[ii + 1] - newTimespans[ii], label); + } + }, + setExtra: function setExtra(key, value) { + if (extras[key]) { + if (__DEV__) { + infoLog('PerformanceLogger: Attempting to set an extra that already exists ', { + key: key, + currentValue: extras[key], + attemptedValue: value + }); + } + + return; + } + + extras[key] = value; + }, + getExtras: function getExtras() { + return extras; + }, + logExtras: function logExtras() { + infoLog(extras); + } + }; + module.exports = PerformanceLogger; +},308,[172,309,177],"node_modules/react-native/Libraries/Utilities/PerformanceLogger.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function infoLog() { + var _console; + + return (_console = console).log.apply(_console, arguments); + } + + module.exports = infoLog; +},309,[],"node_modules/react-native/Libraries/Utilities/infoLog.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var JSDevSupport = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').JSDevSupport; + + var ReactNative = _$$_REQUIRE(_dependencyMap[1], 'ReactNative'); + + var JSDevSupportModule = { + getJSHierarchy: function getJSHierarchy(tag) { + try { + var computeComponentStackForErrorReporting = ReactNative.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.computeComponentStackForErrorReporting; + var componentStack = computeComponentStackForErrorReporting(tag); + + if (!componentStack) { + JSDevSupport.onFailure(JSDevSupport.ERROR_CODE_VIEW_NOT_FOUND, "Component stack doesn't exist for tag " + tag); + } else { + JSDevSupport.onSuccess(componentStack); + } + } catch (e) { + JSDevSupport.onFailure(JSDevSupport.ERROR_CODE_EXCEPTION, e.message); + } + } + }; + module.exports = JSDevSupportModule; +},310,[168,261],"node_modules/react-native/Libraries/Utilities/JSDevSupportModule.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var MetroHMRClient = _$$_REQUIRE(_dependencyMap[2], 'metro/src/lib/bundle-modules/HMRClient'); + + var HMRClient = { + enable: function enable(platform, bundleEntry, host, port) { + invariant(platform, 'Missing required parameter `platform`'); + invariant(bundleEntry, 'Missing required paramenter `bundleEntry`'); + invariant(host, 'Missing required paramenter `host`'); + + var HMRLoadingView = _$$_REQUIRE(_dependencyMap[3], 'HMRLoadingView'); + + var wsHostPort = port !== null && port !== '' ? host + ":" + port : host; + bundleEntry = bundleEntry.replace(/\.(bundle|delta)/, '.js'); + var wsUrl = "ws://" + wsHostPort + "/hot?" + ("platform=" + platform + "&") + ("bundleEntry=" + bundleEntry); + var hmrClient = new MetroHMRClient(wsUrl); + hmrClient.on('connection-error', function (e) { + var error = "Hot loading isn't working because it cannot connect to the development server.\n\nTry the following to fix the issue:\n- Ensure that the packager server is running and available on the same network"; + + if (Platform.OS === 'ios') { + error += "\n- Ensure that the Packager server URL is correctly set in AppDelegate"; + } else { + error += "\n- Ensure that your device/emulator is connected to your machine and has USB debugging enabled - run 'adb devices' to see a list of connected devices\n- If you're on a physical device connected to the same machine, run 'adb reverse tcp:8081 tcp:8081' to forward requests from your device\n- If your device is on the same Wi-Fi network, set 'Debug server host & port for device' in 'Dev settings' to your machine's IP address and the port of the local dev server - e.g. 10.0.1.1:8081"; + } + + error += "\n\nURL: " + host + ":" + port + "\n\nError: " + e.message; + throw new Error(error); + }); + hmrClient.on('update-start', function () { + HMRLoadingView.showMessage('Hot Loading...'); + }); + hmrClient.on('update', function () { + if (Platform.OS === 'ios') { + var RCTRedBox = _$$_REQUIRE(_dependencyMap[4], 'NativeModules').RedBox; + + RCTRedBox && RCTRedBox.dismiss && RCTRedBox.dismiss(); + } else { + var RCTExceptionsManager = _$$_REQUIRE(_dependencyMap[4], 'NativeModules').ExceptionsManager; + + RCTExceptionsManager && RCTExceptionsManager.dismissRedbox && RCTExceptionsManager.dismissRedbox(); + } + }); + hmrClient.on('update-done', function () { + HMRLoadingView.hide(); + }); + hmrClient.on('error', function (data) { + HMRLoadingView.hide(); + throw new Error(data.type + " " + data.message); + }); + hmrClient.enable(); + } + }; + module.exports = HMRClient; +},311,[176,166,312,315,168],"node_modules/react-native/Libraries/Utilities/HMRClient.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], './MetroClient'); +},312,[313],"node_modules/metro/src/lib/bundle-modules/HMRClient.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[0], 'eventemitter3'); + + var MetroClient = function (_EventEmitter) { + function MetroClient(url) { + var _this; + + _classCallCheck(this, MetroClient); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(MetroClient).call(this)); + _this._url = url; + return _this; + } + + _createClass(MetroClient, [{ + key: "enable", + value: function enable() { + var _this2 = this; + + if (this._ws) { + this.disable(); + } + + this._ws = new global.WebSocket(this._url); + + this._ws.onerror = function (error) { + _this2.emit('connection-error', error); + }; + + this._ws.onclose = function () { + _this2.emit('close'); + }; + + this._ws.onmessage = function (message) { + var data = JSON.parse(message.data); + + switch (data.type) { + case 'update-start': + _this2.emit('update-start'); + + break; + + case 'update': + var _data$body = data.body; + var modules = _data$body.modules, + sourceMappingURLs = _data$body.sourceMappingURLs, + sourceURLs = _data$body.sourceURLs; + + _this2.emit('update'); + + modules.forEach(function (_ref, i) { + var id = _ref.id, + code = _ref.code; + code += '\n\n' + sourceMappingURLs[i]; + var injectFunction = typeof global.nativeInjectHMRUpdate === 'function' ? global.nativeInjectHMRUpdate : eval; + injectFunction(code, sourceURLs[i]); + }); + break; + + case 'update-done': + _this2.emit('update-done'); + + break; + + case 'error': + _this2.emit('error', data.body); + + break; + + default: + _this2.emit('error', { + type: 'unknown-message', + message: data + }); + + } + }; + } + }, { + key: "disable", + value: function disable() { + if (this._ws) { + this._ws.close(); + + this._ws = undefined; + } + } + }]); + + _inherits(MetroClient, _EventEmitter); + + return MetroClient; + }(EventEmitter); + + module.exports = MetroClient; +},313,[314],"node_modules/metro/src/lib/bundle-modules/MetroClient.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var has = Object.prototype.hasOwnProperty, + prefix = '~'; + + function Events() {} + + if (Object.create) { + Events.prototype = Object.create(null); + if (!new Events().__proto__) prefix = false; + } + + function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; + } + + function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once), + evt = prefix ? prefix + event : event; + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener]; + return emitter; + } + + function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt]; + } + + function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; + } + + EventEmitter.prototype.eventNames = function eventNames() { + var names = [], + events, + name; + if (this._eventsCount === 0) return names; + + for (name in events = this._events) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; + }; + + EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event, + handlers = this._events[evt]; + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; + }; + + EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event, + listeners = this._events[evt]; + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; + }; + + EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + if (!this._events[evt]) return false; + var listeners = this._events[evt], + len = arguments.length, + args, + i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: + return listeners.fn.call(listeners.context), true; + + case 2: + return listeners.fn.call(listeners.context, a1), true; + + case 3: + return listeners.fn.call(listeners.context, a1, a2), true; + + case 4: + return listeners.fn.call(listeners.context, a1, a2, a3), true; + + case 5: + return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + + case 6: + return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len - 1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length, + j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: + listeners[i].fn.call(listeners[i].context); + break; + + case 2: + listeners[i].fn.call(listeners[i].context, a1); + break; + + case 3: + listeners[i].fn.call(listeners[i].context, a1, a2); + break; + + case 4: + listeners[i].fn.call(listeners[i].context, a1, a2, a3); + break; + + default: + if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) { + args[j - 1] = arguments[j]; + } + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; + }; + + EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); + }; + + EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); + }; + + EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + if (!this._events[evt]) return this; + + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) { + events.push(listeners[i]); + } + } + + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt); + } + + return this; + }; + + EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; + }; + + EventEmitter.prototype.off = EventEmitter.prototype.removeListener; + EventEmitter.prototype.addListener = EventEmitter.prototype.on; + EventEmitter.prefixed = prefix; + EventEmitter.EventEmitter = EventEmitter; + + if ('undefined' !== typeof module) { + module.exports = EventEmitter; + } +},314,[],"node_modules/eventemitter3/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var processColor = _$$_REQUIRE(_dependencyMap[0], 'processColor'); + + var _require = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'), + DevLoadingView = _require.DevLoadingView; + + var HMRLoadingView = function () { + function HMRLoadingView() { + _classCallCheck(this, HMRLoadingView); + } + + _createClass(HMRLoadingView, null, [{ + key: "showMessage", + value: function showMessage(message) { + DevLoadingView.showMessage(message, processColor('#000000'), processColor('#aaaaaa')); + } + }, { + key: "hide", + value: function hide() { + DevLoadingView.hide(); + } + }]); + + return HMRLoadingView; + }(); + + module.exports = HMRLoadingView; +},315,[221,168],"node_modules/react-native/Libraries/Utilities/HMRLoadingView.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var register = function register() {}; + + if (__DEV__) { + var AppState = _$$_REQUIRE(_dependencyMap[0], 'AppState'); + + var WebSocket = _$$_REQUIRE(_dependencyMap[1], 'WebSocket'); + + var reactDevTools = _$$_REQUIRE(_dependencyMap[2], 'react-devtools-core'); + + var getDevServer = _$$_REQUIRE(_dependencyMap[3], 'getDevServer'); + + if (WebSocket.isAvailable) { + var _isAppActive = function _isAppActive() { + return AppState.currentState !== 'background'; + }; + + var devServer = getDevServer(); + + var _host = devServer.bundleLoadedFromServer ? devServer.url.replace(/https?:\/\//, '').split(':')[0] : 'localhost'; + + reactDevTools.connectToDevTools({ + isAppActive: _isAppActive, + host: _host, + port: window.__REACT_DEVTOOLS_PORT__, + resolveRNStyle: _$$_REQUIRE(_dependencyMap[4], 'flattenStyle') + }); + } + } + + module.exports = { + register: register + }; +},316,[317,294,318,273,226],"node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var MissingNativeEventEmitterShim = _$$_REQUIRE(_dependencyMap[0], 'MissingNativeEventEmitterShim'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeEventEmitter'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'); + + var RCTAppState = NativeModules.AppState; + + var logError = _$$_REQUIRE(_dependencyMap[3], 'logError'); + + var invariant = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/invariant'); + + var AppState = function (_NativeEventEmitter) { + function AppState() { + var _this; + + _classCallCheck(this, AppState); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AppState).call(this, RCTAppState)); + _this.isAvailable = true; + _this.isAvailable = true; + _this._eventHandlers = { + change: new Map(), + memoryWarning: new Map() + }; + _this.currentState = RCTAppState.initialAppState || 'active'; + var eventUpdated = false; + + _this.addListener('appStateDidChange', function (appStateData) { + eventUpdated = true; + _this.currentState = appStateData.app_state; + }); + + RCTAppState.getCurrentAppState(function (appStateData) { + if (!eventUpdated && _this.currentState !== appStateData.app_state) { + _this.currentState = appStateData.app_state; + + _this.emit('appStateDidChange', appStateData); + } + }, logError); + return _this; + } + + _createClass(AppState, [{ + key: "addEventListener", + value: function addEventListener(type, handler) { + invariant(['change', 'memoryWarning'].indexOf(type) !== -1, 'Trying to subscribe to unknown event: "%s"', type); + + if (type === 'change') { + this._eventHandlers[type].set(handler, this.addListener('appStateDidChange', function (appStateData) { + handler(appStateData.app_state); + })); + } else if (type === 'memoryWarning') { + this._eventHandlers[type].set(handler, this.addListener('memoryWarning', handler)); + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(type, handler) { + invariant(['change', 'memoryWarning'].indexOf(type) !== -1, 'Trying to remove listener for unknown event: "%s"', type); + + if (!this._eventHandlers[type].has(handler)) { + return; + } + + this._eventHandlers[type].get(handler).remove(); + + this._eventHandlers[type].delete(handler); + } + }]); + + _inherits(AppState, _NativeEventEmitter); + + return AppState; + }(NativeEventEmitter); + + if (__DEV__ && !RCTAppState) { + var MissingNativeAppStateShim = function (_MissingNativeEventEm) { + function MissingNativeAppStateShim() { + _classCallCheck(this, MissingNativeAppStateShim); + + return _possibleConstructorReturn(this, _getPrototypeOf(MissingNativeAppStateShim).call(this, 'RCTAppState', 'AppState')); + } + + _createClass(MissingNativeAppStateShim, [{ + key: "addEventListener", + value: function addEventListener() { + this.throwMissingNativeModule(); + } + }, { + key: "removeEventListener", + value: function removeEventListener() { + this.throwMissingNativeModule(); + } + }, { + key: "currentState", + get: function get() { + this.throwMissingNativeModule(); + } + }]); + + _inherits(MissingNativeAppStateShim, _MissingNativeEventEm); + + return MissingNativeAppStateShim; + }(MissingNativeEventEmitterShim); + + AppState = new MissingNativeAppStateShim(); + } else { + AppState = new AppState(); + } + + module.exports = AppState; +},317,[285,286,168,302,166],"node_modules/react-native/Libraries/AppState/AppState.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function _extends() { _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; }; return _extends.apply(this, arguments); } + + !function (e, t) { + "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.ReactDevToolsBackend = t() : e.ReactDevToolsBackend = t(); + }(window, function () { + return function (e) { + var t = {}; + + function n(r) { + if (t[r]) return t[r].exports; + var o = t[r] = { + i: r, + l: !1, + exports: {} + }; + return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports; + } + + return n.m = e, n.c = t, n.d = function (e, t, r) { + n.o(e, t) || Object.defineProperty(e, t, { + enumerable: !0, + get: r + }); + }, n.r = function (e) { + "undefined" != typeof Symbol && (typeof Symbol === "function" ? Symbol.toStringTag : "@@toStringTag") && Object.defineProperty(e, typeof Symbol === "function" ? Symbol.toStringTag : "@@toStringTag", { + value: "Module" + }), Object.defineProperty(e, "__esModule", { + value: !0 + }); + }, n.t = function (e, t) { + if (1 & t && (e = n(e)), 8 & t) return e; + if (4 & t && "object" == typeof e && e && e.__esModule) return e; + var r = Object.create(null); + if (n.r(r), Object.defineProperty(r, "default", { + enumerable: !0, + value: e + }), 2 & t && "string" != typeof e) for (var o in e) { + n.d(r, o, function (t) { + return e[t]; + }.bind(null, o)); + } + return r; + }, n.n = function (e) { + var t = e && e.__esModule ? function () { + return e.default; + } : function () { + return e; + }; + return n.d(t, "a", t), t; + }, n.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }, n.p = "", n(n.s = 8); + }([function (e, t, n) { + var r, o, i; + !function (a, s) { + "use strict"; + + o = [n(54)], void 0 === (i = "function" == typeof (r = function r(e) { + var t = /(^|@)\S+\:\d+/, + n = /^\s*at .*(\S+\:\d+|\(native\))/m, + r = /^(eval@)?(\[native code\])?$/; + return { + parse: function parse(e) { + if (void 0 !== e.stacktrace || void 0 !== e["opera#sourceloc"]) return this.parseOpera(e); + if (e.stack && e.stack.match(n)) return this.parseV8OrIE(e); + if (e.stack) return this.parseFFOrSafari(e); + throw new Error("Cannot parse given Error object"); + }, + extractLocation: function extractLocation(e) { + if (-1 === e.indexOf(":")) return [e]; + var t = /(.+?)(?:\:(\d+))?(?:\:(\d+))?$/.exec(e.replace(/[\(\)]/g, "")); + return [t[1], t[2] || void 0, t[3] || void 0]; + }, + parseV8OrIE: function parseV8OrIE(t) { + var r = t.stack.split("\n").filter(function (e) { + return !!e.match(n); + }, this); + return r.map(function (t) { + t.indexOf("(eval ") > -1 && (t = t.replace(/eval code/g, "eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g, "")); + var n = t.replace(/^\s+/, "").replace(/\(eval code/g, "(").split(/\s+/).slice(1), + r = this.extractLocation(n.pop()), + o = n.join(" ") || void 0, + i = ["eval", ""].indexOf(r[0]) > -1 ? void 0 : r[0]; + return new e({ + functionName: o, + fileName: i, + lineNumber: r[1], + columnNumber: r[2], + source: t + }); + }, this); + }, + parseFFOrSafari: function parseFFOrSafari(t) { + var n = t.stack.split("\n").filter(function (e) { + return !e.match(r); + }, this); + return n.map(function (t) { + if (t.indexOf(" > eval") > -1 && (t = t.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g, ":$1")), -1 === t.indexOf("@") && -1 === t.indexOf(":")) return new e({ + functionName: t + }); + var n = /((.*".+"[^@]*)?[^@]*)(?:@)/, + r = t.match(n), + o = r && r[1] ? r[1] : void 0, + i = this.extractLocation(t.replace(n, "")); + return new e({ + functionName: o, + fileName: i[0], + lineNumber: i[1], + columnNumber: i[2], + source: t + }); + }, this); + }, + parseOpera: function parseOpera(e) { + return !e.stacktrace || e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length ? this.parseOpera9(e) : e.stack ? this.parseOpera11(e) : this.parseOpera10(e); + }, + parseOpera9: function parseOpera9(t) { + for (var n = /Line (\d+).*script (?:in )?(\S+)/i, r = t.message.split("\n"), o = [], i = 2, a = r.length; i < a; i += 2) { + var s = n.exec(r[i]); + s && o.push(new e({ + fileName: s[2], + lineNumber: s[1], + source: r[i] + })); + } + + return o; + }, + parseOpera10: function parseOpera10(t) { + for (var n = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, r = t.stacktrace.split("\n"), o = [], i = 0, a = r.length; i < a; i += 2) { + var s = n.exec(r[i]); + s && o.push(new e({ + functionName: s[3] || void 0, + fileName: s[2], + lineNumber: s[1], + source: r[i] + })); + } + + return o; + }, + parseOpera11: function parseOpera11(n) { + var r = n.stack.split("\n").filter(function (e) { + return !!e.match(t) && !e.match(/^Error created at/); + }, this); + return r.map(function (t) { + var n, + r = t.split("@"), + o = this.extractLocation(r.pop()), + i = r.shift() || "", + a = i.replace(//, "$2").replace(/\([^\)]*\)/g, "") || void 0; + i.match(/\(([^\)]*)\)/) && (n = i.replace(/^[^\(]+\(([^\)]*)\)$/, "$1")); + var s = void 0 === n || "[arguments not available]" === n ? void 0 : n.split(","); + return new e({ + functionName: a, + args: s, + fileName: o[0], + lineNumber: o[1], + columnNumber: o[2], + source: t + }); + }, this); + } + }; + }) ? r.apply(t, o) : r) || (e.exports = i); + }(); + }, function (e, t, n) { + "use strict"; + + var r = Object.prototype.hasOwnProperty, + o = Object.prototype.propertyIsEnumerable; + + e.exports = Object.assign || function (e, t) { + for (var n, i, a = function (e) { + if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined"); + return Object(e); + }(e), s = 1; s < arguments.length; s++) { + for (var u in n = Object(arguments[s])) { + r.call(n, u) && (a[u] = n[u]); + } + + if (Object.getOwnPropertySymbols) { + i = Object.getOwnPropertySymbols(n); + + for (var c = 0; c < i.length; c++) { + o.call(n, i[c]) && (a[i[c]] = n[i[c]]); + } + } + } + + return a; + }; + }, function (e, t, n) { + "use strict"; + + function r(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; + } + + function o(e, t, n, i) { + if (n >= t.length) return i; + var a = t[n], + s = Array.isArray(e) ? e.slice() : function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}, + o = Object.keys(n); + "function" == typeof Object.getOwnPropertySymbols && (o = o.concat(Object.getOwnPropertySymbols(n).filter(function (e) { + return Object.getOwnPropertyDescriptor(n, e).enumerable; + }))), o.forEach(function (t) { + r(e, t, n[t]); + }); + } + + return e; + }({}, e); + return s[a] = o(e[a], t, n + 1, i), s; + } + + e.exports = function (e, t, n) { + return o(e, t, 0, n); + }; + }, function (e, t) { + function n(e) { + return function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) { + n[t] = e[t]; + } + + return n; + } + }(e) || function (e) { + if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e); + }(e) || function () { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + }(); + } + + var r = Object.prototype.hasOwnProperty; + + e.exports = function (e, t) { + return t.reduce(function (e, t) { + if (e) { + if (r.call(e, t)) return e[t]; + if ("function" == typeof e[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]) return n(e)[t]; + } + + return null; + }, e); + }; + }, function (e, t, n) { + "use strict"; + + var r = n(14); + e.exports = { + name: r("name"), + type: r("type"), + inspected: r("inspected"), + meta: r("meta"), + proto: r("proto") + }; + }, function (e, t, n) { + "use strict"; + + var r = /^(.*) \[from (.*)\]$/, + o = new WeakMap(); + + e.exports = function (e) { + var t, + n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "Unknown", + i = o.get(e); + if (null != i) return i; + "string" == typeof e.displayName && (t = e.displayName), t || (t = e.name || n); + var a = t.match(r); + + if (a) { + var s = a[1], + u = a[2]; + s && u && (u === s || u.startsWith(s + ".")) && (t = s); + } + + return o.set(e, t), t; + }; + }, function (e, t) { + var n, + r, + o = e.exports = {}; + + function i() { + throw new Error("setTimeout has not been defined"); + } + + function a() { + throw new Error("clearTimeout has not been defined"); + } + + function s(e) { + if (n === setTimeout) return setTimeout(e, 0); + if ((n === i || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); + + try { + return n(e, 0); + } catch (t) { + try { + return n.call(null, e, 0); + } catch (t) { + return n.call(this, e, 0); + } + } + } + + !function () { + try { + n = "function" == typeof setTimeout ? setTimeout : i; + } catch (e) { + n = i; + } + + try { + r = "function" == typeof clearTimeout ? clearTimeout : a; + } catch (e) { + r = a; + } + }(); + var u, + c = [], + l = !1, + f = -1; + + function p() { + l && u && (l = !1, u.length ? c = u.concat(c) : f = -1, c.length && d()); + } + + function d() { + if (!l) { + var e = s(p); + l = !0; + + for (var t = c.length; t;) { + for (u = c, c = []; ++f < t;) { + u && u[f].run(); + } + + f = -1, t = c.length; + } + + u = null, l = !1, function (e) { + if (r === clearTimeout) return clearTimeout(e); + if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); + + try { + r(e); + } catch (t) { + try { + return r.call(null, e); + } catch (t) { + return r.call(this, e); + } + } + }(e); + } + } + + function h(e, t) { + this.fun = e, this.array = t; + } + + function m() {} + + o.nextTick = function (e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) { + t[n - 1] = arguments[n]; + } + c.push(new h(e, t)), 1 !== c.length || l || s(d); + }, h.prototype.run = function () { + this.fun.apply(null, this.array); + }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = m, o.addListener = m, o.once = m, o.off = m, o.removeListener = m, o.removeAllListeners = m, o.emit = m, o.prependListener = m, o.prependOnceListener = m, o.listeners = function (e) { + return []; + }, o.binding = function (e) { + throw new Error("process.binding is not supported"); + }, o.cwd = function () { + return "/"; + }, o.chdir = function (e) { + throw new Error("process.chdir is not supported"); + }, o.umask = function () { + return 0; + }; + }, function (e, t) { + function n(e) { + return (n = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var r; + + r = function () { + return this; + }(); + + try { + r = r || Function("return this")() || (0, eval)("this"); + } catch (e) { + "object" === ("undefined" == typeof window ? "undefined" : n(window)) && (r = window); + } + + e.exports = r; + }, function (e, t, n) { + "use strict"; + + var r = n(9), + o = n(13), + i = n(37), + a = n(38), + s = n(39), + u = n(48), + c = n(52), + l = n(61).default, + f = n(55); + a(window), window.document && window.__REACT_DEVTOOLS_GLOBAL_HOOK__.on("react-devtools", function (e) { + n(56)(e); + }), e.exports = { + connectToDevTools: function e(t) { + var n = t || {}, + a = n.host, + p = void 0 === a ? "localhost" : a, + d = n.port, + h = void 0 === d ? 8097 : d, + m = n.websocket, + y = n.resolveRNStyle, + v = void 0 === y ? null : y, + g = n.isAppActive; + + function b() { + setTimeout(function () { + return e(t); + }, 2e3); + } + + if ((void 0 === g ? function () { + return !0; + } : g)()) { + var _ = [], + w = [], + S = "ws://" + p + ":" + h, + E = m || new window.WebSocket(S); + E.onclose = x, E.onerror = x, E.onmessage = function (e) { + var t; + + try { + u("string" == typeof e.data), t = JSON.parse(e.data); + } catch (t) { + return void console.error("failed to parse json: " + String(e.data)); + } + + _.forEach(function (e) { + try { + e(t); + } catch (e) { + throw console.log(t), e; + } + }); + }, E.onopen = function () { + !function (e, t) { + e.onClose(function () { + a && a.emit("shutdown"), window.__REACT_DEVTOOLS_GLOBAL_HOOK__.emit("shutdown"), n = null, a = null, console.log("closing devtools"); + }); + var n = new o(e), + a = new r(window, { + rnStyle: !!t, + rnStyleMeasure: !!t + }); + a.addBridge(n), t && c(n, a, t), f(n, a, window.__REACT_DEVTOOLS_GLOBAL_HOOK__), l(n, a); + var u = setTimeout(function () { + console.warn("react-devtools agent got no connection"); + }, 2e4); + a.once("connected", function () { + a && (s(window.__REACT_DEVTOOLS_GLOBAL_HOOK__, a), clearTimeout(u)); + }), i.init(a); + }({ + listen: function listen(e) { + _.push(e); + }, + onClose: function onClose(e) { + w.push(e); + }, + send: function send(e) { + E.send(JSON.stringify(e)); + } + }, v); + }; + var O = !1; + } else b(); + + function x() { + O || (O = !0, b(), w.forEach(function (e) { + return e(); + })); + } + } + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + function i(e) { + return (i = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + + function a(e, t) { + return (a = Object.setPrototypeOf || function (e, t) { + return e.__proto__ = t, e; + })(e, t); + } + + function s(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; + } + + var u = n(10).EventEmitter, + c = n(1), + l = n(11).default, + f = n(12), + p = n(3), + d = function (e) { + function t(e, n) { + var o, a, u, l; + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, t), a = this, u = i(t).call(this), (o = !u || "object" !== r(u) && "function" != typeof u ? s(a) : u).global = e, o.internalInstancesById = new Map(), o.idsByInternalInstances = new WeakMap(), o.renderers = new Map(), o.elementData = new Map(), o.roots = new Set(), o.reactInternals = {}, o.on("selected", function (e) { + var t = o.elementData.get(e); + t && t.publicInstance && o.global.$r === l && (o.global.$r = t.publicInstance, l = t.publicInstance); + }), o._prevSelected = null, o._scrollUpdate = !1; + var f = window.document && "function" == typeof window.document.createElement; + return o.capabilities = c({ + scroll: f && "function" == typeof window.document.body.scrollIntoView, + dom: f, + editTextContent: !1 + }, n), f && (o._updateScroll = o._updateScroll.bind(s(s(o))), window.addEventListener("scroll", o._onScroll.bind(s(s(o))), !0), window.addEventListener("click", o._onClick.bind(s(s(o))), !0), window.addEventListener("mouseover", o._onMouseOver.bind(s(s(o))), !0), window.addEventListener("resize", o._onResize.bind(s(s(o))), !0)), o; + } + + var n, d, h; + return function (e, t) { + if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); + e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + writable: !0, + configurable: !0 + } + }), t && a(e, t); + }(t, u), n = t, (d = [{ + key: "sub", + value: function value(e, t) { + var n = this; + return this.on(e, t), function () { + n.removeListener(e, t); + }; + } + }, { + key: "setReactInternals", + value: function value(e, t) { + this.reactInternals[e] = t; + } + }, { + key: "addBridge", + value: function value(e) { + var t = this; + e.on("requestCapabilities", function () { + e.send("capabilities", t.capabilities), t.emit("connected"); + }), e.on("setState", this._setState.bind(this)), e.on("setProps", this._setProps.bind(this)), e.on("setContext", this._setContext.bind(this)), e.on("makeGlobal", this._makeGlobal.bind(this)), e.on("highlight", function (e) { + return t.highlight(e); + }), e.on("highlightMany", function (e) { + return t.highlightMany(e); + }), e.on("hideHighlight", function () { + return t.emit("hideHighlight"); + }), e.on("startInspecting", function () { + return t.emit("startInspecting"); + }), e.on("stopInspecting", function () { + return t.emit("stopInspecting"); + }), e.on("selected", function (e) { + return t.emit("selected", e); + }), e.on("isRecording", function (e) { + return t.emit("isRecording", e); + }), e.on("setInspectEnabled", function (e) { + t._inspectEnabled = e, t.emit("stopInspecting"); + }), e.on("shutdown", function () { + return t.emit("shutdown"); + }), e.on("changeTextContent", function (e) { + var n = e.id, + r = e.text, + o = t.getNodeForID(n); + o && (o.textContent = r); + }), e.on("putSelectedNode", function (e) { + window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$node = t.getNodeForID(e); + }), e.on("putSelectedInstance", function (e) { + var n = t.elementData.get(e); + window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$type = n ? n.type : null, n && n.publicInstance ? window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$inst = n.publicInstance : window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$inst = null; + }), e.on("checkSelection", function () { + var e = window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0; + e !== t._prevSelected && (t._prevSelected = e, e !== window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$node && t.selectFromDOMNode(e, !0)); + }), e.on("scrollToNode", function (e) { + return t.scrollToNode(e); + }), e.on("traceupdatesstatechange", function (e) { + return t.emit("traceupdatesstatechange", e); + }), e.on("colorizerchange", function (e) { + return t.emit("colorizerchange", e); + }), this.on("root", function (t) { + return e.send("root", t); + }), this.on("mount", function (t) { + return e.send("mount", t); + }), this.on("update", function (t) { + return e.send("update", t); + }), this.on("updateProfileTimes", function (t) { + return e.send("updateProfileTimes", t); + }), this.on("unmount", function (t) { + e.send("unmount", t), e.forget(t); + }), this.on("setSelection", function (t) { + return e.send("select", t); + }), this.on("setInspectEnabled", function (t) { + return e.send("setInspectEnabled", t); + }), this.on("isRecording", function (t) { + return e.send("isRecording", t); + }), this.on("storeSnapshot", function (t) { + return e.send("storeSnapshot", t); + }), this.on("clearSnapshots", function () { + return e.send("clearSnapshots"); + }); + } + }, { + key: "scrollToNode", + value: function value(e) { + var t = this.getNodeForID(e); + + if (t) { + var n = t.nodeType === Node.ELEMENT_NODE ? t : t.parentElement; + n ? ("function" == typeof n.scrollIntoViewIfNeeded ? n.scrollIntoViewIfNeeded() : "function" == typeof n.scrollIntoView && n.scrollIntoView(), this.highlight(e)) : console.warn("unable to get the domElement for scrolling"); + } else console.warn("unable to get the node for scrolling"); + } + }, { + key: "highlight", + value: function value(e) { + var t = this.elementData.get(e), + n = this.getNodeForID(e); + t && n && this.emit("highlight", { + node: n, + name: t.name, + props: t.props + }); + } + }, { + key: "highlightMany", + value: function value(e) { + var t = this, + n = []; + e.forEach(function (e) { + var r = t.getNodeForID(e); + r && n.push(r); + }), n.length && this.emit("highlightMany", n); + } + }, { + key: "getNodeForID", + value: function value(e) { + var t = this.internalInstancesById.get(e); + if (!t) return null; + var n = this.renderers.get(e); + return n && this.reactInternals[n].getNativeFromReactElement ? this.reactInternals[n].getNativeFromReactElement(t) : null; + } + }, { + key: "selectFromDOMNode", + value: function value(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, + r = this.getIDForNode(e); + r && this.emit("setSelection", { + id: r, + quiet: t, + offsetFromLeaf: n + }); + } + }, { + key: "selectFromReactInstance", + value: function value(e, t) { + var n = this.getId(e); + n ? this.emit("setSelection", { + id: n, + quiet: t + }) : console.log("no instance id", e); + } + }, { + key: "getIDForNode", + value: function value(e) { + if (!this.reactInternals) return null; + var t; + + for (var n in this.reactInternals) { + try { + t = this.reactInternals[n].getReactElementFromNative(e); + } catch (e) {} + + if (t) return this.getId(t); + } + + return null; + } + }, { + key: "_setProps", + value: function value(e) { + var t = e.id, + n = e.path, + r = e.value, + o = this.elementData.get(t); + o && o.updater && "function" == typeof o.updater.setInProps ? o.updater.setInProps(n, r) : console.warn("trying to set props on a component that doesn't support it"); + } + }, { + key: "_setState", + value: function value(e) { + var t = e.id, + n = e.path, + r = e.value, + o = this.elementData.get(t); + o && o.updater && "function" == typeof o.updater.setInState ? o.updater.setInState(n, r) : console.warn("trying to set state on a component that doesn't support it"); + } + }, { + key: "_setContext", + value: function value(e) { + var t = e.id, + n = e.path, + r = e.value, + o = this.elementData.get(t); + o && o.updater && "function" == typeof o.updater.setInContext ? o.updater.setInContext(n, r) : console.warn("trying to set context on a component that doesn't support it"); + } + }, { + key: "_makeGlobal", + value: function value(e) { + var t, + n = e.id, + r = e.path, + o = this.elementData.get(n); + o && (t = "instance" === r ? o.publicInstance : p(o, r), this.global.$tmp = t, console.log("$tmp =", t)); + } + }, { + key: "getId", + value: function value(e) { + return "object" === r(e) && e ? (this.idsByInternalInstances.has(e) || (this.idsByInternalInstances.set(e, f()), this.internalInstancesById.set(l(this.idsByInternalInstances.get(e)), e)), l(this.idsByInternalInstances.get(e))) : e; + } + }, { + key: "addRoot", + value: function value(e, t) { + var n = this.getId(t); + this.roots.add(n), this.emit("root", n); + } + }, { + key: "rootCommitted", + value: function value(e, t, n) { + var r = this.getId(t); + this.emit("rootCommitted", r, t, n); + } + }, { + key: "onMounted", + value: function value(e, t, n) { + var r = this, + o = this.getId(t); + this.renderers.set(o, e), this.elementData.set(o, n); + var i = c({}, n); + i.children && i.children.map && (i.children = i.children.map(function (e) { + return r.getId(e); + })), i.id = o, i.canUpdate = i.updater && i.updater.canUpdate, delete i.type, delete i.updater, this.emit("mount", i); + } + }, { + key: "onUpdated", + value: function value(e, t) { + var n = this, + r = this.getId(e); + this.elementData.set(r, t); + var o = c({}, t); + o.children && o.children.map && (o.children = o.children.map(function (e) { + return n.getId(e); + })), o.id = r, o.canUpdate = o.updater && o.updater.canUpdate, delete o.type, delete o.updater, this.emit("update", o); + } + }, { + key: "onUpdatedProfileTimes", + value: function value(e, t) { + var n = this, + r = this.getId(e); + this.elementData.set(r, t); + var o = c({}, t); + o.children && o.children.map && (o.children = o.children.map(function (e) { + return n.getId(e); + })), o.id = r, o.canUpdate = o.updater && o.updater.canUpdate, delete o.type, delete o.updater, this.emit("updateProfileTimes", o); + } + }, { + key: "onUnmounted", + value: function value(e) { + var t = this.getId(e); + this.elementData.delete(t), this.roots.has(t) && (this.roots.delete(t), this.emit("rootUnmounted", t)), this.renderers.delete(t), this.emit("unmount", t), this.idsByInternalInstances.delete(e); + } + }, { + key: "_onScroll", + value: function value() { + this._scrollUpdate || (this._scrollUpdate = !0, window.requestAnimationFrame(this._updateScroll)); + } + }, { + key: "_updateScroll", + value: function value() { + this.emit("refreshMultiOverlay"), this.emit("stopInspecting"), this._scrollUpdate = !1; + } + }, { + key: "_onClick", + value: function value(e) { + if (this._inspectEnabled) { + var t = this.getIDForNode(e.target); + t && (e.stopPropagation(), e.preventDefault(), this.emit("setSelection", { + id: t + }), this.emit("setInspectEnabled", !1)); + } + } + }, { + key: "_onMouseOver", + value: function value(e) { + if (this._inspectEnabled) { + var t = this.getIDForNode(e.target); + if (!t) return; + this.highlight(t); + } + } + }, { + key: "_onResize", + value: function value(e) { + this.emit("stopInspecting"); + } + }]) && o(n.prototype, d), h && o(n, h), t; + }(); + + e.exports = d; + }, function (e, t) { + function n(e) { + return (n = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + function r() { + this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0; + } + + function o(e) { + return "function" == typeof e; + } + + function i(e) { + return "object" === n(e) && null !== e; + } + + function a(e) { + return void 0 === e; + } + + e.exports = r, r.EventEmitter = r, r.prototype._events = void 0, r.prototype._maxListeners = void 0, r.defaultMaxListeners = 10, r.prototype.setMaxListeners = function (e) { + if ("number" != typeof e || e < 0 || isNaN(e)) throw TypeError("n must be a positive number"); + return this._maxListeners = e, this; + }, r.prototype.emit = function (e) { + var t, n, r, s, u, c; + + if (this._events || (this._events = {}), "error" === e && (!this._events.error || i(this._events.error) && !this._events.error.length)) { + if ((t = arguments[1]) instanceof Error) throw t; + var l = new Error('Uncaught, unspecified "error" event. (' + t + ")"); + throw l.context = t, l; + } + + if (a(n = this._events[e])) return !1; + if (o(n)) switch (arguments.length) { + case 1: + n.call(this); + break; + + case 2: + n.call(this, arguments[1]); + break; + + case 3: + n.call(this, arguments[1], arguments[2]); + break; + + default: + s = Array.prototype.slice.call(arguments, 1), n.apply(this, s); + } else if (i(n)) for (s = Array.prototype.slice.call(arguments, 1), r = (c = n.slice()).length, u = 0; u < r; u++) { + c[u].apply(this, s); + } + return !0; + }, r.prototype.addListener = function (e, t) { + var n; + if (!o(t)) throw TypeError("listener must be a function"); + return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, o(t.listener) ? t.listener : t), this._events[e] ? i(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t, i(this._events[e]) && !this._events[e].warned && (n = a(this._maxListeners) ? r.defaultMaxListeners : this._maxListeners) && n > 0 && this._events[e].length > n && (this._events[e].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[e].length), "function" == typeof console.trace && console.trace()), this; + }, r.prototype.on = r.prototype.addListener, r.prototype.once = function (e, t) { + if (!o(t)) throw TypeError("listener must be a function"); + var n = !1; + + function r() { + this.removeListener(e, r), n || (n = !0, t.apply(this, arguments)); + } + + return r.listener = t, this.on(e, r), this; + }, r.prototype.removeListener = function (e, t) { + var n, r, a, s; + if (!o(t)) throw TypeError("listener must be a function"); + if (!this._events || !this._events[e]) return this; + if (a = (n = this._events[e]).length, r = -1, n === t || o(n.listener) && n.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t);else if (i(n)) { + for (s = a; s-- > 0;) { + if (n[s] === t || n[s].listener && n[s].listener === t) { + r = s; + break; + } + } + + if (r < 0) return this; + 1 === n.length ? (n.length = 0, delete this._events[e]) : n.splice(r, 1), this._events.removeListener && this.emit("removeListener", e, t); + } + return this; + }, r.prototype.removeAllListeners = function (e) { + var t, n; + if (!this._events) return this; + if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this; + + if (0 === arguments.length) { + for (t in this._events) { + "removeListener" !== t && this.removeAllListeners(t); + } + + return this.removeAllListeners("removeListener"), this._events = {}, this; + } + + if (o(n = this._events[e])) this.removeListener(e, n);else if (n) for (; n.length;) { + this.removeListener(e, n[n.length - 1]); + } + return delete this._events[e], this; + }, r.prototype.listeners = function (e) { + return this._events && this._events[e] ? o(this._events[e]) ? [this._events[e]] : this._events[e].slice() : []; + }, r.prototype.listenerCount = function (e) { + if (this._events) { + var t = this._events[e]; + if (o(t)) return 1; + if (t) return t.length; + } + + return 0; + }, r.listenerCount = function (e, t) { + return e.listenerCount(t); + }; + }, function (e, t, n) { + "use strict"; + + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.default = function (e) { + if (null != e) return e; + throw new Error("Got unexpected null or undefined"); + }; + }, function (e, t, n) { + "use strict"; + + e.exports = function () { + return "g" + Math.random().toString(16).substr(2); + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) { + n[t] = e[t]; + } + + return n; + } + }(e) || function (e) { + if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e); + }(e) || function () { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + }(); + } + + function o(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; + } + + function i(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + var a = n(4), + s = n(32), + u = n(33), + c = n(3), + l = n(34); + + function f(e, t) { + return -1 === String(window[e]).indexOf("[native code]") ? t : window[e]; + } + + var p = 5, + d = f("cancelIdleCallback", clearTimeout), + h = f("requestIdleCallback", function (e, t) { + var n = 3e3 * p; + return n > 500 && (n = 500), setTimeout(function () { + var t = l(); + e({ + didTimeout: !1, + timeRemaining: function timeRemaining() { + return 1 / 0; + } + }); + var n = l(); + p = (n - t) / 1e3; + }, n); + }), + m = function () { + function e(t) { + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, e), this._cbs = new Map(), this._inspectables = new Map(), this._cid = 0, this._listeners = {}, this._buffer = [], this._flushHandle = null, this._callers = {}, this._paused = !1, this._wall = t, t.listen(this._handleMessage.bind(this)); + } + + var t, n, l; + return t = e, (n = [{ + key: "inspect", + value: function value(e, t, n) { + var r = this._cid++; + this._cbs.set(r, function (e, t, r, o) { + t.length && s(e, t), r && o.length && s(r, o), r && (e[a.proto] = r), n(e); + }), this._wall.send({ + type: "inspect", + callback: r, + path: t, + id: e + }); + } + }, { + key: "call", + value: function value(e, t, n) { + var r = this._cid++; + this._cbs.set(r, n), this._wall.send({ + type: "call", + callback: r, + args: t, + name: e + }); + } + }, { + key: "onCall", + value: function value(e, t) { + if (this._callers[e]) throw new Error("only one call handler per call name allowed"); + this._callers[e] = t; + } + }, { + key: "pause", + value: function value() { + this._wall.send({ + type: "pause" + }); + } + }, { + key: "resume", + value: function value() { + this._wall.send({ + type: "resume" + }); + } + }, { + key: "setInspectable", + value: function value(e, t) { + var n = this._inspectables.get(e); + + n ? this._inspectables.set(e, function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}, + r = Object.keys(n); + "function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function (e) { + return Object.getOwnPropertyDescriptor(n, e).enumerable; + }))), r.forEach(function (t) { + o(e, t, n[t]); + }); + } + + return e; + }({}, n, t)) : this._inspectables.set(e, t); + } + }, { + key: "send", + value: function value(e, t) { + this._buffer.push({ + evt: e, + data: t + }), this.scheduleFlush(); + } + }, { + key: "scheduleFlush", + value: function value() { + if (!this._flushHandle && this._buffer.length) { + var e = this._paused ? 5e3 : 500; + this._flushHandle = h(this.flushBufferWhileIdle.bind(this), { + timeout: e + }); + } + } + }, { + key: "cancelFlush", + value: function value() { + this._flushHandle && (d(this._flushHandle), this._flushHandle = null); + } + }, { + key: "flushBufferWhileIdle", + value: function value(e) { + this._flushHandle = null; + + for (var t = this._paused ? 20 : 10, n = Math.round(this._buffer.length / t), r = this._paused ? 50 : 100; this._buffer.length && (e.timeRemaining() > 0 || e.didTimeout);) { + var o = Math.min(this._buffer.length, Math.max(r, n)), + i = this._buffer.splice(0, o); + + this.flushBufferSlice(i); + } + + this._buffer.length && this.scheduleFlush(); + } + }, { + key: "flushBufferSlice", + value: function value(e) { + var t = this, + n = e.map(function (e) { + var n = e.evt, + r = e.data, + o = [], + i = u(r, o); + return o.length && t.setInspectable(r.id, r), { + type: "event", + evt: n, + data: i, + cleaned: o + }; + }); + + this._wall.send({ + type: "many-events", + events: n + }); + } + }, { + key: "forget", + value: function value(e) { + this._inspectables.delete(e); + } + }, { + key: "on", + value: function value(e, t) { + this._listeners[e] ? this._listeners[e].push(t) : this._listeners[e] = [t]; + } + }, { + key: "off", + value: function value(e, t) { + if (this._listeners[e]) { + var n = this._listeners[e].indexOf(t); + + -1 !== n && this._listeners[e].splice(n, 1); + } + } + }, { + key: "once", + value: function value(e, t) { + var n = this; + this.on(e, function r() { + t.apply(this, arguments), n.off(e, r); + }); + } + }, { + key: "_handleMessage", + value: function value(e) { + var t = this; + if ("resume" === e.type) return this._paused = !1, void this.scheduleFlush(); + if ("pause" === e.type) return this._paused = !0, void this.cancelFlush(); + if ("callback" !== e.type) { + if ("call" !== e.type) { + if ("inspect" !== e.type) { + if ("event" === e.type) { + e.cleaned && s(e.data, e.cleaned); + var n = this._listeners[e.evt], + o = e.data; + n && n.forEach(function (e) { + return e(o); + }); + } + + "many-events" === e.type && e.events.forEach(function (e) { + e.cleaned && s(e.data, e.cleaned); + var n = t._listeners[e.evt]; + n && n.forEach(function (t) { + return t(e.data); + }); + }); + } else this._inspectResponse(e.id, e.path, e.callback); + } else this._handleCall(e.name, e.args, e.callback); + } else { + var i = this._cbs.get(e.id); + + i && (i.apply(void 0, r(e.args)), this._cbs.delete(e.id)); + } + } + }, { + key: "_handleCall", + value: function value(e, t, n) { + if (this._callers[e]) { + var r; + t = Array.isArray(t) ? t : [t]; + + try { + r = this._callers[e].apply(null, t); + } catch (e) { + return void console.error("Failed to call", e); + } + + this._wall.send({ + type: "callback", + id: n, + args: [r] + }); + } else console.warn('unknown call: "' + e + '"'); + } + }, { + key: "_inspectResponse", + value: function value(e, t, n) { + var r = this._inspectables.get(e), + o = {}, + i = [], + a = null, + s = []; + + if (r) { + var l = c(r, t), + f = !1, + p = "function" == typeof l; + + if (l && "function" == typeof l[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]) { + var d = Object.create({}), + h = 0, + m = !0, + y = !1, + v = void 0; + + try { + for (var g, b = l[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](); !(m = (g = b.next()).done); m = !0) { + var _ = g.value; + if (h > 100) break; + d[h] = _, h++; + } + } catch (e) { + y = !0, v = e; + } finally { + try { + m || null == b.return || b.return(); + } finally { + if (y) throw v; + } + } + + l = d; + } + + if (Object.getOwnPropertyNames(l).forEach(function (e) { + "__proto__" === e && (f = !0), (!p || "arguments" !== e && "callee" !== e && "caller" !== e) && (o[e] = u(l[e], i, [e])); + }), !f && l.__proto__ && "Object" !== l.constructor.name) { + var w = {}, + S = "function" == typeof l.__proto__; + Object.getOwnPropertyNames(l.__proto__).forEach(function (e) { + (!S || "arguments" !== e && "callee" !== e && "caller" !== e) && (w[e] = u(l.__proto__[e], s, [e])); + }), a = w; + } + } + + this._wall.send({ + type: "callback", + id: n, + args: [o, i, a, s] + }); + } + }]) && i(t.prototype, n), l && i(t, l), e; + }(); + + e.exports = m; + }, function (e, t, n) { + "use strict"; + + e.exports = n(15)() ? Symbol : n(16); + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + e.exports = function () { + var e; + if ("function" != typeof Symbol) return !1; + e = Symbol("test symbol"); + + try { + String(e); + } catch (e) { + return !1; + } + + return "symbol" === r(typeof Symbol === "function" ? Symbol.iterator : "@@iterator") || "object" === r(typeof Symbol === "function" ? Symbol.isConcatSpreadable : "@@isConcatSpreadable") && "object" === r(typeof Symbol === "function" ? Symbol.iterator : "@@iterator") && "object" === r(typeof Symbol === "function" ? Symbol.toPrimitive : "@@toPrimitive") && "object" === r(typeof Symbol === "function" ? Symbol.toStringTag : "@@toStringTag") && "object" === r(typeof Symbol === "function" ? Symbol.unscopables : "@@unscopables"); + }; + }, function (e, t, n) { + "use strict"; + + var r, + o, + _i, + a = n(17), + s = n(30), + u = Object.create, + c = Object.defineProperties, + l = Object.defineProperty, + f = Object.prototype, + p = u(null); + + "function" == typeof Symbol && (r = Symbol); + var d, + h = (d = u(null), function (e) { + for (var t, n, r = 0; d[e + (r || "")];) { + ++r; + } + + return d[e += r || ""] = !0, l(f, t = "@@" + e, a.gs(null, function (e) { + n || (n = !0, l(this, t, a(e)), n = !1); + })), t; + }); + _i = function i(e) { + if (this instanceof _i) throw new TypeError("TypeError: Symbol is not a constructor"); + return o(e); + }, e.exports = o = function e(t) { + var n; + if (this instanceof e) throw new TypeError("TypeError: Symbol is not a constructor"); + return n = u(_i.prototype), t = void 0 === t ? "" : String(t), c(n, { + __description__: a("", t), + __name__: a("", h(t)) + }); + }, c(o, { + for: a(function (e) { + return p[e] ? p[e] : p[e] = o(String(e)); + }), + keyFor: a(function (e) { + var t; + + for (t in s(e), p) { + if (p[t] === e) return t; + } + }), + hasInstance: a("", r && r.hasInstance || o("hasInstance")), + isConcatSpreadable: a("", r && r.isConcatSpreadable || o("isConcatSpreadable")), + iterator: a("", r && r.iterator || o("iterator")), + match: a("", r && r.match || o("match")), + replace: a("", r && r.replace || o("replace")), + search: a("", r && r.search || o("search")), + species: a("", r && r.species || o("species")), + split: a("", r && r.split || o("split")), + toPrimitive: a("", r && r.toPrimitive || o("toPrimitive")), + toStringTag: a("", r && r.toStringTag || o("toStringTag")), + unscopables: a("", r && r.unscopables || o("unscopables")) + }), c(_i.prototype, { + constructor: a(o), + toString: a("", function () { + return this.__name__; + }) + }), c(o.prototype, { + toString: a(function () { + return "Symbol (" + s(this).__description__ + ")"; + }), + valueOf: a(function () { + return s(this); + }) + }), l(o.prototype, o.toPrimitive, a("", function () { + return s(this); + })), l(o.prototype, o.toStringTag, a("c", "Symbol")), l(_i.prototype, o.toStringTag, a("c", o.prototype[o.toStringTag])), l(_i.prototype, o.toPrimitive, a("c", o.prototype[o.toPrimitive])); + }, function (e, t, n) { + "use strict"; + + var r = n(18), + o = n(25), + i = n(26), + a = n(27); + + (e.exports = function (e, t) { + var n, i, s, u, c; + return arguments.length < 2 || "string" != typeof e ? (u = t, t = e, e = null) : u = arguments[2], null == e ? (n = s = !0, i = !1) : (n = a.call(e, "c"), i = a.call(e, "e"), s = a.call(e, "w")), c = { + value: t, + configurable: n, + enumerable: i, + writable: s + }, u ? r(o(u), c) : c; + }).gs = function (e, t, n) { + var s, u, c, l; + return "string" != typeof e ? (c = n, n = t, t = e, e = null) : c = arguments[3], null == t ? t = void 0 : i(t) ? null == n ? n = void 0 : i(n) || (c = n, n = void 0) : (c = t, t = n = void 0), null == e ? (s = !0, u = !1) : (s = a.call(e, "c"), u = a.call(e, "e")), l = { + get: t, + set: n, + configurable: s, + enumerable: u + }, c ? r(o(c), l) : l; + }; + }, function (e, t, n) { + "use strict"; + + e.exports = n(19)() ? Object.assign : n(20); + }, function (e, t, n) { + "use strict"; + + e.exports = function () { + var e, + t = Object.assign; + return "function" == typeof t && (t(e = { + foo: "raz" + }, { + bar: "dwa" + }, { + trzy: "trzy" + }), e.foo + e.bar + e.trzy === "razdwatrzy"); + }; + }, function (e, t, n) { + "use strict"; + + var r = n(21), + o = n(24), + i = Math.max; + + e.exports = function (e, t) { + var n, + a, + s, + u = i(arguments.length, 2); + + for (e = Object(o(e)), s = function s(r) { + try { + e[r] = t[r]; + } catch (e) { + n || (n = e); + } + }, a = 1; a < u; ++a) { + t = arguments[a], r(t).forEach(s); + } + + if (void 0 !== n) throw n; + return e; + }; + }, function (e, t, n) { + "use strict"; + + e.exports = n(22)() ? Object.keys : n(23); + }, function (e, t, n) { + "use strict"; + + e.exports = function () { + try { + return Object.keys("primitive"), !0; + } catch (e) { + return !1; + } + }; + }, function (e, t, n) { + "use strict"; + + var r = Object.keys; + + e.exports = function (e) { + return r(null == e ? e : Object(e)); + }; + }, function (e, t, n) { + "use strict"; + + e.exports = function (e) { + if (null == e) throw new TypeError("Cannot use null or undefined"); + return e; + }; + }, function (e, t, n) { + "use strict"; + + var r = Array.prototype.forEach, + o = Object.create; + + e.exports = function (e) { + var t = o(null); + return r.call(arguments, function (e) { + null != e && function (e, t) { + var n; + + for (n in e) { + t[n] = e[n]; + } + }(Object(e), t); + }), t; + }; + }, function (e, t, n) { + "use strict"; + + e.exports = function (e) { + return "function" == typeof e; + }; + }, function (e, t, n) { + "use strict"; + + e.exports = n(28)() ? String.prototype.contains : n(29); + }, function (e, t, n) { + "use strict"; + + var r = "razdwatrzy"; + + e.exports = function () { + return "function" == typeof r.contains && !0 === r.contains("dwa") && !1 === r.contains("foo"); + }; + }, function (e, t, n) { + "use strict"; + + var r = String.prototype.indexOf; + + e.exports = function (e) { + return r.call(this, e, arguments[1]) > -1; + }; + }, function (e, t, n) { + "use strict"; + + var r = n(31); + + e.exports = function (e) { + if (!r(e)) throw new TypeError(e + " is not a symbol"); + return e; + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + e.exports = function (e) { + return e && ("symbol" === r(e) || "Symbol" === e["@@toStringTag"]) || !1; + }; + }, function (e, t, n) { + "use strict"; + + var r = n(4); + + e.exports = function (e, t) { + t.forEach(function (t) { + var n = t.pop(), + o = t.reduce(function (e, t) { + return e ? e[t] : null; + }, e); + + if (o && o[n]) { + var i = {}; + i[r.name] = o[n].name, i[r.type] = o[n].type, i[r.meta] = o[n].meta, i[r.inspected] = !1, o[n] = i; + } + }); + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var o = 2; + + function i(e, t, n, r) { + var o = {}; + return "array" !== e && "typed_array" !== e || (o.length = t.length), "iterator" !== e && "typed_array" !== e || (o.readOnly = !0), n.push(r), { + type: e, + meta: o, + name: t.constructor && "Object" !== t.constructor.name ? t.constructor.name : "" + }; + } + + e.exports = function e(t, n) { + var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], + s = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, + u = function (e) { + if (!e) return null; + var t = r(e); + + if ("object" === t) { + if (e._reactFragment) return "react_fragment"; + if (Array.isArray(e)) return "array"; + if (ArrayBuffer.isView(e)) return e instanceof DataView ? "data_view" : "typed_array"; + if (e instanceof ArrayBuffer) return "array_buffer"; + if ("function" == typeof e[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]) return "iterator"; + if ("[object Date]" === Object.prototype.toString.call(e)) return "date"; + } + + return t; + }(t); + + switch (u) { + case "function": + return n.push(a), { + name: t.name, + type: "function" + }; + + case "string": + return t.length <= 500 ? t : t.slice(0, 500) + "..."; + + case "symbol": + return n.push(a), { + type: "symbol", + name: t.toString() + }; + + case "react_fragment": + return "A React Fragment"; + + case "array_buffer": + case "data_view": + return n.push(a), { + type: u, + name: "data_view" === u ? "DataView" : "ArrayBuffer", + meta: { + length: t.byteLength, + uninspectable: !0 + } + }; + + case "array": + return s > o ? i(u, t, n, a) : t.map(function (t, r) { + return e(t, n, a.concat([r]), s + 1); + }); + + case "typed_array": + case "iterator": + return i(u, t, n, a); + + case "date": + return n.push(a), { + name: t.toString(), + type: "date", + meta: { + uninspectable: !0 + } + }; + + case "object": + if (s > o || t.constructor && "function" == typeof t.constructor && "Object" !== t.constructor.name) return i(u, t, n, a); + var c = {}; + + for (var l in t) { + c[l] = e(t[l], n, a.concat([l]), s + 1); + } + + return c; + + default: + return t; + } + }; + }, function (e, t, n) { + "use strict"; + + var r, + o = n(35); + r = o.now ? function () { + return o.now(); + } : function () { + return Date.now(); + }, e.exports = r; + }, function (e, t, n) { + "use strict"; + + var r; + n(36).canUseDOM && (r = window.performance || window.msPerformance || window.webkitPerformance), e.exports = r || {}; + }, function (e, t, n) { + "use strict"; + + var r = !("undefined" == typeof window || !window.document || !window.document.createElement), + o = { + canUseDOM: r, + canUseWorkers: "undefined" != typeof Worker, + canUseEventListeners: r && !(!window.addEventListener && !window.attachEvent), + canUseViewport: r && !!window.screen, + isInWorker: !r + }; + e.exports = o; + }, function (e, t, n) { + "use strict"; + + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + function o(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; + } + + function i(e) { + return (i = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var a = "object" === ("undefined" == typeof performance ? "undefined" : i(performance)) && "function" == typeof performance.now ? function () { + return performance.now(); + } : function () { + return Date.now(); + }, + s = function () { + function e(t) { + var n = this; + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, e), o(this, "_committedNodes", new Set()), o(this, "_isRecording", !1), o(this, "_maxActualDuration", 0), o(this, "_recordingStartTime", 0), o(this, "_onIsRecording", function (e) { + n._committedNodes = new Set(), n._isRecording = e, n._recordingStartTime = e ? a() : 0, e && n._agent.emit("clearSnapshots"); + }), o(this, "_onMountOrUpdate", function (e) { + n._isRecording && void 0 !== e.actualDuration && (n._committedNodes.add(e.id), n._maxActualDuration = Math.max(n._maxActualDuration, e.actualDuration)); + }), o(this, "_onRootCommitted", function (e, t, r) { + n._isRecording && (n._takeCommitSnapshotForRoot(e, r), n._committedNodes = new Set(), n._maxActualDuration = 0); + }), o(this, "_onUnmount", function (e) { + n._committedNodes.delete(e); + }), this._agent = t, t.on("isRecording", this._onIsRecording), t.on("mount", this._onMountOrUpdate), t.on("rootCommitted", this._onRootCommitted), t.on("unmount", this._onUnmount), t.on("update", this._onMountOrUpdate); + } + + var t, n, i; + return t = e, (n = [{ + key: "_takeCommitSnapshotForRoot", + value: function value(e, t) { + var n = this, + r = { + memoizedInteractions: (null != t.memoizedInteractions ? Array.from(t.memoizedInteractions) : []).map(function (e) { + return { + name: e.name, + timestamp: e.timestamp - n._recordingStartTime + }; + }), + committedNodes: Array.from(this._committedNodes), + commitTime: a() - this._recordingStartTime, + duration: this._maxActualDuration, + root: e + }; + + this._agent.emit("storeSnapshot", r); + } + }]) && r(t.prototype, n), i && r(t, i), e; + }(); + + e.exports = { + init: function init(e) { + return new s(e); + } + }; + }, function (e, t, n) { + "use strict"; + + e.exports = function (e) { + if (!e.__REACT_DEVTOOLS_GLOBAL_HOOK__) { + var t = !1, + n = { + _renderers: {}, + helpers: {}, + checkDCE: function checkDCE(e) { + try { + Function.prototype.toString.call(e).indexOf("^_^") > -1 && (t = !0, setTimeout(function () { + throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://fb.me/react-perf-use-the-production-build"); + })); + } catch (e) {} + }, + inject: function inject(e) { + var r = Math.random().toString(16).slice(2); + n._renderers[r] = e; + var o = t ? "deadcode" : function (e) { + try { + if ("string" == typeof e.version) return e.bundleType > 0 ? "development" : "production"; + var t = Function.prototype.toString; + + if (e.Mount && e.Mount._renderNewRootComponent) { + var n = t.call(e.Mount._renderNewRootComponent); + return 0 !== n.indexOf("function") ? "production" : -1 !== n.indexOf("storedMeasure") ? "development" : -1 !== n.indexOf("should be a pure function") ? -1 !== n.indexOf("NODE_ENV") ? "development" : -1 !== n.indexOf("development") ? "development" : -1 !== n.indexOf("true") ? "development" : -1 !== n.indexOf("nextElement") || -1 !== n.indexOf("nextComponent") ? "unminified" : "development" : -1 !== n.indexOf("nextElement") || -1 !== n.indexOf("nextComponent") ? "unminified" : "outdated"; + } + } catch (e) {} + + return "production"; + }(e); + return n.emit("renderer", { + id: r, + renderer: e, + reactBuildType: o + }), r; + }, + _listeners: {}, + sub: function sub(e, t) { + return n.on(e, t), function () { + return n.off(e, t); + }; + }, + on: function on(e, t) { + n._listeners[e] || (n._listeners[e] = []), n._listeners[e].push(t); + }, + off: function off(e, t) { + if (n._listeners[e]) { + var r = n._listeners[e].indexOf(t); + + -1 !== r && n._listeners[e].splice(r, 1), n._listeners[e].length || (n._listeners[e] = null); + } + }, + emit: function emit(e, t) { + n._listeners[e] && n._listeners[e].map(function (e) { + return e(t); + }); + }, + supportsFiber: !0, + _fiberRoots: {}, + getFiberRoots: function getFiberRoots(e) { + var t = n._fiberRoots; + return t[e] || (t[e] = new Set()), t[e]; + }, + onCommitFiberUnmount: function onCommitFiberUnmount(e, t) { + n.helpers[e] && n.helpers[e].handleCommitFiberUnmount(t); + }, + onCommitFiberRoot: function onCommitFiberRoot(e, t) { + var r = n.getFiberRoots(e), + o = t.current, + i = r.has(t), + a = null == o.memoizedState || null == o.memoizedState.element; + i || a ? i && a && r.delete(t) : r.add(t), n.helpers[e] && n.helpers[e].handleCommitFiberRoot(t); + } + }; + Object.defineProperty(e, "__REACT_DEVTOOLS_GLOBAL_HOOK__", { + value: n + }); + } + }; + }, function (e, t, n) { + "use strict"; + + var r = n(40); + + e.exports = function (e, t) { + var n = [e.sub("renderer-attached", function (e) { + var n = e.id, + r = (e.renderer, e.helpers); + t.setReactInternals(n, r), r.walkTree(t.onMounted.bind(t, n), t.addRoot.bind(t, n)); + }), e.sub("mount", function (e) { + var n = e.renderer, + r = e.internalInstance, + o = e.data; + return t.onMounted(n, r, o); + }), e.sub("unmount", function (e) { + e.renderer; + var n = e.internalInstance; + return t.onUnmounted(n); + }), e.sub("update", function (e) { + e.renderer; + var n = e.internalInstance, + r = e.data; + return t.onUpdated(n, r); + }), e.sub("root", function (e) { + var n = e.renderer, + r = e.internalInstance; + return t.addRoot(n, r); + }), e.sub("rootCommitted", function (e) { + var n = e.renderer, + r = e.internalInstance, + o = e.data; + return t.rootCommitted(n, r, o); + }), e.sub("updateProfileTimes", function (e) { + e.renderer; + var n = e.internalInstance, + r = e.data; + return t.onUpdatedProfileTimes(n, r); + })]; + r(e) && (e.emit("react-devtools", t), e.reactDevtoolsAgent = t, t.on("shutdown", function () { + n.forEach(function (e) { + return e(); + }), e.reactDevtoolsAgent = null; + })); + }; + }, function (e, t, n) { + "use strict"; + + var r = n(41); + + e.exports = function (e) { + var t = window.React && window.React.__internals; + + for (var n in t && 0 === Object.keys(e._renderers).length && e.inject(t), e._renderers) { + e.helpers[n] = r(e, n, e._renderers[n]), e.emit("renderer-attached", { + id: n, + renderer: e._renderers[n], + helpers: e.helpers[n] + }); + } + + e.on("renderer", function (t) { + var n = t.id, + o = t.renderer; + e.helpers[n] = r(e, n, o), e.emit("renderer-attached", { + id: n, + renderer: o, + helpers: e.helpers[n] + }); + }); + return e.on("shutdown", function t() { + for (var n in e.helpers) { + e.helpers[n].cleanup(); + } + + e.off("shutdown", t); + }), !0; + }; + }, function (e, t, n) { + "use strict"; + + var r = n(42), + o = n(45), + i = n(46); + + function a(e, t, n) { + var i = n ? o(e) : r(e); + i.children && Array.isArray(i.children) && i.children.forEach(function (e) { + return a(e, t, n); + }), t(e, i); + } + + function s(e, t, n) { + var r = e[t]; + return e[t] = function (e) { + var t = r.apply(this, arguments); + return n(t), t; + }, r; + } + + function u(e, t, n) { + var r = e[t]; + return e[t] = function (e) { + var t = r.apply(this, arguments); + return n.apply(this, arguments), t; + }, r; + } + + function c(e, t) { + var n = {}; + + for (var r in t) { + n[r] = u(e, r, t[r]); + } + + return n; + } + + function l(e, t) { + for (var n in t) { + e[n] = t[n]; + } + } + + e.exports = function (e, t, n) { + var u, + f, + p, + d = new Map(), + h = {}, + m = !n.Reconciler; + return "function" == typeof n.findFiberByHostInstance ? i(e, t, n) : (n.Mount.findNodeHandle && n.Mount.nativeTagToRootNodeID ? (h.getNativeFromReactElement = function (e) { + return n.Mount.findNodeHandle(e); + }, h.getReactElementFromNative = function (e) { + var t = n.Mount.nativeTagToRootNodeID(e); + return d.get(t); + }) : n.ComponentTree ? (h.getNativeFromReactElement = function (e) { + return n.ComponentTree.getNodeFromInstance(e); + }, h.getReactElementFromNative = function (e) { + return n.ComponentTree.getClosestInstanceFromNode(e); + }) : n.Mount.getID && n.Mount.getNode ? (h.getNativeFromReactElement = function (e) { + try { + return n.Mount.getNode(e._rootNodeID); + } catch (e) { + return; + } + }, h.getReactElementFromNative = function (e) { + for (var t = n.Mount.getID(e); e && e.parentNode && !t;) { + e = e.parentNode, t = n.Mount.getID(e); + } + + return d.get(t); + }) : console.warn("Unknown react version (does not have getID), probably an unshimmed React Native"), n.Mount._renderNewRootComponent ? p = s(n.Mount, "_renderNewRootComponent", function (n) { + e.emit("root", { + renderer: t, + internalInstance: n + }); + }) : n.Mount.renderComponent && (f = s(n.Mount, "renderComponent", function (n) { + e.emit("root", { + renderer: t, + internalInstance: n._reactInternalInstance + }); + })), n.Component ? (console.error("You are using a version of React with limited support in this version of the devtools.\nPlease upgrade to use at least 0.13, or you can downgrade to use the old version of the devtools:\ninstructions here https://github.com/facebook/react-devtools/tree/devtools-next#how-do-i-use-this-for-react--013"), u = c(n.Component.Mixin, { + mountComponent: function mountComponent() { + var n = this; + d.set(this._rootNodeID, this), setTimeout(function () { + e.emit("mount", { + internalInstance: n, + data: o(n), + renderer: t + }); + }, 0); + }, + updateComponent: function updateComponent() { + var n = this; + setTimeout(function () { + e.emit("update", { + internalInstance: n, + data: o(n), + renderer: t + }); + }, 0); + }, + unmountComponent: function unmountComponent() { + e.emit("unmount", { + internalInstance: this, + renderer: t + }), d.delete(this._rootNodeID); + } + })) : n.Reconciler && (u = c(n.Reconciler, { + mountComponent: function mountComponent(n, o, i, a) { + var s = r(n); + d.set(n._rootNodeID, n), e.emit("mount", { + internalInstance: n, + data: s, + renderer: t + }); + }, + performUpdateIfNecessary: function performUpdateIfNecessary(n, o, i, a) { + e.emit("update", { + internalInstance: n, + data: r(n), + renderer: t + }); + }, + receiveComponent: function receiveComponent(n, o, i, a) { + e.emit("update", { + internalInstance: n, + data: r(n), + renderer: t + }); + }, + unmountComponent: function unmountComponent(n) { + e.emit("unmount", { + internalInstance: n, + renderer: t + }), d.delete(n._rootNodeID); + } + })), h.walkTree = function (e, t) { + !function (e, t, n, r) { + for (var o in e) { + a(e[o], t, r), n(e[o]); + } + }(n.Mount._instancesByReactRootID || n.Mount._instancesByContainerID, function (t, n) { + d.set(t._rootNodeID, t), e(t, n); + }, t, m); + }, h.cleanup = function () { + u && (n.Component ? l(n.Component.Mixin, u) : l(n.Reconciler, u)), p && (n.Mount._renderNewRootComponent = p), f && (n.Mount.renderComponent = f), u = null, p = null, f = null; + }, h.renderer = null, h); + }; + }, function (e, t, n) { + "use strict"; + + function r(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; + } + + function o(e) { + return (o = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var i = n(2), + a = n(5), + s = n(43); + + function u(e, t, n) { + var r = t.pop(), + o = t.reduce(function (e, t) { + return e ? e[t] : null; + }, e); + o && (o[r] = n); + } + + function c(e) { + var t = []; + + for (var n in e) { + t.push(e[n]); + } + + return t; + } + + e.exports = function (e) { + var t = null, + n = null, + l = null, + f = null, + p = null, + d = null, + h = null, + m = null, + y = null, + v = null, + g = null, + b = null, + _ = "Native"; + if ("object" !== o(e)) _ = "Text", g = e + "";else if (null === e._currentElement || !1 === e._currentElement) _ = "Empty";else if (e._renderedComponent) _ = "NativeWrapper", t = [e._renderedComponent], n = e._instance.props, l = e._instance.state, (f = e._instance.context) && 0 === Object.keys(f).length && (f = null);else if (e._renderedChildren) t = c(e._renderedChildren);else if (e._currentElement && e._currentElement.props) { + var w = e._currentElement.props.children, + S = []; + s(w, "", function (e, t) { + var n = o(t); + "string" !== n && "number" !== n || S.push(t); + }), t = S.length <= 1 ? S.length ? String(S[0]) : void 0 : S; + } + + if (!n && e._currentElement && e._currentElement.props && (n = e._currentElement.props), null != e._currentElement && (h = e._currentElement.type, e._currentElement.key && (m = String(e._currentElement.key)), v = e._currentElement._source, y = e._currentElement.ref, "string" == typeof h ? (d = h, null != e._nativeNode && (b = e._nativeNode), null != e._hostNode && (b = e._hostNode)) : "function" == typeof h ? (_ = "Composite", d = a(h), e._renderedComponent && (e._currentElement.props === e._renderedComponent._currentElement || e._currentElement.type.isReactTopLevelWrapper) && (_ = "Wrapper"), null === d && (d = "No display name")) : "string" == typeof e._stringText ? (_ = "Text", g = e._stringText) : d = a(h)), e._instance) { + var E = e._instance, + O = E.forceUpdate || E.updater && E.updater.enqueueForceUpdate && function (e) { + E.updater.enqueueForceUpdate(this, e, "forceUpdate"); + }; + + p = { + canUpdate: !0, + setState: E.setState && E.setState.bind(E), + setInProps: O && function (e, t, n, o) { + var a = e._currentElement; + e._currentElement = function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}, + o = Object.keys(n); + "function" == typeof Object.getOwnPropertySymbols && (o = o.concat(Object.getOwnPropertySymbols(n).filter(function (e) { + return Object.getOwnPropertyDescriptor(n, e).enumerable; + }))), o.forEach(function (t) { + r(e, t, n[t]); + }); + } + + return e; + }({}, a, { + props: i(a.props, n, o) + }), t.call(e._instance); + }.bind(null, e, O), + setInState: E.forceUpdate && function (e, t, n) { + u(e.state, t, n), e.forceUpdate(); + }.bind(null, E), + setInContext: O && function (e, t, n, r) { + u(e.context, n, r), t.call(e); + }.bind(null, E, O) + }, "function" == typeof h && (b = E), E._renderedChildren && (t = c(E._renderedChildren)); + } + + return "function" == typeof e.setNativeProps && (p = { + setNativeProps: function setNativeProps(t) { + e.setNativeProps(t); + } + }), { + nodeType: _, + type: h, + key: m, + ref: y, + source: v, + name: d, + props: n, + state: l, + context: f, + children: t, + text: g, + updater: p, + publicInstance: b + }; + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var o = n(44), + i = ".", + a = ":", + s = "@@iterator", + u = "function" == typeof Symbol && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"), + c = "function" == typeof Symbol && (typeof Symbol === "function" ? Symbol.for : "@@for") && (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") || 60103; + + function l(e, t) { + return "object" === r(e) && null !== e && null != e.key ? (n = e.key, o = { + "=": "=0", + ":": "=2" + }, "$" + ("" + n).replace(/[=:]/g, function (e) { + return o[e]; + })) : t.toString(36); + var n, o; + } + + e.exports = function e(t, n, f, p) { + var d, + h = r(t); + if ("undefined" !== h && "boolean" !== h || (t = null), null === t || "string" === h || "number" === h || "object" === h && t.$$typeof === c) return f(p, t, "" === n ? i + l(t, 0) : n), 1; + var m = 0, + y = "" === n ? i : n + a; + if (Array.isArray(t)) for (var v = 0; v < t.length; v++) { + m += e(d = t[v], y + l(d, v), f, p); + } else { + var g = u && t[u] || t[s]; + if ("function" == typeof g) for (var b, _ = g.call(t), w = 0; !(b = _.next()).done;) { + m += e(d = b.value, y + l(d, w++), f, p); + } else if ("object" === h) { + var S = "" + t; + o(!1, "The React Devtools cannot render an object as a child. (found: %s).%s", "[object Object]" === S ? "object with keys {" + Object.keys(t).join(", ") + "}" : S, " If you meant to render a collection of children, use an array instead."); + } + } + return m; + }; + }, function (e, t, n) { + "use strict"; + + e.exports = function (e, t, n, r, o, i, a, s) { + if (!e) { + var u; + if (void 0 === t) u = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else { + var c = [n, r, o, i, a, s], + l = 0; + (u = new Error(t.replace(/%s/g, function () { + return c[l++]; + }))).name = "Invariant Violation"; + } + throw u.framesToPop = 1, u; + } + }; + }, function (e, t, n) { + "use strict"; + + var r = n(2); + + function o(e, t, n) { + var r = t.pop(), + o = t.reduce(function (e, t) { + return e ? e[t] : null; + }, e); + o && (o[r] = n); + } + + e.exports = function (e) { + var t = null, + n = e.props, + i = e.state, + a = e.context, + s = null, + u = null, + c = null, + l = null, + f = null, + p = null, + d = null, + h = "Native"; + return e._renderedComponent ? (h = "Wrapper", t = [e._renderedComponent], a && 0 === Object.keys(a).length && (a = null)) : e._renderedChildren ? (u = e.constructor.displayName, t = function (e) { + var t = []; + + for (var n in e) { + t.push(e[n]); + } + + return t; + }(e._renderedChildren)) : "string" == typeof n.children && (u = e.constructor.displayName, t = n.children, h = "Native"), !n && e._currentElement && e._currentElement.props && (n = e._currentElement.props), e._currentElement && (c = e._currentElement.type, e._currentElement.key && (l = String(e._currentElement.key)), f = e._currentElement.ref, "string" == typeof c ? u = c : (h = "Composite", (u = c.displayName) || (u = "No display name"))), u || (u = e.constructor.displayName || "No display name", h = "Composite"), "string" == typeof n && (h = "Text", p = n, n = null, u = null), e.forceUpdate && (s = { + canUpdate: !0, + setState: e.setState.bind(e), + setInProps: e.forceUpdate && function (e, t, n) { + e.props = r(e.props, t, n), e.forceUpdate(); + }.bind(null, e), + setInState: e.forceUpdate && function (e, t, n) { + o(e.state, t, n), e.forceUpdate(); + }.bind(null, e), + setInContext: e.forceUpdate && function (e, t, n) { + o(e.context, t, n), e.forceUpdate(); + }.bind(null, e) + }, d = e), { + nodeType: h, + type: c, + key: l, + ref: f, + source: null, + name: u, + props: n, + state: i, + context: a, + children: t, + text: p, + updater: s, + publicInstance: d + }; + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var o = n(47), + i = n(2), + a = n(5); + + e.exports = function (e, t, n) { + var s, + u = n.overrideProps, + c = (s = n.version, { + ReactTypeOfWork: o.gte(s, "16.6.0-beta.0") ? { + ClassComponent: 1, + ContextConsumer: 9, + ContextProvider: 10, + CoroutineComponent: -1, + CoroutineHandlerPhase: -1, + ForwardRef: 11, + Fragment: 7, + FunctionComponent: 0, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostText: 6, + IncompleteClassComponent: 17, + IndeterminateComponent: 2, + LazyComponent: 16, + MemoComponent: 14, + Mode: 8, + Profiler: 12, + SimpleMemoComponent: 15, + SuspenseComponent: 13, + YieldComponent: -1 + } : o.gte(s, "16.4.3-alpha") ? { + ClassComponent: 2, + ContextConsumer: 11, + ContextProvider: 12, + CoroutineComponent: -1, + CoroutineHandlerPhase: -1, + ForwardRef: 13, + Fragment: 9, + FunctionComponent: 0, + HostComponent: 7, + HostPortal: 6, + HostRoot: 5, + HostText: 8, + IncompleteClassComponent: -1, + IndeterminateComponent: 4, + LazyComponent: -1, + MemoComponent: -1, + Mode: 10, + Profiler: 15, + SimpleMemoComponent: -1, + SuspenseComponent: 16, + YieldComponent: -1 + } : { + ClassComponent: 2, + ContextConsumer: 12, + ContextProvider: 13, + CoroutineComponent: 7, + CoroutineHandlerPhase: 8, + ForwardRef: 14, + Fragment: 10, + FunctionComponent: 1, + HostComponent: 5, + HostPortal: 4, + HostRoot: 3, + HostText: 6, + IncompleteClassComponent: -1, + IndeterminateComponent: 0, + LazyComponent: -1, + MemoComponent: -1, + Mode: 11, + Profiler: 15, + SimpleMemoComponent: -1, + SuspenseComponent: 16, + YieldComponent: 9 + }, + ReactSymbols: { + CONCURRENT_MODE_NUMBER: 60111, + CONCURRENT_MODE_SYMBOL_STRING: "Symbol(react.concurrent_mode)", + DEPRECATED_ASYNC_MODE_SYMBOL_STRING: "Symbol(react.async_mode)", + CONTEXT_CONSUMER_NUMBER: 60110, + CONTEXT_CONSUMER_SYMBOL_STRING: "Symbol(react.context)", + CONTEXT_PROVIDER_NUMBER: 60109, + CONTEXT_PROVIDER_SYMBOL_STRING: "Symbol(react.provider)", + FORWARD_REF_NUMBER: 60112, + FORWARD_REF_SYMBOL_STRING: "Symbol(react.forward_ref)", + MEMO_NUMBER: 60115, + MEMO_SYMBOL_STRING: "Symbol(react.memo)", + PROFILER_NUMBER: 60114, + PROFILER_SYMBOL_STRING: "Symbol(react.profiler)", + STRICT_MODE_NUMBER: 60108, + STRICT_MODE_SYMBOL_STRING: "Symbol(react.strict_mode)", + SUSPENSE_NUMBER: 60113, + SUSPENSE_SYMBOL_STRING: "Symbol(react.suspense)", + DEPRECATED_PLACEHOLDER_SYMBOL_STRING: "Symbol(react.placeholder)" + }, + ReactTypeOfSideEffect: { + PerformedWork: 1 + } + }), + l = c.ReactTypeOfWork, + f = c.ReactSymbols, + p = c.ReactTypeOfSideEffect.PerformedWork, + d = l.FunctionComponent, + h = l.ClassComponent, + m = l.ContextConsumer, + y = l.Fragment, + v = l.ForwardRef, + g = l.HostRoot, + b = l.HostPortal, + _ = l.HostComponent, + w = l.HostText, + S = l.IncompleteClassComponent, + E = l.IndeterminateComponent, + O = l.MemoComponent, + x = l.SimpleMemoComponent, + C = f.CONCURRENT_MODE_NUMBER, + I = f.CONCURRENT_MODE_SYMBOL_STRING, + N = f.DEPRECATED_ASYNC_MODE_SYMBOL_STRING, + T = f.CONTEXT_CONSUMER_NUMBER, + k = f.CONTEXT_CONSUMER_SYMBOL_STRING, + R = f.CONTEXT_PROVIDER_NUMBER, + j = f.CONTEXT_PROVIDER_SYMBOL_STRING, + M = f.PROFILER_NUMBER, + D = f.PROFILER_SYMBOL_STRING, + P = f.STRICT_MODE_NUMBER, + L = f.STRICT_MODE_SYMBOL_STRING, + A = f.SUSPENSE_NUMBER, + B = f.SUSPENSE_SYMBOL_STRING, + F = f.DEPRECATED_PLACEHOLDER_SYMBOL_STRING; + + function U(e) { + var t = e.elementType, + n = e.type, + o = e.key, + s = e.ref, + c = e.tag, + l = e._debugSource, + f = null, + p = null, + m = null, + U = null, + H = null, + $ = null, + G = null, + W = null, + q = null, + Y = null, + K = null, + X = null, + J = null, + Z = null, + Q = !1, + ee = (c === d || c === x || c === v) && !!e.memoizedState, + te = n; + + switch ("object" === r(n) && null !== n && "function" == typeof n.then && (te = n._reactResult), "function" == typeof u && ($ = { + canUpdate: !0, + setState: null, + setInProps: u.bind(null, e), + setInState: null, + setInContext: null + }), c) { + case h: + case d: + case S: + case E: + G = "Composite", W = a(te), f = e.stateNode, p = e.memoizedProps, m = e.memoizedState, null != f && (H = f.context) && 0 === Object.keys(H).length && (H = null); + var ne = f; + ne && ($ = { + canUpdate: !0, + setState: ne.setState && ne.setState.bind(ne), + setInProps: ne.forceUpdate && function (e, t, n) { + var r = e.stateNode; + e.pendingProps = i(r.props, t, n), e.alternate && (e.alternate.pendingProps = e.pendingProps), e.stateNode.forceUpdate(); + }.bind(null, e), + setInState: ne.forceUpdate && function (e, t, n) { + z(e.state, t, n), e.forceUpdate(); + }.bind(null, ne), + setInContext: ne.forceUpdate && function (e, t, n) { + z(e.context, t, n), e.forceUpdate(); + }.bind(null, ne) + }), U = []; + break; + + case v: + var re = a(te.render, ""); + G = "Special", W = te.displayName || ("" !== re ? "ForwardRef(".concat(re, ")") : "ForwardRef"), p = e.memoizedProps, m = e.memoizedState, U = []; + break; + + case g: + G = "Wrapper", U = [], K = e.stateNode.memoizedInteractions; + break; + + case b: + G = "Portal", W = "ReactPortal", p = { + target: e.stateNode.containerInfo + }, U = []; + break; + + case _: + G = "Native", W = (W = e.type).replace("topsecret-", ""), f = e.stateNode, U = "string" == typeof (p = e.memoizedProps).children || "number" == typeof p.children ? p.children.toString() : [], "function" == typeof e.stateNode.setNativeProps && ($ = { + setNativeProps: function setNativeProps(t) { + e.stateNode.setNativeProps(t); + } + }); + break; + + case w: + G = "Text", q = e.memoizedProps; + break; + + case y: + G = "Wrapper", U = []; + break; + + case O: + case x: + if (G = "Composite", t.displayName) W = t.displayName;else { + var oe = n.displayName || n.name; + W = oe ? "Memo(".concat(oe, ")") : "Memo"; + } + p = e.memoizedProps, m = e.memoizedState, U = []; + break; + + default: + var ie = "object" === r(n) && null !== n ? n.$$typeof : n; + + switch ("symbol" === r(ie) ? ie.toString() : ie) { + case C: + case I: + case N: + G = "Special", W = "ConcurrentMode", U = []; + break; + + case R: + case j: + G = "Special", p = e.memoizedProps, Y = e.type._context || e.type.context, W = "".concat(Y.displayName || "Context", ".Provider"), U = []; + break; + + case T: + case k: + G = "Special", p = e.memoizedProps, Y = e.type._context || e.type, W = "".concat(Y.displayName || "Context", ".Consumer"), U = []; + break; + + case P: + case L: + G = "Special", W = "StrictMode", U = []; + break; + + case A: + case B: + case F: + G = "Special", W = "Suspense", p = e.memoizedProps, U = [], Q = null !== e.memoizedState; + break; + + case M: + case D: + G = "Special", p = e.memoizedProps, W = "Profiler(".concat(e.memoizedProps.id, ")"), U = []; + break; + + default: + G = "Native", p = e.memoizedProps, W = "TODO_NOT_IMPLEMENTED_YET", U = []; + } + + } + + if (null !== p && void 0 !== r(e.elementType) && e.type !== e.elementType && (p = function (e, t) { + if (e && e.defaultProps) { + var n = _extends({}, t), + r = e.defaultProps; + + for (var o in r) { + void 0 === n[o] && (n[o] = r[o]); + } + + return n; + } + + return t; + }(e.type, p)), Array.isArray(U)) if (Q) { + var ae = e.child, + se = ae.child, + ue = ae.sibling.child; + U.push(se), U.push(ue); + } else for (var ce = e.child; ce;) { + U.push(V(ce)), ce = ce.sibling; + } + return void 0 !== e.actualDuration && (X = e.actualDuration, J = e.actualStartTime, Z = e.treeBaseDuration), { + nodeType: G, + type: n, + key: o, + ref: s, + source: l, + name: W, + props: p, + state: m, + context: H, + children: U, + text: q, + updater: $, + publicInstance: f, + memoizedInteractions: K, + actualDuration: X, + actualStartTime: J, + treeBaseDuration: Z, + containsHooks: ee + }; + } + + function z(e, t, n) { + var r = t.pop(), + o = t.reduce(function (e, t) { + return e ? e[t] : null; + }, e); + o && (o[r] = n); + } + + var H = new Set(); + + function V(e) { + if (H.has(e)) return e; + var t = e.alternate; + return null != t && H.has(t) ? t : (H.add(e), e); + } + + var $ = []; + + function G() { + var t = $; + $ = []; + + for (var n = 0; n < t.length; n++) { + var r = t[n]; + e.emit(r.type, r); + } + } + + function W(e) { + $.push({ + internalInstance: V(e), + data: U(e), + renderer: t, + type: "mount" + }), e.tag === g && $.push({ + internalInstance: V(e), + renderer: t, + type: "root" + }); + } + + function q(e, n) { + var r, + o, + i = U(e); + if (!n && !function (e, t) { + switch (t.tag) { + case h: + case d: + case m: + case O: + case x: + return (t.effectTag & p) === p; + + default: + return e.memoizedProps !== t.memoizedProps || e.memoizedState !== t.memoizedState || e.ref !== t.ref; + } + }(e.alternate, e)) return r = e.alternate, o = e, void (void 0 === r.actualDuration || r.actualDuration === o.actualDuration && r.actualStartTime === o.actualStartTime && r.treeBaseDuration === o.treeBaseDuration || $.push({ + internalInstance: V(e), + data: i, + renderer: t, + type: "updateProfileTimes" + })); + $.push({ + internalInstance: V(e), + data: i, + renderer: t, + type: "update" + }); + } + + function Y(e) { + var n = e.tag === g, + r = V(e), + o = { + internalInstance: r, + renderer: t, + type: "unmount" + }; + n ? $.push(o) : $.unshift(o), H.delete(r); + } + + function K(e) { + $.push({ + internalInstance: V(e), + data: U(e), + renderer: t, + type: "rootCommitted" + }); + } + + function X(e) { + var t = e; + + e: for (;;) { + if (t.child) t.child.return = t, t = t.child;else { + if (W(t), t == e) return; + + if (!t.sibling) { + for (; t.return;) { + if (W(t = t.return), t == e) return; + + if (t.sibling) { + t.sibling.return = t.return, t = t.sibling; + continue e; + } + } + + return; + } + + t.sibling.return = t.return, t = t.sibling; + } + } + } + + return { + getNativeFromReactElement: function getNativeFromReactElement(e) { + try { + var t = e; + return n.findHostInstanceByFiber(t); + } catch (e) { + return null; + } + }, + getReactElementFromNative: function getReactElementFromNative(e) { + var t = n.findFiberByHostInstance(e); + return null != t ? V(t) : null; + }, + handleCommitFiberRoot: function handleCommitFiberRoot(e) { + var t = e.current, + n = t.alternate; + + if (n) { + var r = null != n.memoizedState && null != n.memoizedState.element, + o = null != t.memoizedState && null != t.memoizedState.element; + !r && o ? X(t) : r && o ? function e(t, n) { + if (t.tag === l.SuspenseComponent && null !== t.memoizedState) { + var r = t.child.sibling.child; + r.alternate ? e(r, r.alternate) : X(r), q(t, !1); + } else { + var o = !1; + + if (t.child !== n.child) { + for (var i = t.child, a = n.child; i;) { + if (i.alternate) { + var s = i.alternate; + e(i, s), o || s === a || (o = !0); + } else X(i), o || (o = !0); + + i = i.sibling, o || null == a || (a = a.sibling); + } + + o || null == a || (o = !0); + } + + q(t, o); + } + }(t, n) : r && !o && Y(t); + } else X(t); + + K(t), G(); + }, + handleCommitFiberUnmount: function handleCommitFiberUnmount(e) { + Y(e); + }, + cleanup: function cleanup() {}, + walkTree: function walkTree() { + e.getFiberRoots(t).forEach(function (e) { + X(e.current), K(e.current); + }), G(); + }, + renderer: n + }; + }; + }, function (e, t, n) { + (function (n) { + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var o; + t = e.exports = K, o = "object" === (void 0 === n ? "undefined" : r(n)) && n.env && n.env.NODE_DEBUG && /\bsemver\b/i.test(n.env.NODE_DEBUG) ? function () { + var e = Array.prototype.slice.call(arguments, 0); + e.unshift("SEMVER"), console.log.apply(console, e); + } : function () {}, t.SEMVER_SPEC_VERSION = "2.0.0"; + var i = 256, + a = Number.MAX_SAFE_INTEGER || 9007199254740991, + s = t.re = [], + u = t.src = [], + c = 0, + l = c++; + u[l] = "0|[1-9]\\d*"; + var f = c++; + u[f] = "[0-9]+"; + var p = c++; + u[p] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*"; + var d = c++; + u[d] = "(" + u[l] + ")\\.(" + u[l] + ")\\.(" + u[l] + ")"; + var h = c++; + u[h] = "(" + u[f] + ")\\.(" + u[f] + ")\\.(" + u[f] + ")"; + var m = c++; + u[m] = "(?:" + u[l] + "|" + u[p] + ")"; + var y = c++; + u[y] = "(?:" + u[f] + "|" + u[p] + ")"; + var v = c++; + u[v] = "(?:-(" + u[m] + "(?:\\." + u[m] + ")*))"; + var g = c++; + u[g] = "(?:-?(" + u[y] + "(?:\\." + u[y] + ")*))"; + var b = c++; + u[b] = "[0-9A-Za-z-]+"; + + var _ = c++; + + u[_] = "(?:\\+(" + u[b] + "(?:\\." + u[b] + ")*))"; + var w = c++, + S = "v?" + u[d] + u[v] + "?" + u[_] + "?"; + u[w] = "^" + S + "$"; + var E = "[v=\\s]*" + u[h] + u[g] + "?" + u[_] + "?", + O = c++; + u[O] = "^" + E + "$"; + var x = c++; + u[x] = "((?:<|>)?=?)"; + var C = c++; + u[C] = u[f] + "|x|X|\\*"; + var I = c++; + u[I] = u[l] + "|x|X|\\*"; + var N = c++; + u[N] = "[v=\\s]*(" + u[I] + ")(?:\\.(" + u[I] + ")(?:\\.(" + u[I] + ")(?:" + u[v] + ")?" + u[_] + "?)?)?"; + var T = c++; + u[T] = "[v=\\s]*(" + u[C] + ")(?:\\.(" + u[C] + ")(?:\\.(" + u[C] + ")(?:" + u[g] + ")?" + u[_] + "?)?)?"; + var k = c++; + u[k] = "^" + u[x] + "\\s*" + u[N] + "$"; + var R = c++; + u[R] = "^" + u[x] + "\\s*" + u[T] + "$"; + var j = c++; + u[j] = "(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])"; + var M = c++; + u[M] = "(?:~>?)"; + var D = c++; + u[D] = "(\\s*)" + u[M] + "\\s+", s[D] = new RegExp(u[D], "g"); + var P = c++; + u[P] = "^" + u[M] + u[N] + "$"; + var L = c++; + u[L] = "^" + u[M] + u[T] + "$"; + var A = c++; + u[A] = "(?:\\^)"; + var B = c++; + u[B] = "(\\s*)" + u[A] + "\\s+", s[B] = new RegExp(u[B], "g"); + var F = c++; + u[F] = "^" + u[A] + u[N] + "$"; + var U = c++; + u[U] = "^" + u[A] + u[T] + "$"; + var z = c++; + u[z] = "^" + u[x] + "\\s*(" + E + ")$|^$"; + var H = c++; + u[H] = "^" + u[x] + "\\s*(" + S + ")$|^$"; + var V = c++; + u[V] = "(\\s*)" + u[x] + "\\s*(" + E + "|" + u[N] + ")", s[V] = new RegExp(u[V], "g"); + var $ = c++; + u[$] = "^\\s*(" + u[N] + ")\\s+-\\s+(" + u[N] + ")\\s*$"; + var G = c++; + u[G] = "^\\s*(" + u[T] + ")\\s+-\\s+(" + u[T] + ")\\s*$"; + var W = c++; + u[W] = "(<|>)?=?\\s*\\*"; + + for (var q = 0; q < 35; q++) { + o(q, u[q]), s[q] || (s[q] = new RegExp(u[q])); + } + + function Y(e, t) { + if (e instanceof K) return e; + if ("string" != typeof e) return null; + if (e.length > i) return null; + if (!(t ? s[O] : s[w]).test(e)) return null; + + try { + return new K(e, t); + } catch (e) { + return null; + } + } + + function K(e, t) { + if (e instanceof K) { + if (e.loose === t) return e; + e = e.version; + } else if ("string" != typeof e) throw new TypeError("Invalid Version: " + e); + + if (e.length > i) throw new TypeError("version is longer than " + i + " characters"); + if (!(this instanceof K)) return new K(e, t); + o("SemVer", e, t), this.loose = t; + var n = e.trim().match(t ? s[O] : s[w]); + if (!n) throw new TypeError("Invalid Version: " + e); + if (this.raw = e, this.major = +n[1], this.minor = +n[2], this.patch = +n[3], this.major > a || this.major < 0) throw new TypeError("Invalid major version"); + if (this.minor > a || this.minor < 0) throw new TypeError("Invalid minor version"); + if (this.patch > a || this.patch < 0) throw new TypeError("Invalid patch version"); + n[4] ? this.prerelease = n[4].split(".").map(function (e) { + if (/^[0-9]+$/.test(e)) { + var t = +e; + if (t >= 0 && t < a) return t; + } + + return e; + }) : this.prerelease = [], this.build = n[5] ? n[5].split(".") : [], this.format(); + } + + t.parse = Y, t.valid = function (e, t) { + var n = Y(e, t); + return n ? n.version : null; + }, t.clean = function (e, t) { + var n = Y(e.trim().replace(/^[=v]+/, ""), t); + return n ? n.version : null; + }, t.SemVer = K, K.prototype.format = function () { + return this.version = this.major + "." + this.minor + "." + this.patch, this.prerelease.length && (this.version += "-" + this.prerelease.join(".")), this.version; + }, K.prototype.toString = function () { + return this.version; + }, K.prototype.compare = function (e) { + return o("SemVer.compare", this.version, this.loose, e), e instanceof K || (e = new K(e, this.loose)), this.compareMain(e) || this.comparePre(e); + }, K.prototype.compareMain = function (e) { + return e instanceof K || (e = new K(e, this.loose)), J(this.major, e.major) || J(this.minor, e.minor) || J(this.patch, e.patch); + }, K.prototype.comparePre = function (e) { + if (e instanceof K || (e = new K(e, this.loose)), this.prerelease.length && !e.prerelease.length) return -1; + if (!this.prerelease.length && e.prerelease.length) return 1; + if (!this.prerelease.length && !e.prerelease.length) return 0; + var t = 0; + + do { + var n = this.prerelease[t], + r = e.prerelease[t]; + if (o("prerelease compare", t, n, r), void 0 === n && void 0 === r) return 0; + if (void 0 === r) return 1; + if (void 0 === n) return -1; + if (n !== r) return J(n, r); + } while (++t); + }, K.prototype.inc = function (e, t) { + switch (e) { + case "premajor": + this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", t); + break; + + case "preminor": + this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", t); + break; + + case "prepatch": + this.prerelease.length = 0, this.inc("patch", t), this.inc("pre", t); + break; + + case "prerelease": + 0 === this.prerelease.length && this.inc("patch", t), this.inc("pre", t); + break; + + case "major": + 0 === this.minor && 0 === this.patch && 0 !== this.prerelease.length || this.major++, this.minor = 0, this.patch = 0, this.prerelease = []; + break; + + case "minor": + 0 === this.patch && 0 !== this.prerelease.length || this.minor++, this.patch = 0, this.prerelease = []; + break; + + case "patch": + 0 === this.prerelease.length && this.patch++, this.prerelease = []; + break; + + case "pre": + if (0 === this.prerelease.length) this.prerelease = [0];else { + for (var n = this.prerelease.length; --n >= 0;) { + "number" == typeof this.prerelease[n] && (this.prerelease[n]++, n = -2); + } + + -1 === n && this.prerelease.push(0); + } + t && (this.prerelease[0] === t ? isNaN(this.prerelease[1]) && (this.prerelease = [t, 0]) : this.prerelease = [t, 0]); + break; + + default: + throw new Error("invalid increment argument: " + e); + } + + return this.format(), this.raw = this.version, this; + }, t.inc = function (e, t, n, r) { + "string" == typeof n && (r = n, n = void 0); + + try { + return new K(e, n).inc(t, r).version; + } catch (e) { + return null; + } + }, t.diff = function (e, t) { + if (te(e, t)) return null; + var n = Y(e), + r = Y(t); + + if (n.prerelease.length || r.prerelease.length) { + for (var o in n) { + if (("major" === o || "minor" === o || "patch" === o) && n[o] !== r[o]) return "pre" + o; + } + + return "prerelease"; + } + + for (var o in n) { + if (("major" === o || "minor" === o || "patch" === o) && n[o] !== r[o]) return o; + } + }, t.compareIdentifiers = J; + var X = /^[0-9]+$/; + + function J(e, t) { + var n = X.test(e), + r = X.test(t); + return n && r && (e = +e, t = +t), n && !r ? -1 : r && !n ? 1 : e < t ? -1 : e > t ? 1 : 0; + } + + function Z(e, t, n) { + return new K(e, n).compare(new K(t, n)); + } + + function Q(e, t, n) { + return Z(e, t, n) > 0; + } + + function ee(e, t, n) { + return Z(e, t, n) < 0; + } + + function te(e, t, n) { + return 0 === Z(e, t, n); + } + + function ne(e, t, n) { + return 0 !== Z(e, t, n); + } + + function re(e, t, n) { + return Z(e, t, n) >= 0; + } + + function oe(e, t, n) { + return Z(e, t, n) <= 0; + } + + function ie(e, t, n, o) { + var i; + + switch (t) { + case "===": + "object" === r(e) && (e = e.version), "object" === r(n) && (n = n.version), i = e === n; + break; + + case "!==": + "object" === r(e) && (e = e.version), "object" === r(n) && (n = n.version), i = e !== n; + break; + + case "": + case "=": + case "==": + i = te(e, n, o); + break; + + case "!=": + i = ne(e, n, o); + break; + + case ">": + i = Q(e, n, o); + break; + + case ">=": + i = re(e, n, o); + break; + + case "<": + i = ee(e, n, o); + break; + + case "<=": + i = oe(e, n, o); + break; + + default: + throw new TypeError("Invalid operator: " + t); + } + + return i; + } + + function ae(e, t) { + if (e instanceof ae) { + if (e.loose === t) return e; + e = e.value; + } + + if (!(this instanceof ae)) return new ae(e, t); + o("comparator", e, t), this.loose = t, this.parse(e), this.semver === se ? this.value = "" : this.value = this.operator + this.semver.version, o("comp", this); + } + + t.rcompareIdentifiers = function (e, t) { + return J(t, e); + }, t.major = function (e, t) { + return new K(e, t).major; + }, t.minor = function (e, t) { + return new K(e, t).minor; + }, t.patch = function (e, t) { + return new K(e, t).patch; + }, t.compare = Z, t.compareLoose = function (e, t) { + return Z(e, t, !0); + }, t.rcompare = function (e, t, n) { + return Z(t, e, n); + }, t.sort = function (e, n) { + return e.sort(function (e, r) { + return t.compare(e, r, n); + }); + }, t.rsort = function (e, n) { + return e.sort(function (e, r) { + return t.rcompare(e, r, n); + }); + }, t.gt = Q, t.lt = ee, t.eq = te, t.neq = ne, t.gte = re, t.lte = oe, t.cmp = ie, t.Comparator = ae; + var se = {}; + + function ue(e, t) { + if (e instanceof ue) return e.loose === t ? e : new ue(e.raw, t); + if (e instanceof ae) return new ue(e.value, t); + if (!(this instanceof ue)) return new ue(e, t); + if (this.loose = t, this.raw = e, this.set = e.split(/\s*\|\|\s*/).map(function (e) { + return this.parseRange(e.trim()); + }, this).filter(function (e) { + return e.length; + }), !this.set.length) throw new TypeError("Invalid SemVer Range: " + e); + this.format(); + } + + function ce(e) { + return !e || "x" === e.toLowerCase() || "*" === e; + } + + function le(e, t, n, r, o, i, a, s, u, c, l, f, p) { + return ((t = ce(n) ? "" : ce(r) ? ">=" + n + ".0.0" : ce(o) ? ">=" + n + "." + r + ".0" : ">=" + t) + " " + (s = ce(u) ? "" : ce(c) ? "<" + (+u + 1) + ".0.0" : ce(l) ? "<" + u + "." + (+c + 1) + ".0" : f ? "<=" + u + "." + c + "." + l + "-" + f : "<=" + s)).trim(); + } + + function fe(e, t) { + for (var n = 0; n < e.length; n++) { + if (!e[n].test(t)) return !1; + } + + if (t.prerelease.length) { + for (n = 0; n < e.length; n++) { + if (o(e[n].semver), e[n].semver !== se && e[n].semver.prerelease.length > 0) { + var r = e[n].semver; + if (r.major === t.major && r.minor === t.minor && r.patch === t.patch) return !0; + } + } + + return !1; + } + + return !0; + } + + function pe(e, t, n) { + try { + t = new ue(t, n); + } catch (e) { + return !1; + } + + return t.test(e); + } + + function de(e, t, n, r) { + var o, i, a, s, u; + + switch (e = new K(e, r), t = new ue(t, r), n) { + case ">": + o = Q, i = oe, a = ee, s = ">", u = ">="; + break; + + case "<": + o = ee, i = re, a = Q, s = "<", u = "<="; + break; + + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } + + if (pe(e, t, r)) return !1; + + for (var c = 0; c < t.set.length; ++c) { + var l = t.set[c], + f = null, + p = null; + if (l.forEach(function (e) { + e.semver === se && (e = new ae(">=0.0.0")), f = f || e, p = p || e, o(e.semver, f.semver, r) ? f = e : a(e.semver, p.semver, r) && (p = e); + }), f.operator === s || f.operator === u) return !1; + if ((!p.operator || p.operator === s) && i(e, p.semver)) return !1; + if (p.operator === u && a(e, p.semver)) return !1; + } + + return !0; + } + + ae.prototype.parse = function (e) { + var t = this.loose ? s[z] : s[H], + n = e.match(t); + if (!n) throw new TypeError("Invalid comparator: " + e); + this.operator = n[1], "=" === this.operator && (this.operator = ""), n[2] ? this.semver = new K(n[2], this.loose) : this.semver = se; + }, ae.prototype.toString = function () { + return this.value; + }, ae.prototype.test = function (e) { + return o("Comparator.test", e, this.loose), this.semver === se || ("string" == typeof e && (e = new K(e, this.loose)), ie(e, this.operator, this.semver, this.loose)); + }, ae.prototype.intersects = function (e, t) { + if (!(e instanceof ae)) throw new TypeError("a Comparator is required"); + var n; + if ("" === this.operator) return n = new ue(e.value, t), pe(this.value, n, t); + if ("" === e.operator) return n = new ue(this.value, t), pe(e.semver, n, t); + var r = !(">=" !== this.operator && ">" !== this.operator || ">=" !== e.operator && ">" !== e.operator), + o = !("<=" !== this.operator && "<" !== this.operator || "<=" !== e.operator && "<" !== e.operator), + i = this.semver.version === e.semver.version, + a = !(">=" !== this.operator && "<=" !== this.operator || ">=" !== e.operator && "<=" !== e.operator), + s = ie(this.semver, "<", e.semver, t) && (">=" === this.operator || ">" === this.operator) && ("<=" === e.operator || "<" === e.operator), + u = ie(this.semver, ">", e.semver, t) && ("<=" === this.operator || "<" === this.operator) && (">=" === e.operator || ">" === e.operator); + return r || o || i && a || s || u; + }, t.Range = ue, ue.prototype.format = function () { + return this.range = this.set.map(function (e) { + return e.join(" ").trim(); + }).join("||").trim(), this.range; + }, ue.prototype.toString = function () { + return this.range; + }, ue.prototype.parseRange = function (e) { + var t = this.loose; + e = e.trim(), o("range", e, t); + var n = t ? s[G] : s[$]; + e = e.replace(n, le), o("hyphen replace", e), e = e.replace(s[V], "$1$2$3"), o("comparator trim", e, s[V]), e = (e = (e = e.replace(s[D], "$1~")).replace(s[B], "$1^")).split(/\s+/).join(" "); + var r = t ? s[z] : s[H], + i = e.split(" ").map(function (e) { + return function (e, t) { + return o("comp", e), e = function (e, t) { + return e.trim().split(/\s+/).map(function (e) { + return function (e, t) { + o("caret", e, t); + var n = t ? s[U] : s[F]; + return e.replace(n, function (t, n, r, i, a) { + var s; + return o("caret", e, t, n, r, i, a), ce(n) ? s = "" : ce(r) ? s = ">=" + n + ".0.0 <" + (+n + 1) + ".0.0" : ce(i) ? s = "0" === n ? ">=" + n + "." + r + ".0 <" + n + "." + (+r + 1) + ".0" : ">=" + n + "." + r + ".0 <" + (+n + 1) + ".0.0" : a ? (o("replaceCaret pr", a), "-" !== a.charAt(0) && (a = "-" + a), s = "0" === n ? "0" === r ? ">=" + n + "." + r + "." + i + a + " <" + n + "." + r + "." + (+i + 1) : ">=" + n + "." + r + "." + i + a + " <" + n + "." + (+r + 1) + ".0" : ">=" + n + "." + r + "." + i + a + " <" + (+n + 1) + ".0.0") : (o("no pr"), s = "0" === n ? "0" === r ? ">=" + n + "." + r + "." + i + " <" + n + "." + r + "." + (+i + 1) : ">=" + n + "." + r + "." + i + " <" + n + "." + (+r + 1) + ".0" : ">=" + n + "." + r + "." + i + " <" + (+n + 1) + ".0.0"), o("caret return", s), s; + }); + }(e, t); + }).join(" "); + }(e, t), o("caret", e), e = function (e, t) { + return e.trim().split(/\s+/).map(function (e) { + return function (e, t) { + var n = t ? s[L] : s[P]; + return e.replace(n, function (t, n, r, i, a) { + var s; + return o("tilde", e, t, n, r, i, a), ce(n) ? s = "" : ce(r) ? s = ">=" + n + ".0.0 <" + (+n + 1) + ".0.0" : ce(i) ? s = ">=" + n + "." + r + ".0 <" + n + "." + (+r + 1) + ".0" : a ? (o("replaceTilde pr", a), "-" !== a.charAt(0) && (a = "-" + a), s = ">=" + n + "." + r + "." + i + a + " <" + n + "." + (+r + 1) + ".0") : s = ">=" + n + "." + r + "." + i + " <" + n + "." + (+r + 1) + ".0", o("tilde return", s), s; + }); + }(e, t); + }).join(" "); + }(e, t), o("tildes", e), e = function (e, t) { + return o("replaceXRanges", e, t), e.split(/\s+/).map(function (e) { + return function (e, t) { + e = e.trim(); + var n = t ? s[R] : s[k]; + return e.replace(n, function (t, n, r, i, a, s) { + o("xRange", e, t, n, r, i, a, s); + var u = ce(r), + c = u || ce(i), + l = c || ce(a), + f = l; + return "=" === n && f && (n = ""), u ? t = ">" === n || "<" === n ? "<0.0.0" : "*" : n && f ? (c && (i = 0), l && (a = 0), ">" === n ? (n = ">=", c ? (r = +r + 1, i = 0, a = 0) : l && (i = +i + 1, a = 0)) : "<=" === n && (n = "<", c ? r = +r + 1 : i = +i + 1), t = n + r + "." + i + "." + a) : c ? t = ">=" + r + ".0.0 <" + (+r + 1) + ".0.0" : l && (t = ">=" + r + "." + i + ".0 <" + r + "." + (+i + 1) + ".0"), o("xRange return", t), t; + }); + }(e, t); + }).join(" "); + }(e, t), o("xrange", e), e = function (e, t) { + return o("replaceStars", e, t), e.trim().replace(s[W], ""); + }(e, t), o("stars", e), e; + }(e, t); + }).join(" ").split(/\s+/); + return this.loose && (i = i.filter(function (e) { + return !!e.match(r); + })), i = i.map(function (e) { + return new ae(e, t); + }); + }, ue.prototype.intersects = function (e, t) { + if (!(e instanceof ue)) throw new TypeError("a Range is required"); + return this.set.some(function (n) { + return n.every(function (n) { + return e.set.some(function (e) { + return e.every(function (e) { + return n.intersects(e, t); + }); + }); + }); + }); + }, t.toComparators = function (e, t) { + return new ue(e, t).set.map(function (e) { + return e.map(function (e) { + return e.value; + }).join(" ").trim().split(" "); + }); + }, ue.prototype.test = function (e) { + if (!e) return !1; + "string" == typeof e && (e = new K(e, this.loose)); + + for (var t = 0; t < this.set.length; t++) { + if (fe(this.set[t], e)) return !0; + } + + return !1; + }, t.satisfies = pe, t.maxSatisfying = function (e, t, n) { + var r = null, + o = null; + + try { + var i = new ue(t, n); + } catch (e) { + return null; + } + + return e.forEach(function (e) { + i.test(e) && (r && -1 !== o.compare(e) || (o = new K(r = e, n))); + }), r; + }, t.minSatisfying = function (e, t, n) { + var r = null, + o = null; + + try { + var i = new ue(t, n); + } catch (e) { + return null; + } + + return e.forEach(function (e) { + i.test(e) && (r && 1 !== o.compare(e) || (o = new K(r = e, n))); + }), r; + }, t.validRange = function (e, t) { + try { + return new ue(e, t).range || "*"; + } catch (e) { + return null; + } + }, t.ltr = function (e, t, n) { + return de(e, t, "<", n); + }, t.gtr = function (e, t, n) { + return de(e, t, ">", n); + }, t.outside = de, t.prerelease = function (e, t) { + var n = Y(e, t); + return n && n.prerelease.length ? n.prerelease : null; + }, t.intersects = function (e, t, n) { + return e = new ue(e, n), t = new ue(t, n), e.intersects(t); + }, t.coerce = function (e) { + if (e instanceof K) return e; + if ("string" != typeof e) return null; + var t = e.match(s[j]); + return null == t ? null : Y((t[1] || "0") + "." + (t[2] || "0") + "." + (t[3] || "0")); + }; + }).call(this, n(6)); + }, function (e, t, n) { + "use strict"; + + (function (t) { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + function o(e, t) { + if (e === t) return 0; + + for (var n = e.length, r = t.length, o = 0, i = Math.min(n, r); o < i; ++o) { + if (e[o] !== t[o]) { + n = e[o], r = t[o]; + break; + } + } + + return n < r ? -1 : r < n ? 1 : 0; + } + + function i(e) { + return t.Buffer && "function" == typeof t.Buffer.isBuffer ? t.Buffer.isBuffer(e) : !(null == e || !e._isBuffer); + } + + var a = n(49), + s = Object.prototype.hasOwnProperty, + u = Array.prototype.slice, + c = "foo" === function () {}.name; + + function l(e) { + return Object.prototype.toString.call(e); + } + + function f(e) { + return !i(e) && "function" == typeof t.ArrayBuffer && ("function" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(e) : !!e && (e instanceof DataView || !!(e.buffer && e.buffer instanceof ArrayBuffer))); + } + + var p = e.exports = g, + d = /\s*function\s+([^\(\s]*)\s*/; + + function h(e) { + if (a.isFunction(e)) { + if (c) return e.name; + var t = e.toString().match(d); + return t && t[1]; + } + } + + function m(e, t) { + return "string" == typeof e ? e.length < t ? e : e.slice(0, t) : e; + } + + function y(e) { + if (c || !a.isFunction(e)) return a.inspect(e); + var t = h(e); + return "[Function" + (t ? ": " + t : "") + "]"; + } + + function v(e, t, n, r, o) { + throw new p.AssertionError({ + message: n, + actual: e, + expected: t, + operator: r, + stackStartFunction: o + }); + } + + function g(e, t) { + e || v(e, !0, t, "==", p.ok); + } + + function b(e, t, n, s) { + if (e === t) return !0; + if (i(e) && i(t)) return 0 === o(e, t); + if (a.isDate(e) && a.isDate(t)) return e.getTime() === t.getTime(); + if (a.isRegExp(e) && a.isRegExp(t)) return e.source === t.source && e.global === t.global && e.multiline === t.multiline && e.lastIndex === t.lastIndex && e.ignoreCase === t.ignoreCase; + + if (null !== e && "object" === r(e) || null !== t && "object" === r(t)) { + if (f(e) && f(t) && l(e) === l(t) && !(e instanceof Float32Array || e instanceof Float64Array)) return 0 === o(new Uint8Array(e.buffer), new Uint8Array(t.buffer)); + if (i(e) !== i(t)) return !1; + var c = (s = s || { + actual: [], + expected: [] + }).actual.indexOf(e); + return -1 !== c && c === s.expected.indexOf(t) || (s.actual.push(e), s.expected.push(t), function (e, t, n, r) { + if (null == e || null == t) return !1; + if (a.isPrimitive(e) || a.isPrimitive(t)) return e === t; + if (n && Object.getPrototypeOf(e) !== Object.getPrototypeOf(t)) return !1; + + var o = _(e), + i = _(t); + + if (o && !i || !o && i) return !1; + if (o) return e = u.call(e), t = u.call(t), b(e, t, n); + var s, + c, + l = E(e), + f = E(t); + if (l.length !== f.length) return !1; + + for (l.sort(), f.sort(), c = l.length - 1; c >= 0; c--) { + if (l[c] !== f[c]) return !1; + } + + for (c = l.length - 1; c >= 0; c--) { + if (s = l[c], !b(e[s], t[s], n, r)) return !1; + } + + return !0; + }(e, t, n, s)); + } + + return n ? e === t : e == t; + } + + function _(e) { + return "[object Arguments]" == Object.prototype.toString.call(e); + } + + function w(e, t) { + if (!e || !t) return !1; + if ("[object RegExp]" == Object.prototype.toString.call(t)) return t.test(e); + + try { + if (e instanceof t) return !0; + } catch (e) {} + + return !Error.isPrototypeOf(t) && !0 === t.call({}, e); + } + + function S(e, t, n, r) { + var o; + if ("function" != typeof t) throw new TypeError('"block" argument must be a function'); + "string" == typeof n && (r = n, n = null), o = function (e) { + var t; + + try { + e(); + } catch (e) { + t = e; + } + + return t; + }(t), r = (n && n.name ? " (" + n.name + ")." : ".") + (r ? " " + r : "."), e && !o && v(o, n, "Missing expected exception" + r); + var i = "string" == typeof r, + s = !e && o && !n; + if ((!e && a.isError(o) && i && w(o, n) || s) && v(o, n, "Got unwanted exception" + r), e && o && n && !w(o, n) || !e && o) throw o; + } + + p.AssertionError = function (e) { + var t; + this.name = "AssertionError", this.actual = e.actual, this.expected = e.expected, this.operator = e.operator, e.message ? (this.message = e.message, this.generatedMessage = !1) : (this.message = m(y((t = this).actual), 128) + " " + t.operator + " " + m(y(t.expected), 128), this.generatedMessage = !0); + var n = e.stackStartFunction || v; + if (Error.captureStackTrace) Error.captureStackTrace(this, n);else { + var r = new Error(); + + if (r.stack) { + var o = r.stack, + i = h(n), + a = o.indexOf("\n" + i); + + if (a >= 0) { + var s = o.indexOf("\n", a + 1); + o = o.substring(s + 1); + } + + this.stack = o; + } + } + }, a.inherits(p.AssertionError, Error), p.fail = v, p.ok = g, p.equal = function (e, t, n) { + e != t && v(e, t, n, "==", p.equal); + }, p.notEqual = function (e, t, n) { + e == t && v(e, t, n, "!=", p.notEqual); + }, p.deepEqual = function (e, t, n) { + b(e, t, !1) || v(e, t, n, "deepEqual", p.deepEqual); + }, p.deepStrictEqual = function (e, t, n) { + b(e, t, !0) || v(e, t, n, "deepStrictEqual", p.deepStrictEqual); + }, p.notDeepEqual = function (e, t, n) { + b(e, t, !1) && v(e, t, n, "notDeepEqual", p.notDeepEqual); + }, p.notDeepStrictEqual = function e(t, n, r) { + b(t, n, !0) && v(t, n, r, "notDeepStrictEqual", e); + }, p.strictEqual = function (e, t, n) { + e !== t && v(e, t, n, "===", p.strictEqual); + }, p.notStrictEqual = function (e, t, n) { + e === t && v(e, t, n, "!==", p.notStrictEqual); + }, p.throws = function (e, t, n) { + S(!0, e, t, n); + }, p.doesNotThrow = function (e, t, n) { + S(!1, e, t, n); + }, p.ifError = function (e) { + if (e) throw e; + }; + + var E = Object.keys || function (e) { + var t = []; + + for (var n in e) { + s.call(e, n) && t.push(n); + } + + return t; + }; + }).call(this, n(7)); + }, function (e, t, n) { + (function (e, r) { + function o(e) { + return (o = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var i = /%[sdj%]/g; + t.format = function (e) { + if (!g(e)) { + for (var t = [], n = 0; n < arguments.length; n++) { + t.push(u(arguments[n])); + } + + return t.join(" "); + } + + n = 1; + + for (var r = arguments, o = r.length, a = String(e).replace(i, function (e) { + if ("%%" === e) return "%"; + if (n >= o) return e; + + switch (e) { + case "%s": + return String(r[n++]); + + case "%d": + return Number(r[n++]); + + case "%j": + try { + return JSON.stringify(r[n++]); + } catch (e) { + return "[Circular]"; + } + + default: + return e; + } + }), s = r[n]; n < o; s = r[++n]) { + y(s) || !w(s) ? a += " " + s : a += " " + u(s); + } + + return a; + }, t.deprecate = function (n, o) { + if (b(e.process)) return function () { + return t.deprecate(n, o).apply(this, arguments); + }; + if (!0 === r.noDeprecation) return n; + var i = !1; + return function () { + if (!i) { + if (r.throwDeprecation) throw new Error(o); + r.traceDeprecation ? console.trace(o) : console.error(o), i = !0; + } + + return n.apply(this, arguments); + }; + }; + var a, + s = {}; + + function u(e, n) { + var r = { + seen: [], + stylize: l + }; + return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), m(n) ? r.showHidden = n : n && t._extend(r, n), b(r.showHidden) && (r.showHidden = !1), b(r.depth) && (r.depth = 2), b(r.colors) && (r.colors = !1), b(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = c), f(r, e, r.depth); + } + + function c(e, t) { + var n = u.styles[t]; + return n ? "[" + u.colors[n][0] + "m" + e + "[" + u.colors[n][1] + "m" : e; + } + + function l(e, t) { + return e; + } + + function f(e, n, r) { + if (e.customInspect && n && O(n.inspect) && n.inspect !== t.inspect && (!n.constructor || n.constructor.prototype !== n)) { + var o = n.inspect(r, e); + return g(o) || (o = f(e, o, r)), o; + } + + var i = function (e, t) { + if (b(t)) return e.stylize("undefined", "undefined"); + + if (g(t)) { + var n = "'" + JSON.stringify(t).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return e.stylize(n, "string"); + } + + if (v(t)) return e.stylize("" + t, "number"); + if (m(t)) return e.stylize("" + t, "boolean"); + if (y(t)) return e.stylize("null", "null"); + }(e, n); + + if (i) return i; + + var a = Object.keys(n), + s = function (e) { + var t = {}; + return e.forEach(function (e, n) { + t[e] = !0; + }), t; + }(a); + + if (e.showHidden && (a = Object.getOwnPropertyNames(n)), E(n) && (a.indexOf("message") >= 0 || a.indexOf("description") >= 0)) return p(n); + + if (0 === a.length) { + if (O(n)) { + var u = n.name ? ": " + n.name : ""; + return e.stylize("[Function" + u + "]", "special"); + } + + if (_(n)) return e.stylize(RegExp.prototype.toString.call(n), "regexp"); + if (S(n)) return e.stylize(Date.prototype.toString.call(n), "date"); + if (E(n)) return p(n); + } + + var c, + l = "", + w = !1, + x = ["{", "}"]; + (h(n) && (w = !0, x = ["[", "]"]), O(n)) && (l = " [Function" + (n.name ? ": " + n.name : "") + "]"); + return _(n) && (l = " " + RegExp.prototype.toString.call(n)), S(n) && (l = " " + Date.prototype.toUTCString.call(n)), E(n) && (l = " " + p(n)), 0 !== a.length || w && 0 != n.length ? r < 0 ? _(n) ? e.stylize(RegExp.prototype.toString.call(n), "regexp") : e.stylize("[Object]", "special") : (e.seen.push(n), c = w ? function (e, t, n, r, o) { + for (var i = [], a = 0, s = t.length; a < s; ++a) { + N(t, String(a)) ? i.push(d(e, t, n, r, String(a), !0)) : i.push(""); + } + + return o.forEach(function (o) { + o.match(/^\d+$/) || i.push(d(e, t, n, r, o, !0)); + }), i; + }(e, n, r, s, a) : a.map(function (t) { + return d(e, n, r, s, t, w); + }), e.seen.pop(), function (e, t, n) { + if (e.reduce(function (e, t) { + return 0, t.indexOf("\n") >= 0 && 0, e + t.replace(/\u001b\[\d\d?m/g, "").length + 1; + }, 0) > 60) return n[0] + ("" === t ? "" : t + "\n ") + " " + e.join(",\n ") + " " + n[1]; + return n[0] + t + " " + e.join(", ") + " " + n[1]; + }(c, l, x)) : x[0] + l + x[1]; + } + + function p(e) { + return "[" + Error.prototype.toString.call(e) + "]"; + } + + function d(e, t, n, r, o, i) { + var a, s, u; + + if ((u = Object.getOwnPropertyDescriptor(t, o) || { + value: t[o] + }).get ? s = u.set ? e.stylize("[Getter/Setter]", "special") : e.stylize("[Getter]", "special") : u.set && (s = e.stylize("[Setter]", "special")), N(r, o) || (a = "[" + o + "]"), s || (e.seen.indexOf(u.value) < 0 ? (s = y(n) ? f(e, u.value, null) : f(e, u.value, n - 1)).indexOf("\n") > -1 && (s = i ? s.split("\n").map(function (e) { + return " " + e; + }).join("\n").substr(2) : "\n" + s.split("\n").map(function (e) { + return " " + e; + }).join("\n")) : s = e.stylize("[Circular]", "special")), b(a)) { + if (i && o.match(/^\d+$/)) return s; + (a = JSON.stringify("" + o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (a = a.substr(1, a.length - 2), a = e.stylize(a, "name")) : (a = a.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), a = e.stylize(a, "string")); + } + + return a + ": " + s; + } + + function h(e) { + return Array.isArray(e); + } + + function m(e) { + return "boolean" == typeof e; + } + + function y(e) { + return null === e; + } + + function v(e) { + return "number" == typeof e; + } + + function g(e) { + return "string" == typeof e; + } + + function b(e) { + return void 0 === e; + } + + function _(e) { + return w(e) && "[object RegExp]" === x(e); + } + + function w(e) { + return "object" === o(e) && null !== e; + } + + function S(e) { + return w(e) && "[object Date]" === x(e); + } + + function E(e) { + return w(e) && ("[object Error]" === x(e) || e instanceof Error); + } + + function O(e) { + return "function" == typeof e; + } + + function x(e) { + return Object.prototype.toString.call(e); + } + + function C(e) { + return e < 10 ? "0" + e.toString(10) : e.toString(10); + } + + t.debuglog = function (e) { + if (b(a) && (a = r.env.NODE_DEBUG || ""), e = e.toUpperCase(), !s[e]) if (new RegExp("\\b" + e + "\\b", "i").test(a)) { + var n = r.pid; + + s[e] = function () { + var r = t.format.apply(t, arguments); + console.error("%s %d: %s", e, n, r); + }; + } else s[e] = function () {}; + return s[e]; + }, t.inspect = u, u.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39] + }, u.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red" + }, t.isArray = h, t.isBoolean = m, t.isNull = y, t.isNullOrUndefined = function (e) { + return null == e; + }, t.isNumber = v, t.isString = g, t.isSymbol = function (e) { + return "symbol" === o(e); + }, t.isUndefined = b, t.isRegExp = _, t.isObject = w, t.isDate = S, t.isError = E, t.isFunction = O, t.isPrimitive = function (e) { + return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" === o(e) || void 0 === e; + }, t.isBuffer = n(50); + var I = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + + function N(e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + } + + t.log = function () { + var e, n; + console.log("%s - %s", (e = new Date(), n = [C(e.getHours()), C(e.getMinutes()), C(e.getSeconds())].join(":"), [e.getDate(), I[e.getMonth()], n].join(" ")), t.format.apply(t, arguments)); + }, t.inherits = n(51), t._extend = function (e, t) { + if (!t || !w(t)) return e; + + for (var n = Object.keys(t), r = n.length; r--;) { + e[n[r]] = t[n[r]]; + } + + return e; + }; + }).call(this, n(7), n(6)); + }, function (e, t) { + function n(e) { + return (n = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + e.exports = function (e) { + return e && "object" === n(e) && "function" == typeof e.copy && "function" == typeof e.fill && "function" == typeof e.readUInt8; + }; + }, function (e, t) { + "function" == typeof Object.create ? e.exports = function (e, t) { + e.super_ = t, e.prototype = Object.create(t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + }); + } : e.exports = function (e, t) { + e.super_ = t; + + var n = function n() {}; + + n.prototype = t.prototype, e.prototype = new n(), e.prototype.constructor = e; + }; + }, function (e, t, n) { + "use strict"; + + function r(e) { + return (r = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + function o(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; + } + + var i = n(53), + a = {}; + + e.exports = function (e, t, n) { + e.onCall("rn-style:get", function (e) { + var r = t.elementData.get(e); + return r && r.props ? n(r.props.style) : null; + }), e.on("rn-style:measure", function (r) { + u(t, e, n, r); + }), e.on("rn-style:rename", function (i) { + var s = i.id, + l = i.oldName, + f = i.newName, + p = i.val; + !function (e, t, n, i, s) { + var u, + l = e.elementData.get(t), + f = i ? (o(u = {}, n, void 0), o(u, i, s), u) : o({}, n, void 0); + + if (l && l.updater && "function" == typeof l.updater.setInProps) { + var p, + d = l && l.props && l.props.style; + + if (Array.isArray(d)) { + var h = d.length - 1; + "object" !== r(d[h]) || Array.isArray(d[h]) ? (d = d.concat([f]), l.updater.setInProps(["style"], d)) : (delete (p = c(d[h]))[n], i ? p[i] = s : p[n] = void 0, l.updater.setInProps(["style", h], p)); + } else "object" === r(d) ? (delete (p = c(d))[n], i ? p[i] = s : p[n] = void 0, l.updater.setInProps(["style"], p)) : (d = [d, f], l.updater.setInProps(["style"], d)); + } else { + if (!l || !l.updater || "function" != typeof l.updater.setNativeProps) return; + a[t] ? _extends(a[t], f) : a[t] = f, l.updater.setNativeProps({ + style: f + }); + } + + e.emit("hideHighlight"); + }(t, s, l, f, p), setTimeout(function () { + return u(t, e, n, s); + }); + }), e.on("rn-style:set", function (i) { + var s = i.id, + c = i.attr, + l = i.val; + !function (e, t, n, i) { + var s = e.elementData.get(t), + u = o({}, n, i); + + if (s && s.updater && "function" == typeof s.updater.setInProps) { + var c = s.props && s.props.style; + + if (Array.isArray(c)) { + var l = c.length - 1; + "object" !== r(c[l]) || Array.isArray(c[l]) ? (c = c.concat([u]), s.updater.setInProps(["style"], c)) : s.updater.setInProps(["style", l, n], i); + } else c = [c, u], s.updater.setInProps(["style"], c); + } else { + if (!s || !s.updater || "function" != typeof s.updater.setNativeProps) return; + a[t] ? _extends(a[t], u) : a[t] = u, s.updater.setNativeProps({ + style: u + }); + } + + e.emit("hideHighlight"); + }(t, s, c, l), setTimeout(function () { + return u(t, e, n, s); + }); + }); + }; + + var s = { + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + + function u(e, t, n, r) { + var o = e.elementData.get(r); + + if (o && o.props) { + var u = n(o.props.style); + a[r] && (u = _extends({}, u, a[r])); + var c = o.publicInstance; + c && c.measure ? c.measure(function (e, n, r, o, a, c) { + if ("number" == typeof e) { + var l = u && i("margin", u) || s, + f = u && i("padding", u) || s; + t.send("rn-style:measure", { + style: u, + measuredLayout: { + x: e, + y: n, + width: r, + height: o, + left: a, + top: c, + margin: l, + padding: f + } + }); + } else t.send("rn-style:measure", { + style: u + }); + }) : t.send("rn-style:measure", { + style: u + }); + } else t.send("rn-style:measure", {}); + } + + function c(e) { + var t = {}; + + for (var n in e) { + t[n] = e[n]; + } + + return t; + } + }, function (e, t) { + e.exports = function (e, t) { + var n = {}, + r = ["top", "left", "bottom", "right"], + o = !1; + return r.forEach(function (r) { + n[r] = t[e] || 0; + }), t[e] && (o = !0), t[e + "Vertical"] && (n.top = n.bottom = t[e + "Vertical"], o = !0), t[e + "Horizontal"] && (n.left = n.right = t[e + "Horizontal"], o = !0), r.forEach(function (r) { + var i, + a = t[e + (i = r, i[0].toUpperCase() + i.slice(1))]; + a && (n[r] = a, o = !0); + }), o ? n : null; + }; + }, function (e, t, n) { + var r, o, i; + !function (n, a) { + "use strict"; + + o = [], void 0 === (i = "function" == typeof (r = function r() { + function e(e) { + return !isNaN(parseFloat(e)) && isFinite(e); + } + + function t(e) { + return e.charAt(0).toUpperCase() + e.substring(1); + } + + function n(e) { + return function () { + return this[e]; + }; + } + + var r = ["isConstructor", "isEval", "isNative", "isToplevel"], + o = ["columnNumber", "lineNumber"], + i = ["fileName", "functionName", "source"], + a = r.concat(o, i, ["args"]); + + function s(e) { + if (e instanceof Object) for (var n = 0; n < a.length; n++) { + e.hasOwnProperty(a[n]) && void 0 !== e[a[n]] && this["set" + t(a[n])](e[a[n]]); + } + } + + s.prototype = { + getArgs: function getArgs() { + return this.args; + }, + setArgs: function setArgs(e) { + if ("[object Array]" !== Object.prototype.toString.call(e)) throw new TypeError("Args must be an Array"); + this.args = e; + }, + getEvalOrigin: function getEvalOrigin() { + return this.evalOrigin; + }, + setEvalOrigin: function setEvalOrigin(e) { + if (e instanceof s) this.evalOrigin = e;else { + if (!(e instanceof Object)) throw new TypeError("Eval Origin must be an Object or StackFrame"); + this.evalOrigin = new s(e); + } + }, + toString: function toString() { + var t = this.getFunctionName() || "{anonymous}", + n = "(" + (this.getArgs() || []).join(",") + ")", + r = this.getFileName() ? "@" + this.getFileName() : "", + o = e(this.getLineNumber()) ? ":" + this.getLineNumber() : "", + i = e(this.getColumnNumber()) ? ":" + this.getColumnNumber() : ""; + return t + n + r + o + i; + } + }; + + for (var u = 0; u < r.length; u++) { + s.prototype["get" + t(r[u])] = n(r[u]), s.prototype["set" + t(r[u])] = function (e) { + return function (t) { + this[e] = Boolean(t); + }; + }(r[u]); + } + + for (var c = 0; c < o.length; c++) { + s.prototype["get" + t(o[c])] = n(o[c]), s.prototype["set" + t(o[c])] = function (t) { + return function (n) { + if (!e(n)) throw new TypeError(t + " must be a Number"); + this[t] = Number(n); + }; + }(o[c]); + } + + for (var l = 0; l < i.length; l++) { + s.prototype["get" + t(i[l])] = n(i[l]), s.prototype["set" + t(i[l])] = function (e) { + return function (t) { + this[e] = String(t); + }; + }(i[l]); + } + + return s; + }) ? r.apply(t, o) : r) || (e.exports = i); + }(); + }, function (e, t, n) { + "use strict"; + + var r = function r() {}; + + e.exports = function (e, t, n) { + var o = function o() { + var n = !1; + t.roots.forEach(function (e) { + t.internalInstancesById.get(e).hasOwnProperty("treeBaseDuration") && (n = !0); + }), e.call("profiler:update", [n], r); + }; + + t.on("root", o), t.on("rootUnmounted", o), o(); + }; + }, function (e, t, n) { + "use strict"; + + var r = n(57); + + e.exports = function (e) { + var t = new r(window, function (t) { + e.selectFromDOMNode(t); + }); + e.on("highlight", function (e) { + return t.highlight(e.node, e.name); + }), e.on("highlightMany", function (e) { + return t.highlightMany(e); + }), e.on("hideHighlight", function () { + return t.hideHighlight(); + }), e.on("refreshMultiOverlay", function () { + return t.refreshMultiOverlay(); + }), e.on("startInspecting", function () { + return t.startInspecting(); + }), e.on("stopInspecting", function () { + return t.stopInspecting(); + }), e.on("shutdown", function () { + t.remove(); + }); + }; + }, function (e, t, n) { + "use strict"; + + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + var o = n(58), + i = n(60), + a = function () { + function e(t, n) { + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, e), this._win = t, this._onSelect = n, this._overlay = null, this._multiOverlay = null, this._subs = []; + } + + var t, n, a; + return t = e, (n = [{ + key: "startInspecting", + value: function value() { + this._inspecting = !0, this._subs = [s(this._win, "mouseover", this.onHover.bind(this)), s(this._win, "mousedown", this.onMouseDown.bind(this)), s(this._win, "click", this.onClick.bind(this))]; + } + }, { + key: "stopInspecting", + value: function value() { + this._subs.forEach(function (e) { + return e(); + }), this.hideHighlight(); + } + }, { + key: "remove", + value: function value() { + this.stopInspecting(), this._button && this._button.parentNode && this._button.parentNode.removeChild(this._button); + } + }, { + key: "highlight", + value: function value(e, t) { + this.removeMultiOverlay(), e.nodeType !== Node.COMMENT_NODE && (this._overlay || (this._overlay = new o(this._win)), this._overlay.inspect(e, t)); + } + }, { + key: "highlightMany", + value: function value(e) { + this.removeOverlay(), this._multiOverlay || (this._multiOverlay = new i(this._win)), this._multiOverlay.highlightMany(e); + } + }, { + key: "hideHighlight", + value: function value() { + this._inspecting = !1, this.removeOverlay(), this.removeMultiOverlay(); + } + }, { + key: "refreshMultiOverlay", + value: function value() { + this._multiOverlay && this._multiOverlay.refresh(); + } + }, { + key: "removeOverlay", + value: function value() { + this._overlay && (this._overlay.remove(), this._overlay = null); + } + }, { + key: "removeMultiOverlay", + value: function value() { + this._multiOverlay && (this._multiOverlay.remove(), this._multiOverlay = null); + } + }, { + key: "onMouseDown", + value: function value(e) { + this._inspecting && (e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0, this._onSelect(e.target)); + } + }, { + key: "onClick", + value: function value(e) { + this._inspecting && (this._subs.forEach(function (e) { + return e(); + }), e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0, this.hideHighlight()); + } + }, { + key: "onHover", + value: function value(e) { + this._inspecting && (e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0, this.highlight(e.target)); + } + }, { + key: "injectButton", + value: function value() { + var e; + this._button = ((e = window.document.createElement("button")).innerHTML = "🔍", e.style.backgroundColor = "transparent", e.style.border = "none", e.style.outline = "none", e.style.cursor = "pointer", e.style.position = "fixed", e.style.bottom = "10px", e.style.right = "10px", e.style.fontSize = "30px", e.style.zIndex = 1e7, e), this._button.onclick = this.startInspecting.bind(this), this._win.document.body.appendChild(this._button); + } + }]) && r(t.prototype, n), a && r(t, a), e; + }(); + + function s(e, t, n) { + return e.addEventListener(t, n, !0), function () { + return e.removeEventListener(t, n, !0); + }; + } + + e.exports = a; + }, function (e, t, n) { + "use strict"; + + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + var o = n(1), + i = n(59).monospace, + a = function () { + function e(t) { + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, e); + var n = t.document; + this.win = t, this.container = n.createElement("div"), this.node = n.createElement("div"), this.border = n.createElement("div"), this.padding = n.createElement("div"), this.content = n.createElement("div"), this.border.style.borderColor = d.border, this.padding.style.borderColor = d.padding, this.content.style.backgroundColor = d.background, o(this.node.style, { + borderColor: d.margin, + pointerEvents: "none", + position: "fixed" + }), this.tip = n.createElement("div"), o(this.tip.style, { + backgroundColor: "#333740", + borderRadius: "2px", + fontFamily: i.family, + fontWeight: "bold", + padding: "3px 5px", + position: "fixed", + fontSize: i.sizes.normal + "px" + }), this.nameSpan = n.createElement("span"), this.tip.appendChild(this.nameSpan), o(this.nameSpan.style, { + color: "#ee78e6", + borderRight: "1px solid #aaaaaa", + paddingRight: "0.5rem", + marginRight: "0.5rem" + }), this.dimSpan = n.createElement("span"), this.tip.appendChild(this.dimSpan), o(this.dimSpan.style, { + color: "#d7d7d7" + }), this.container.style.zIndex = 1e7, this.node.style.zIndex = 1e7, this.tip.style.zIndex = 1e7, this.container.appendChild(this.node), this.container.appendChild(this.tip), this.node.appendChild(this.border), this.border.appendChild(this.padding), this.padding.appendChild(this.content), n.body.appendChild(this.container); + } + + var t, n, a; + return t = e, (n = [{ + key: "remove", + value: function value() { + this.container.parentNode && this.container.parentNode.removeChild(this.container); + } + }, { + key: "inspect", + value: function value(e, t) { + if (e.nodeType === Node.ELEMENT_NODE) { + var n = function (e, t) { + var n = c(e); + + if (n && n !== t) { + for (var r = [e.getBoundingClientRect()], o = n, i = !1; o;) { + var a = l(o); + if (r.push(a), o = c(o), i) break; + o && u(o) === t && (i = !0); + } + + return f(r); + } + + return e.getBoundingClientRect(); + }(e, this.win), + r = s(e); + + p(r, "margin", this.node), p(r, "border", this.border), p(r, "padding", this.padding), o(this.content.style, { + height: n.height - r.borderTop - r.borderBottom - r.paddingTop - r.paddingBottom + "px", + width: n.width - r.borderLeft - r.borderRight - r.paddingLeft - r.paddingRight + "px" + }), o(this.node.style, { + top: n.top - r.marginTop + "px", + left: n.left - r.marginLeft + "px" + }), this.nameSpan.textContent = t || e.nodeName.toLowerCase(), this.dimSpan.textContent = n.width + "px × " + n.height + "px"; + + var i = function (e, t) { + var n; + n = e.top + e.height + 20 <= t.innerHeight ? e.top + e.height < 0 ? 5 : e.top + e.height + 5 : e.top - 20 <= t.innerHeight ? e.top - 20 - 5 < 5 ? 5 : e.top - 20 - 5 : t.innerHeight - 20 - 5; + if (n += "px", e.left < 0) return { + top: n, + left: 5 + }; + if (e.left + 200 > t.innerWidth) return { + top: n, + right: 5 + }; + return { + top: n, + left: e.left + 5 + "px" + }; + }({ + top: n.top - r.marginTop, + left: n.left - r.marginLeft, + height: n.height + r.marginTop + r.marginBottom, + width: n.width + r.marginLeft + r.marginRight + }, this.win); + + o(this.tip.style, i); + } + } + }]) && r(t.prototype, n), a && r(t, a), e; + }(); + + function s(e) { + var t = window.getComputedStyle(e); + return { + borderLeft: +t.borderLeftWidth.match(/[0-9]*/)[0], + borderRight: +t.borderRightWidth.match(/[0-9]*/)[0], + borderTop: +t.borderTopWidth.match(/[0-9]*/)[0], + borderBottom: +t.borderBottomWidth.match(/[0-9]*/)[0], + marginLeft: +t.marginLeft.match(/[0-9]*/)[0], + marginRight: +t.marginRight.match(/[0-9]*/)[0], + marginTop: +t.marginTop.match(/[0-9]*/)[0], + marginBottom: +t.marginBottom.match(/[0-9]*/)[0], + paddingLeft: +t.paddingLeft.match(/[0-9]*/)[0], + paddingRight: +t.paddingRight.match(/[0-9]*/)[0], + paddingTop: +t.paddingTop.match(/[0-9]*/)[0], + paddingBottom: +t.paddingBottom.match(/[0-9]*/)[0] + }; + } + + function u(e) { + return e.ownerDocument ? e.ownerDocument.defaultView : null; + } + + function c(e) { + var t = u(e); + return t ? t.frameElement : null; + } + + function l(e) { + var t = s(e); + return f([e.getBoundingClientRect(), { + top: t.borderTop, + left: t.borderLeft, + bottom: t.borderBottom, + right: t.borderRight, + width: 0, + height: 0 + }]); + } + + function f(e) { + return e.reduce(function (e, t) { + return null == e ? t : { + top: e.top + t.top, + left: e.left + t.left, + width: e.width, + height: e.height, + bottom: e.bottom + t.bottom, + right: e.right + t.right + }; + }); + } + + function p(e, t, n) { + o(n.style, { + borderTopWidth: e[t + "Top"] + "px", + borderLeftWidth: e[t + "Left"] + "px", + borderRightWidth: e[t + "Right"] + "px", + borderBottomWidth: e[t + "Bottom"] + "px", + borderStyle: "solid" + }); + } + + var d = { + background: "rgba(120, 170, 210, 0.7)", + padding: "rgba(77, 200, 0, 0.3)", + margin: "rgba(255, 155, 0, 0.3)", + border: "rgba(255, 200, 50, 0.3)" + }; + e.exports = a; + }, function (e, t, n) { + "use strict"; + + e.exports = { + monospace: { + family: "Menlo, Consolas, monospace", + sizes: { + normal: 11, + large: 14 + } + }, + sansSerif: { + family: '"Helvetica Neue", "Lucida Grande", -apple-system, BlinkMacSystemFont, "Segoe UI", Ubuntu, sans-serif', + sizes: { + small: 10, + normal: 12, + large: 14 + } + } + }; + }, function (e, t, n) { + "use strict"; + + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); + } + } + + var o = n(1), + i = function () { + function e(t) { + !function (e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + }(this, e), this.win = t; + var n = t.document; + this.container = n.createElement("div"), n.body.appendChild(this.container), this._currentNodes = null; + } + + var t, n, i; + return t = e, (n = [{ + key: "highlightMany", + value: function value(e) { + var t = this; + this._currentNodes = e, this.container.innerHTML = "", e.forEach(function (e) { + var n = t.win.document.createElement("div"); + + if ("function" == typeof e.getBoundingClientRect) { + var r = e.getBoundingClientRect(); + r.bottom < 0 || r.top > window.innerHeight || (o(n.style, { + top: r.top + "px", + left: r.left + "px", + width: r.width + "px", + height: r.height + "px", + border: "2px dotted rgba(200, 100, 100, .8)", + boxSizing: "border-box", + backgroundColor: "rgba(200, 100, 100, .2)", + position: "fixed", + zIndex: 1e7, + pointerEvents: "none" + }), t.container.appendChild(n)); + } + }); + } + }, { + key: "refresh", + value: function value() { + this._currentNodes && this.highlightMany(this._currentNodes); + } + }, { + key: "remove", + value: function value() { + this.container.parentNode && (this.container.parentNode.removeChild(this.container), this._currentNodes = null); + } + }]) && r(t.prototype, n), i && r(t, i), e; + }(); + + e.exports = i; + }, function (e, t, n) { + "use strict"; + + n.r(t); + var r = n(0), + o = n.n(r); + + function i(e) { + return (i = "function" == typeof Symbol && "symbol" == typeof (typeof Symbol === "function" ? Symbol.iterator : "@@iterator") ? function (e) { + return typeof e; + } : function (e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== (typeof Symbol === "function" ? Symbol.prototype : "@@prototype") ? "symbol" : typeof e; + })(e); + } + + var a = 10, + s = 11, + u = 0, + c = 15, + l = [], + f = null; + + function p() { + if (null === f) { + var e, + t = new Map(); + + try { + m.useContext({ + _currentValue: null + }), m.useState(null), m.useReducer(function (e, t) { + return e; + }, null), m.useRef(null), m.useLayoutEffect(function () {}), m.useEffect(function () {}), m.useImperativeHandle(void 0, function () { + return null; + }), m.useCallback(function () {}), m.useMemo(function () { + return null; + }), m.useDebugValue(null); + } finally { + e = l, l = []; + } + + for (var n = 0; n < e.length; n++) { + var r = e[n]; + t.set(r.primitive, o.a.parse(r.stackError)); + } + + f = t; + } + + return f; + } + + var d = null; + + function h() { + var e = d; + return null !== e && (d = e.next), e; + } + + var m = { + readContext: function readContext(e, t) { + return e._currentValue; + }, + useCallback: function useCallback(e, t) { + var n = h(); + return l.push({ + primitive: "Callback", + stackError: new Error(), + value: null !== n ? n.memoizedState[0] : e + }), e; + }, + useContext: function useContext(e, t) { + return l.push({ + primitive: "Context", + stackError: new Error(), + value: e._currentValue + }), e._currentValue; + }, + useEffect: function useEffect(e, t) { + h(), l.push({ + primitive: "Effect", + stackError: new Error(), + value: e + }); + }, + useImperativeHandle: function useImperativeHandle(e, t, n) { + h(); + var r = void 0; + null !== e && "object" === i(e) && (r = e.current), l.push({ + primitive: "ImperativeHandle", + stackError: new Error(), + value: r + }); + }, + useDebugValue: function useDebugValue(e, t) { + l.push({ + primitive: "DebugValue", + stackError: new Error(), + value: "function" == typeof t ? t(e) : e + }); + }, + useLayoutEffect: function useLayoutEffect(e, t) { + h(), l.push({ + primitive: "LayoutEffect", + stackError: new Error(), + value: e + }); + }, + useMemo: function useMemo(e, t) { + var n = h(), + r = null !== n ? n.memoizedState[0] : e(); + return l.push({ + primitive: "Memo", + stackError: new Error(), + value: r + }), r; + }, + useReducer: function useReducer(e, t, n) { + var r = h(), + o = null !== r ? r.memoizedState : t; + return l.push({ + primitive: "Reducer", + stackError: new Error(), + value: o + }), [o, function (e) {}]; + }, + useRef: function useRef(e) { + var t = h(), + n = null !== t ? t.memoizedState : { + current: e + }; + return l.push({ + primitive: "Ref", + stackError: new Error(), + value: n.current + }), n; + }, + useState: function useState(e) { + var t = h(), + n = null !== t ? t.memoizedState : "function" == typeof e ? e() : e; + return l.push({ + primitive: "State", + stackError: new Error(), + value: n + }), [n, function (e) {}]; + } + }, + y = 0; + + function v(e, t, n) { + var r = t[n].source; + + e: for (var o = 0; o < e.length; o++) { + if (e[o].source === r) { + for (var i = n + 1, a = o + 1; i < t.length && a < e.length; i++, a++) { + if (e[a].source !== t[i].source) continue e; + } + + return o; + } + } + + return -1; + } + + function g(e, t) { + if (!e) return !1; + var n = "use" + t; + return !(e.length < n.length) && e.lastIndexOf(n) === e.length - n.length; + } + + function b(e, t) { + var n = o.a.parse(t.stackError), + r = function (e, t) { + var n = v(t, e, y); + if (-1 !== n) return n; + + for (var r = 0; r < e.length && r < 5; r++) { + if (-1 !== (n = v(t, e, r))) return y = r, n; + } + + return -1; + }(e, n), + i = function (e, t) { + var n = p().get(t.primitive); + if (void 0 === n) return -1; + + for (var r = 0; r < n.length && r < e.length; r++) { + if (n[r].source !== e[r].source) return r < e.length - 1 && g(e[r].functionName, t.primitive) && r++, r < e.length - 1 && g(e[r].functionName, t.primitive) && r++, r; + } + + return -1; + }(n, t); + + return -1 === r || -1 === i || r - i < 2 ? null : n.slice(i, r - 1); + } + + function _(e) { + if (!e) return ""; + var t = e.lastIndexOf("."); + return -1 === t && (t = 0), "use" === e.substr(t, 3) && (t += 3), e.substr(t); + } + + function w(e, t) { + for (var n = [], r = null, o = n, i = [], a = 0; a < t.length; a++) { + var s = t[a], + u = b(e, s); + + if (null !== u) { + var c = 0; + + if (null !== r) { + for (; c < u.length && c < r.length;) { + if (u[u.length - c - 1].source !== r[r.length - c - 1].source) break; + c++; + } + + for (var l = r.length - 1; l > c; l--) { + o = i.pop(); + } + } + + for (var f = u.length - c - 1; f >= 1; f--) { + var p = []; + o.push({ + name: _(u[f - 1].functionName), + value: void 0, + subHooks: p + }), i.push(o), o = p; + } + + r = u; + } + + o.push({ + name: s.primitive, + value: s.value, + subHooks: [] + }); + } + + return function e(t, n) { + var r = []; + + for (var o = 0; o < t.length; o++) { + var i = t[o]; + "DebugValue" === i.name && 0 === i.subHooks.length ? (t.splice(o, 1), o--, r.push(i)) : e(i.subHooks, i); + } + + null !== n && (1 === r.length ? n.value = r[0].value : r.length > 1 && (n.value = r.map(function (e) { + var t = e.value; + return t; + }))); + }(n, null), n; + } + + function S(e, t) { + if (e.tag !== u && e.tag !== c && e.tag !== s) throw new Error("Unknown Fiber. Needs to be a function component to inspect hooks."); + p(); + var n = e.type, + r = e.memoizedProps; + n !== e.elementType && (r = function (e, t) { + if (e && e.defaultProps) { + var n = _extends({}, t), + r = e.defaultProps; + + for (var o in r) { + void 0 === n[o] && (n[o] = r[o]); + } + + return n; + } + + return t; + }(n, r)), d = e.memoizedState; + var i = new Map(); + + try { + return function (e, t) { + for (var n = t; n;) { + if (n.tag === a) { + var r = n.type._context; + e.has(r) || (e.set(r, r._currentValue), r._currentValue = n.memoizedProps.value); + } + + n = n.return; + } + }(i, e), e.tag === s ? function (e, t, n, r) { + var i, + a, + s = r.current; + r.current = m; + + try { + a = new Error(), e(t, n); + } finally { + i = l, l = [], r.current = s; + } + + return w(o.a.parse(a), i); + }(n.render, r, e.ref, t) : function (e, t, n) { + var r, + i, + a = n.current; + n.current = m; + + try { + i = new Error(), e(t); + } finally { + r = l, l = [], n.current = a; + } + + return w(o.a.parse(i), r); + }(n, r, t); + } finally { + d = null, function (e) { + e.forEach(function (e, t) { + return t._currentValue = e; + }); + }(i); + } + } + + function E(e, t) { + var n = null, + r = null; + + function o(e) { + var n = t.elementData.get(e), + r = t.internalInstancesById.get(e); + + if (r) { + var o = t.renderers.get(e); + + if (o) { + var i = t.reactInternals[o].renderer; + if (i && i.currentDispatcherRef) return { + elementID: e, + id: "hooksTree", + hooksTree: S(n.state === r.memoizedState ? r : r.alternate, i.currentDispatcherRef) + }; + } + } + + return null; + } + + t.on("selected", function (i) { + r = i; + var a = t.elementData.get(i), + s = null; + a && a.containsHooks && (s = o(i)), n !== s && (n = s, e.send("inspectedHooks", s)); + }), t.on("update", function (t) { + if (null !== r && null !== n && n.elementID === t.id) { + var i = o(t.id); + n !== i && (n = i, e.send("inspectedHooks", i)); + } + }); + } + + n.d(t, "default", function () { + return E; + }); + }]); + }); +},318,[],"node_modules/react-devtools-core/build/backend.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var JSInspector = { + registerAgent: function registerAgent(type) { + if (global.__registerInspectorAgent) { + global.__registerInspectorAgent(type); + } + }, + getTimestamp: function getTimestamp() { + return global.__inspectorTimestamp(); + } + }; + module.exports = JSInspector; +},319,[],"node_modules/react-native/Libraries/JSInspector/JSInspector.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var InspectorAgent = _$$_REQUIRE(_dependencyMap[0], 'InspectorAgent'); + + var JSInspector = _$$_REQUIRE(_dependencyMap[1], 'JSInspector'); + + var Map = _$$_REQUIRE(_dependencyMap[2], 'Map'); + + var XMLHttpRequest = _$$_REQUIRE(_dependencyMap[3], 'XMLHttpRequest'); + + var Interceptor = function () { + function Interceptor(agent) { + _classCallCheck(this, Interceptor); + + this._agent = agent; + this._requests = new Map(); + } + + _createClass(Interceptor, [{ + key: "getData", + value: function getData(requestId) { + return this._requests.get(requestId); + } + }, { + key: "requestSent", + value: function requestSent(id, url, method, headers) { + var requestId = String(id); + + this._requests.set(requestId, ''); + + var request = { + url: url, + method: method, + headers: headers, + initialPriority: 'Medium' + }; + var event = { + requestId: requestId, + documentURL: '', + frameId: '1', + loaderId: '1', + request: request, + timestamp: JSInspector.getTimestamp(), + initiator: { + type: 'other' + }, + type: 'Other' + }; + + this._agent.sendEvent('requestWillBeSent', event); + } + }, { + key: "responseReceived", + value: function responseReceived(id, url, status, headers) { + var requestId = String(id); + var response = { + url: url, + status: status, + statusText: String(status), + headers: headers, + requestHeaders: {}, + mimeType: this._getMimeType(headers), + connectionReused: false, + connectionId: -1, + encodedDataLength: 0, + securityState: 'unknown' + }; + var event = { + requestId: requestId, + frameId: '1', + loaderId: '1', + timestamp: JSInspector.getTimestamp(), + type: 'Other', + response: response + }; + + this._agent.sendEvent('responseReceived', event); + } + }, { + key: "dataReceived", + value: function dataReceived(id, data) { + var requestId = String(id); + var existingData = this._requests.get(requestId) || ''; + + this._requests.set(requestId, existingData.concat(data)); + + var event = { + requestId: requestId, + timestamp: JSInspector.getTimestamp(), + dataLength: data.length, + encodedDataLength: data.length + }; + + this._agent.sendEvent('dataReceived', event); + } + }, { + key: "loadingFinished", + value: function loadingFinished(id, encodedDataLength) { + var event = { + requestId: String(id), + timestamp: JSInspector.getTimestamp(), + encodedDataLength: encodedDataLength + }; + + this._agent.sendEvent('loadingFinished', event); + } + }, { + key: "loadingFailed", + value: function loadingFailed(id, error) { + var event = { + requestId: String(id), + timestamp: JSInspector.getTimestamp(), + type: 'Other', + errorText: error + }; + + this._agent.sendEvent('loadingFailed', event); + } + }, { + key: "_getMimeType", + value: function _getMimeType(headers) { + var contentType = headers['Content-Type'] || ''; + return contentType.split(';')[0]; + } + }]); + + return Interceptor; + }(); + + var NetworkAgent = function (_InspectorAgent) { + function NetworkAgent() { + _classCallCheck(this, NetworkAgent); + + return _possibleConstructorReturn(this, _getPrototypeOf(NetworkAgent).apply(this, arguments)); + } + + _createClass(NetworkAgent, [{ + key: "enable", + value: function enable(_ref) { + var maxResourceBufferSize = _ref.maxResourceBufferSize, + maxTotalBufferSize = _ref.maxTotalBufferSize; + this._interceptor = new Interceptor(this); + XMLHttpRequest.setInterceptor(this._interceptor); + } + }, { + key: "disable", + value: function disable() { + XMLHttpRequest.setInterceptor(null); + this._interceptor = null; + } + }, { + key: "getResponseBody", + value: function getResponseBody(_ref2) { + var requestId = _ref2.requestId; + return { + body: this.interceptor().getData(requestId), + base64Encoded: false + }; + } + }, { + key: "interceptor", + value: function interceptor() { + if (this._interceptor) { + return this._interceptor; + } else { + throw Error('_interceptor can not be null'); + } + } + }]); + + _inherits(NetworkAgent, _InspectorAgent); + + return NetworkAgent; + }(InspectorAgent); + + NetworkAgent.DOMAIN = 'Network'; + module.exports = NetworkAgent; +},320,[321,319,266,279],"node_modules/react-native/Libraries/JSInspector/NetworkAgent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var InspectorAgent = function () { + function InspectorAgent(eventSender) { + _classCallCheck(this, InspectorAgent); + + this._eventSender = eventSender; + } + + _createClass(InspectorAgent, [{ + key: "sendEvent", + value: function sendEvent(name, params) { + this._eventSender(name, params); + } + }]); + + return InspectorAgent; + }(); + + module.exports = InspectorAgent; +},321,[],"node_modules/react-native/Libraries/JSInspector/InspectorAgent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[0], 'BatchedBridge'); + + var RCTEventEmitter = { + register: function register(eventEmitter) { + BatchedBridge.registerCallableModule('RCTEventEmitter', eventEmitter); + } + }; + module.exports = RCTEventEmitter; +},322,[169],"node_modules/react-native/Libraries/EventEmitter/RCTEventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var emptyObject = {}; + + if (process.env.NODE_ENV !== 'production') { + Object.freeze(emptyObject); + } + + module.exports = emptyObject; +},323,[],"node_modules/react-native/node_modules/fbjs/lib/emptyObject.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var deepDiffer = function deepDiffer(one, two) { + var maxDepth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1; + + if (maxDepth === 0) { + return true; + } + + if (one === two) { + return false; + } + + if (typeof one === 'function' && typeof two === 'function') { + return false; + } + + if (typeof one !== 'object' || one === null) { + return one !== two; + } + + if (typeof two !== 'object' || two === null) { + return true; + } + + if (one.constructor !== two.constructor) { + return true; + } + + if (Array.isArray(one)) { + var len = one.length; + + if (two.length !== len) { + return true; + } + + for (var ii = 0; ii < len; ii++) { + if (deepDiffer(one[ii], two[ii], maxDepth - 1)) { + return true; + } + } + } else { + for (var key in one) { + if (deepDiffer(one[key], two[key], maxDepth - 1)) { + return true; + } + } + + for (var twoKey in two) { + if (one[twoKey] === undefined && two[twoKey] !== undefined) { + return true; + } + } + } + + return false; + }; + + module.exports = deepDiffer; +},324,[],"node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var UIManager = _$$_REQUIRE(_dependencyMap[1], 'UIManager'); + + var inputs = new Set(); + var TextInputState = { + _currentlyFocusedID: null, + currentlyFocusedField: function currentlyFocusedField() { + return this._currentlyFocusedID; + }, + focusTextInput: function focusTextInput(textFieldID) { + if (this._currentlyFocusedID !== textFieldID && textFieldID !== null) { + this._currentlyFocusedID = textFieldID; + + if (Platform.OS === 'ios') { + UIManager.focus(textFieldID); + } else if (Platform.OS === 'android') { + UIManager.dispatchViewManagerCommand(textFieldID, UIManager.AndroidTextInput.Commands.focusTextInput, null); + } + } + }, + blurTextInput: function blurTextInput(textFieldID) { + if (this._currentlyFocusedID === textFieldID && textFieldID !== null) { + this._currentlyFocusedID = null; + + if (Platform.OS === 'ios') { + UIManager.blur(textFieldID); + } else if (Platform.OS === 'android') { + UIManager.dispatchViewManagerCommand(textFieldID, UIManager.AndroidTextInput.Commands.blurTextInput, null); + } + } + }, + registerInput: function registerInput(textFieldID) { + inputs.add(textFieldID); + }, + unregisterInput: function unregisterInput(textFieldID) { + inputs.delete(textFieldID); + }, + isTextInput: function isTextInput(textFieldID) { + return inputs.has(textFieldID); + } + }; + module.exports = TextInputState; +},325,[176,218],"node_modules/react-native/Libraries/Components/TextInput/TextInputState.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + _$$_REQUIRE(_dependencyMap[0], "InitializeCore"); + + var invariant = _$$_REQUIRE(_dependencyMap[1], "fbjs/lib/invariant"), + ReactNativeViewConfigRegistry = _$$_REQUIRE(_dependencyMap[2], "ReactNativeViewConfigRegistry"), + UIManager = _$$_REQUIRE(_dependencyMap[3], "UIManager"), + RCTEventEmitter = _$$_REQUIRE(_dependencyMap[4], "RCTEventEmitter"), + React = _$$_REQUIRE(_dependencyMap[5], "react"), + emptyObject = _$$_REQUIRE(_dependencyMap[6], "fbjs/lib/emptyObject"), + deepDiffer = _$$_REQUIRE(_dependencyMap[7], "deepDiffer"), + flattenStyle = _$$_REQUIRE(_dependencyMap[8], "flattenStyle"), + TextInputState = _$$_REQUIRE(_dependencyMap[9], "TextInputState"), + ExceptionsManager = _$$_REQUIRE(_dependencyMap[10], "ExceptionsManager"); + + function _invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + this._hasCaughtError = !1; + this._caughtError = null; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + try { + func.apply(context, funcArgs); + } catch (error) { + this._caughtError = error, this._hasCaughtError = !0; + } + } + + var ReactErrorUtils = { + _caughtError: null, + _hasCaughtError: !1, + _rethrowError: null, + _hasRethrowError: !1, + invokeGuardedCallback: function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + _invokeGuardedCallback.apply(ReactErrorUtils, arguments); + }, + invokeGuardedCallbackAndCatchFirstError: function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { + ReactErrorUtils.invokeGuardedCallback.apply(this, arguments); + + if (ReactErrorUtils.hasCaughtError()) { + var error = ReactErrorUtils.clearCaughtError(); + ReactErrorUtils._hasRethrowError || (ReactErrorUtils._hasRethrowError = !0, ReactErrorUtils._rethrowError = error); + } + }, + rethrowCaughtError: function rethrowCaughtError() { + return _rethrowCaughtError.apply(ReactErrorUtils, arguments); + }, + hasCaughtError: function hasCaughtError() { + return ReactErrorUtils._hasCaughtError; + }, + clearCaughtError: function clearCaughtError() { + if (ReactErrorUtils._hasCaughtError) { + var error = ReactErrorUtils._caughtError; + ReactErrorUtils._caughtError = null; + ReactErrorUtils._hasCaughtError = !1; + return error; + } + + invariant(!1, "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."); + } + }; + + function _rethrowCaughtError() { + if (ReactErrorUtils._hasRethrowError) { + var error = ReactErrorUtils._rethrowError; + ReactErrorUtils._rethrowError = null; + ReactErrorUtils._hasRethrowError = !1; + throw error; + } + } + + var eventPluginOrder = null, + namesToPlugins = {}; + + function recomputePluginOrdering() { + if (eventPluginOrder) for (var pluginName in namesToPlugins) { + var pluginModule = namesToPlugins[pluginName], + pluginIndex = eventPluginOrder.indexOf(pluginName); + invariant(-1 < pluginIndex, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", pluginName); + + if (!plugins[pluginIndex]) { + invariant(pluginModule.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", pluginName); + plugins[pluginIndex] = pluginModule; + pluginIndex = pluginModule.eventTypes; + + for (var eventName in pluginIndex) { + var JSCompiler_inline_result = void 0; + var dispatchConfig = pluginIndex[eventName], + pluginModule$jscomp$0 = pluginModule, + eventName$jscomp$0 = eventName; + invariant(!eventNameDispatchConfigs.hasOwnProperty(eventName$jscomp$0), "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", eventName$jscomp$0); + eventNameDispatchConfigs[eventName$jscomp$0] = dispatchConfig; + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + + if (phasedRegistrationNames) { + for (JSCompiler_inline_result in phasedRegistrationNames) { + phasedRegistrationNames.hasOwnProperty(JSCompiler_inline_result) && publishRegistrationName(phasedRegistrationNames[JSCompiler_inline_result], pluginModule$jscomp$0, eventName$jscomp$0); + } + + JSCompiler_inline_result = !0; + } else dispatchConfig.registrationName ? (publishRegistrationName(dispatchConfig.registrationName, pluginModule$jscomp$0, eventName$jscomp$0), JSCompiler_inline_result = !0) : JSCompiler_inline_result = !1; + + invariant(JSCompiler_inline_result, "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", eventName, pluginName); + } + } + } + } + + function publishRegistrationName(registrationName, pluginModule) { + invariant(!registrationNameModules[registrationName], "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", registrationName); + registrationNameModules[registrationName] = pluginModule; + } + + var plugins = [], + eventNameDispatchConfigs = {}, + registrationNameModules = {}, + getFiberCurrentPropsFromNode = null, + getInstanceFromNode = null, + getNodeFromInstance = null; + + function executeDispatch(event, simulated, listener, inst) { + simulated = event.type || "unknown-event"; + event.currentTarget = getNodeFromInstance(inst); + ReactErrorUtils.invokeGuardedCallbackAndCatchFirstError(simulated, listener, void 0, event); + event.currentTarget = null; + } + + function executeDirectDispatch(event) { + var dispatchListener = event._dispatchListeners, + dispatchInstance = event._dispatchInstances; + invariant(!Array.isArray(dispatchListener), "executeDirectDispatch(...): Invalid `event`."); + event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null; + dispatchListener = dispatchListener ? dispatchListener(event) : null; + event.currentTarget = null; + event._dispatchListeners = null; + event._dispatchInstances = null; + return dispatchListener; + } + + function accumulateInto(current, next) { + invariant(null != next, "accumulateInto(...): Accumulated items must not be null or undefined."); + if (null == current) return next; + + if (Array.isArray(current)) { + if (Array.isArray(next)) return current.push.apply(current, next), current; + current.push(next); + return current; + } + + return Array.isArray(next) ? [current].concat(next) : [current, next]; + } + + function forEachAccumulated(arr, cb, scope) { + Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr); + } + + var eventQueue = null; + + function executeDispatchesAndReleaseTopLevel(e) { + if (e) { + var dispatchListeners = e._dispatchListeners, + dispatchInstances = e._dispatchInstances; + if (Array.isArray(dispatchListeners)) for (var i = 0; i < dispatchListeners.length && !e.isPropagationStopped(); i++) { + executeDispatch(e, !1, dispatchListeners[i], dispatchInstances[i]); + } else dispatchListeners && executeDispatch(e, !1, dispatchListeners, dispatchInstances); + e._dispatchListeners = null; + e._dispatchInstances = null; + e.isPersistent() || e.constructor.release(e); + } + } + + var injection = { + injectEventPluginOrder: function injectEventPluginOrder(injectedEventPluginOrder) { + invariant(!eventPluginOrder, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."); + eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); + recomputePluginOrdering(); + }, + injectEventPluginsByName: function injectEventPluginsByName(injectedNamesToPlugins) { + var isOrderingDirty = !1, + pluginName; + + for (pluginName in injectedNamesToPlugins) { + if (injectedNamesToPlugins.hasOwnProperty(pluginName)) { + var pluginModule = injectedNamesToPlugins[pluginName]; + namesToPlugins.hasOwnProperty(pluginName) && namesToPlugins[pluginName] === pluginModule || (invariant(!namesToPlugins[pluginName], "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", pluginName), namesToPlugins[pluginName] = pluginModule, isOrderingDirty = !0); + } + } + + isOrderingDirty && recomputePluginOrdering(); + } + }; + + function getListener(inst, registrationName) { + var listener = inst.stateNode; + if (!listener) return null; + var props = getFiberCurrentPropsFromNode(listener); + if (!props) return null; + listener = props[registrationName]; + + a: switch (registrationName) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst)); + inst = !props; + break a; + + default: + inst = !1; + } + + if (inst) return null; + invariant(!listener || "function" === typeof listener, "Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); + return listener; + } + + function getParent(inst) { + do { + inst = inst.return; + } while (inst && 5 !== inst.tag); + + return inst ? inst : null; + } + + function traverseTwoPhase(inst, fn, arg) { + for (var path = []; inst;) { + path.push(inst), inst = getParent(inst); + } + + for (inst = path.length; 0 < inst--;) { + fn(path[inst], "captured", arg); + } + + for (inst = 0; inst < path.length; inst++) { + fn(path[inst], "bubbled", arg); + } + } + + function accumulateDirectionalDispatches(inst, phase, event) { + if (phase = getListener(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + + function accumulateTwoPhaseDispatchesSingle(event) { + event && event.dispatchConfig.phasedRegistrationNames && traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); + } + + function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + var targetInst = event._targetInst; + targetInst = targetInst ? getParent(targetInst) : null; + traverseTwoPhase(targetInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateDirectDispatchesSingle(event) { + if (event && event.dispatchConfig.registrationName) { + var inst = event._targetInst; + + if (inst && event && event.dispatchConfig.registrationName) { + var listener = getListener(inst, event.dispatchConfig.registrationName); + listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst)); + } + } + } + + var shouldBeReleasedProperties = "dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "); + + function functionThatReturnsTrue() { + return !0; + } + + function functionThatReturnsFalse() { + return !1; + } + + function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { + this.dispatchConfig = dispatchConfig; + this._targetInst = targetInst; + this.nativeEvent = nativeEvent; + dispatchConfig = this.constructor.Interface; + + for (var propName in dispatchConfig) { + dispatchConfig.hasOwnProperty(propName) && ((targetInst = dispatchConfig[propName]) ? this[propName] = targetInst(nativeEvent) : "target" === propName ? this.target = nativeEventTarget : this[propName] = nativeEvent[propName]); + } + + this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : !1 === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse; + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + + _extends(SyntheticEvent.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = !0; + var event = this.nativeEvent; + event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = !1), this.isDefaultPrevented = functionThatReturnsTrue); + }, + stopPropagation: function stopPropagation() { + var event = this.nativeEvent; + event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = !0), this.isPropagationStopped = functionThatReturnsTrue); + }, + persist: function persist() { + this.isPersistent = functionThatReturnsTrue; + }, + isPersistent: functionThatReturnsFalse, + destructor: function destructor() { + var Interface = this.constructor.Interface, + propName; + + for (propName in Interface) { + this[propName] = null; + } + + for (Interface = 0; Interface < shouldBeReleasedProperties.length; Interface++) { + this[shouldBeReleasedProperties[Interface]] = null; + } + } + }); + + SyntheticEvent.Interface = { + type: null, + target: null, + currentTarget: function currentTarget() { + return null; + }, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function timeStamp(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }; + + SyntheticEvent.extend = function (Interface) { + function E() {} + + function Class() { + return Super.apply(this, arguments); + } + + var Super = this; + E.prototype = Super.prototype; + var prototype = new E(); + + _extends(prototype, Class.prototype); + + Class.prototype = prototype; + Class.prototype.constructor = Class; + Class.Interface = _extends({}, Super.Interface, Interface); + Class.extend = Super.extend; + addEventPoolingTo(Class); + return Class; + }; + + addEventPoolingTo(SyntheticEvent); + + function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { + if (this.eventPool.length) { + var instance = this.eventPool.pop(); + this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); + return instance; + } + + return new this(dispatchConfig, targetInst, nativeEvent, nativeInst); + } + + function releasePooledEvent(event) { + invariant(event instanceof this, "Trying to release an event instance into a pool of a different type."); + event.destructor(); + 10 > this.eventPool.length && this.eventPool.push(event); + } + + function addEventPoolingTo(EventConstructor) { + EventConstructor.eventPool = []; + EventConstructor.getPooled = getPooledEvent; + EventConstructor.release = releasePooledEvent; + } + + var ResponderSyntheticEvent = SyntheticEvent.extend({ + touchHistory: function touchHistory() { + return null; + } + }); + + function isStartish(topLevelType) { + return "topTouchStart" === topLevelType; + } + + function isMoveish(topLevelType) { + return "topTouchMove" === topLevelType; + } + + var startDependencies = ["topTouchStart"], + moveDependencies = ["topTouchMove"], + endDependencies = ["topTouchCancel", "topTouchEnd"], + touchBank = [], + touchHistory = { + touchBank: touchBank, + numberActiveTouches: 0, + indexOfSingleActiveTouch: -1, + mostRecentTimeStamp: 0 + }; + + function timestampForTouch(touch) { + return touch.timeStamp || touch.timestamp; + } + + function getTouchIdentifier(_ref) { + _ref = _ref.identifier; + invariant(null != _ref, "Touch object is missing identifier."); + return _ref; + } + + function recordTouchStart(touch) { + var identifier = getTouchIdentifier(touch), + touchRecord = touchBank[identifier]; + touchRecord ? (touchRecord.touchActive = !0, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch)) : (touchRecord = { + touchActive: !0, + startPageX: touch.pageX, + startPageY: touch.pageY, + startTimeStamp: timestampForTouch(touch), + currentPageX: touch.pageX, + currentPageY: touch.pageY, + currentTimeStamp: timestampForTouch(touch), + previousPageX: touch.pageX, + previousPageY: touch.pageY, + previousTimeStamp: timestampForTouch(touch) + }, touchBank[identifier] = touchRecord); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } + + function recordTouchMove(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + touchRecord ? (touchRecord.touchActive = !0, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.error("Cannot record touch move without a touch start.\nTouch Move: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + + function recordTouchEnd(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + touchRecord ? (touchRecord.touchActive = !1, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.error("Cannot record touch end without a touch start.\nTouch End: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + + function printTouch(touch) { + return JSON.stringify({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY, + timestamp: timestampForTouch(touch) + }); + } + + function printTouchBank() { + var printed = JSON.stringify(touchBank.slice(0, 20)); + 20 < touchBank.length && (printed += " (original size: " + touchBank.length + ")"); + return printed; + } + + var ResponderTouchHistoryStore = { + recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) { + if (isMoveish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchMove);else if (isStartish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchStart), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (nativeEvent.changedTouches.forEach(recordTouchEnd), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches) for (topLevelType = 0; topLevelType < touchBank.length; topLevelType++) { + if (nativeEvent = touchBank[topLevelType], null != nativeEvent && nativeEvent.touchActive) { + touchHistory.indexOfSingleActiveTouch = topLevelType; + break; + } + } + }, + touchHistory: touchHistory + }; + + function accumulate(current, next) { + invariant(null != next, "accumulate(...): Accumulated items must be not be null or undefined."); + return null == current ? next : Array.isArray(current) ? current.concat(next) : Array.isArray(next) ? [current].concat(next) : [current, next]; + } + + var responderInst = null, + trackedTouchCount = 0; + + function changeResponder(nextResponderInst, blockHostResponder) { + var oldResponderInst = responderInst; + responderInst = nextResponderInst; + if (null !== ResponderEventPlugin.GlobalResponderHandler) ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder); + } + + var eventTypes$1 = { + startShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onStartShouldSetResponder", + captured: "onStartShouldSetResponderCapture" + }, + dependencies: startDependencies + }, + scrollShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onScrollShouldSetResponder", + captured: "onScrollShouldSetResponderCapture" + }, + dependencies: ["topScroll"] + }, + selectionChangeShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onSelectionChangeShouldSetResponder", + captured: "onSelectionChangeShouldSetResponderCapture" + }, + dependencies: ["topSelectionChange"] + }, + moveShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onMoveShouldSetResponder", + captured: "onMoveShouldSetResponderCapture" + }, + dependencies: moveDependencies + }, + responderStart: { + registrationName: "onResponderStart", + dependencies: startDependencies + }, + responderMove: { + registrationName: "onResponderMove", + dependencies: moveDependencies + }, + responderEnd: { + registrationName: "onResponderEnd", + dependencies: endDependencies + }, + responderRelease: { + registrationName: "onResponderRelease", + dependencies: endDependencies + }, + responderTerminationRequest: { + registrationName: "onResponderTerminationRequest", + dependencies: [] + }, + responderGrant: { + registrationName: "onResponderGrant", + dependencies: [] + }, + responderReject: { + registrationName: "onResponderReject", + dependencies: [] + }, + responderTerminate: { + registrationName: "onResponderTerminate", + dependencies: [] + } + }, + ResponderEventPlugin = { + _getResponder: function _getResponder() { + return responderInst; + }, + eventTypes: eventTypes$1, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (isStartish(topLevelType)) trackedTouchCount += 1;else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (0 <= trackedTouchCount) --trackedTouchCount;else return console.error("Ended a touch event which was not counted in `trackedTouchCount`."), null; + ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent); + + if (targetInst && ("topScroll" === topLevelType && !nativeEvent.responderIgnoreScroll || 0 < trackedTouchCount && "topSelectionChange" === topLevelType || isStartish(topLevelType) || isMoveish(topLevelType))) { + var JSCompiler_temp = isStartish(topLevelType) ? eventTypes$1.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes$1.moveShouldSetResponder : "topSelectionChange" === topLevelType ? eventTypes$1.selectionChangeShouldSetResponder : eventTypes$1.scrollShouldSetResponder; + if (responderInst) b: { + var JSCompiler_temp$jscomp$0 = responderInst; + + for (var depthA = 0, tempA = JSCompiler_temp$jscomp$0; tempA; tempA = getParent(tempA)) { + depthA++; + } + + tempA = 0; + + for (var tempB = targetInst; tempB; tempB = getParent(tempB)) { + tempA++; + } + + for (; 0 < depthA - tempA;) { + JSCompiler_temp$jscomp$0 = getParent(JSCompiler_temp$jscomp$0), depthA--; + } + + for (; 0 < tempA - depthA;) { + targetInst = getParent(targetInst), tempA--; + } + + for (; depthA--;) { + if (JSCompiler_temp$jscomp$0 === targetInst || JSCompiler_temp$jscomp$0 === targetInst.alternate) break b; + JSCompiler_temp$jscomp$0 = getParent(JSCompiler_temp$jscomp$0); + targetInst = getParent(targetInst); + } + + JSCompiler_temp$jscomp$0 = null; + } else JSCompiler_temp$jscomp$0 = targetInst; + targetInst = JSCompiler_temp$jscomp$0 === responderInst; + JSCompiler_temp$jscomp$0 = ResponderSyntheticEvent.getPooled(JSCompiler_temp, JSCompiler_temp$jscomp$0, nativeEvent, nativeEventTarget); + JSCompiler_temp$jscomp$0.touchHistory = ResponderTouchHistoryStore.touchHistory; + targetInst ? forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateTwoPhaseDispatchesSingleSkipTarget) : forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateTwoPhaseDispatchesSingle); + + b: { + JSCompiler_temp = JSCompiler_temp$jscomp$0._dispatchListeners; + targetInst = JSCompiler_temp$jscomp$0._dispatchInstances; + if (Array.isArray(JSCompiler_temp)) for (depthA = 0; depthA < JSCompiler_temp.length && !JSCompiler_temp$jscomp$0.isPropagationStopped(); depthA++) { + if (JSCompiler_temp[depthA](JSCompiler_temp$jscomp$0, targetInst[depthA])) { + JSCompiler_temp = targetInst[depthA]; + break b; + } + } else if (JSCompiler_temp && JSCompiler_temp(JSCompiler_temp$jscomp$0, targetInst)) { + JSCompiler_temp = targetInst; + break b; + } + JSCompiler_temp = null; + } + + JSCompiler_temp$jscomp$0._dispatchInstances = null; + JSCompiler_temp$jscomp$0._dispatchListeners = null; + JSCompiler_temp$jscomp$0.isPersistent() || JSCompiler_temp$jscomp$0.constructor.release(JSCompiler_temp$jscomp$0); + JSCompiler_temp && JSCompiler_temp !== responderInst ? (JSCompiler_temp$jscomp$0 = void 0, targetInst = ResponderSyntheticEvent.getPooled(eventTypes$1.responderGrant, JSCompiler_temp, nativeEvent, nativeEventTarget), targetInst.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(targetInst, accumulateDirectDispatchesSingle), depthA = !0 === executeDirectDispatch(targetInst), responderInst ? (tempA = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget), tempA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(tempA, accumulateDirectDispatchesSingle), tempB = !tempA._dispatchListeners || executeDirectDispatch(tempA), tempA.isPersistent() || tempA.constructor.release(tempA), tempB ? (tempA = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminate, responderInst, nativeEvent, nativeEventTarget), tempA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(tempA, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, [targetInst, tempA]), changeResponder(JSCompiler_temp, depthA)) : (JSCompiler_temp = ResponderSyntheticEvent.getPooled(eventTypes$1.responderReject, JSCompiler_temp, nativeEvent, nativeEventTarget), JSCompiler_temp.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(JSCompiler_temp, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, JSCompiler_temp))) : (JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, targetInst), changeResponder(JSCompiler_temp, depthA)), JSCompiler_temp = JSCompiler_temp$jscomp$0) : JSCompiler_temp = null; + } else JSCompiler_temp = null; + + JSCompiler_temp$jscomp$0 = responderInst && isStartish(topLevelType); + targetInst = responderInst && isMoveish(topLevelType); + depthA = responderInst && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType); + if (JSCompiler_temp$jscomp$0 = JSCompiler_temp$jscomp$0 ? eventTypes$1.responderStart : targetInst ? eventTypes$1.responderMove : depthA ? eventTypes$1.responderEnd : null) JSCompiler_temp$jscomp$0 = ResponderSyntheticEvent.getPooled(JSCompiler_temp$jscomp$0, responderInst, nativeEvent, nativeEventTarget), JSCompiler_temp$jscomp$0.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateDirectDispatchesSingle), JSCompiler_temp = accumulate(JSCompiler_temp, JSCompiler_temp$jscomp$0); + JSCompiler_temp$jscomp$0 = responderInst && "topTouchCancel" === topLevelType; + if (topLevelType = responderInst && !JSCompiler_temp$jscomp$0 && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType)) a: { + if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length) for (targetInst = 0; targetInst < topLevelType.length; targetInst++) { + if (depthA = topLevelType[targetInst].target, null !== depthA && void 0 !== depthA && 0 !== depthA) { + tempA = getInstanceFromNode(depthA); + + b: { + for (depthA = responderInst; tempA;) { + if (depthA === tempA || depthA === tempA.alternate) { + depthA = !0; + break b; + } + + tempA = getParent(tempA); + } + + depthA = !1; + } + + if (depthA) { + topLevelType = !1; + break a; + } + } + } + topLevelType = !0; + } + if (topLevelType = JSCompiler_temp$jscomp$0 ? eventTypes$1.responderTerminate : topLevelType ? eventTypes$1.responderRelease : null) nativeEvent = ResponderSyntheticEvent.getPooled(topLevelType, responderInst, nativeEvent, nativeEventTarget), nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle), JSCompiler_temp = accumulate(JSCompiler_temp, nativeEvent), changeResponder(null); + return JSCompiler_temp; + }, + GlobalResponderHandler: null, + injection: { + injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) { + ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler; + } + } + }, + customBubblingEventTypes$1 = ReactNativeViewConfigRegistry.customBubblingEventTypes, + customDirectEventTypes$1 = ReactNativeViewConfigRegistry.customDirectEventTypes, + ReactNativeBridgeEventPlugin = { + eventTypes: ReactNativeViewConfigRegistry.eventTypes, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (null == targetInst) return null; + var bubbleDispatchConfig = customBubblingEventTypes$1[topLevelType], + directDispatchConfig = customDirectEventTypes$1[topLevelType]; + invariant(bubbleDispatchConfig || directDispatchConfig, 'Unsupported top level event type "%s" dispatched', topLevelType); + topLevelType = SyntheticEvent.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget); + if (bubbleDispatchConfig) forEachAccumulated(topLevelType, accumulateTwoPhaseDispatchesSingle);else if (directDispatchConfig) forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle);else return null; + return topLevelType; + } + }; + injection.injectEventPluginOrder(["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]); + injection.injectEventPluginsByName({ + ResponderEventPlugin: ResponderEventPlugin, + ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin + }); + var instanceCache = {}, + instanceProps = {}; + + function uncacheFiberNode(tag) { + delete instanceCache[tag]; + delete instanceProps[tag]; + } + + function getInstanceFromTag(tag) { + return instanceCache[tag] || null; + } + + var ReactNativeComponentTree = { + precacheFiberNode: function precacheFiberNode(hostInst, tag) { + instanceCache[tag] = hostInst; + }, + uncacheFiberNode: uncacheFiberNode, + getClosestInstanceFromNode: getInstanceFromTag, + getInstanceFromNode: getInstanceFromTag, + getNodeFromInstance: function getNodeFromInstance(inst) { + var tag = inst.stateNode._nativeTag; + void 0 === tag && (tag = inst.stateNode.canonical._nativeTag); + invariant(tag, "All native instances should have a tag."); + return tag; + }, + getFiberCurrentPropsFromNode: function getFiberCurrentPropsFromNode(stateNode) { + return instanceProps[stateNode._nativeTag] || null; + }, + updateFiberProps: function updateFiberProps(tag, props) { + instanceProps[tag] = props; + } + }, + restoreTarget = null, + restoreQueue = null; + + function restoreStateOfTarget(target) { + if (target = getInstanceFromNode(target)) { + invariant(null, "Fiber needs to be injected to handle a fiber target for controlled events. This error is likely caused by a bug in React. Please file an issue."); + var props = getFiberCurrentPropsFromNode(target.stateNode); + null.restoreControlledState(target.stateNode, target.type, props); + } + } + + function _batchedUpdates(fn, bookkeeping) { + return fn(bookkeeping); + } + + function _flushInteractiveUpdates() {} + + var isBatching = !1; + + function batchedUpdates(fn, bookkeeping) { + if (isBatching) return fn(bookkeeping); + isBatching = !0; + + try { + return _batchedUpdates(fn, bookkeeping); + } finally { + if (isBatching = !1, null !== restoreTarget || null !== restoreQueue) if (_flushInteractiveUpdates(), restoreTarget && (bookkeeping = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(bookkeeping), fn)) for (bookkeeping = 0; bookkeeping < fn.length; bookkeeping++) { + restoreStateOfTarget(fn[bookkeeping]); + } + } + } + + var EMPTY_NATIVE_EVENT = {}; + + function _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam) { + var nativeEvent = nativeEventParam || EMPTY_NATIVE_EVENT, + inst = getInstanceFromTag(rootNodeID); + batchedUpdates(function () { + var events = nativeEvent.target; + + for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) { + var possiblePlugin = plugins[i]; + possiblePlugin && (possiblePlugin = possiblePlugin.extractEvents(topLevelType, inst, nativeEvent, events)) && (events$jscomp$0 = accumulateInto(events$jscomp$0, possiblePlugin)); + } + + events = events$jscomp$0; + null !== events && (eventQueue = accumulateInto(eventQueue, events)); + events = eventQueue; + eventQueue = null; + events && (forEachAccumulated(events, executeDispatchesAndReleaseTopLevel), invariant(!eventQueue, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."), ReactErrorUtils.rethrowCaughtError()); + }); + } + + RCTEventEmitter.register({ + getListener: getListener, + registrationNames: registrationNameModules, + _receiveRootNodeIDEvent: _receiveRootNodeIDEvent, + receiveEvent: function receiveEvent(rootNodeID, topLevelType, nativeEventParam) { + _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam); + }, + receiveTouches: function receiveTouches(eventTopLevelType, touches, changedIndices) { + if ("topTouchEnd" === eventTopLevelType || "topTouchCancel" === eventTopLevelType) { + var JSCompiler_temp = []; + + for (var i = 0; i < changedIndices.length; i++) { + var index = changedIndices[i]; + JSCompiler_temp.push(touches[index]); + touches[index] = null; + } + + for (i = changedIndices = 0; i < touches.length; i++) { + index = touches[i], null !== index && (touches[changedIndices++] = index); + } + + touches.length = changedIndices; + } else for (JSCompiler_temp = [], i = 0; i < changedIndices.length; i++) { + JSCompiler_temp.push(touches[changedIndices[i]]); + } + + for (changedIndices = 0; changedIndices < JSCompiler_temp.length; changedIndices++) { + i = JSCompiler_temp[changedIndices]; + i.changedTouches = JSCompiler_temp; + i.touches = touches; + index = null; + var target = i.target; + null === target || void 0 === target || 1 > target || (index = target); + + _receiveRootNodeIDEvent(index, eventTopLevelType, i); + } + } + }); + getFiberCurrentPropsFromNode = ReactNativeComponentTree.getFiberCurrentPropsFromNode; + getInstanceFromNode = ReactNativeComponentTree.getInstanceFromNode; + getNodeFromInstance = ReactNativeComponentTree.getNodeFromInstance; + ResponderEventPlugin.injection.injectGlobalResponderHandler({ + onChange: function onChange(from, to, blockNativeResponder) { + null !== to ? UIManager.setJSResponder(to.stateNode._nativeTag, blockNativeResponder) : UIManager.clearJSResponder(); + } + }); + var ReactCurrentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, + hasSymbol = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.for : "@@for"), + REACT_ELEMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") : 60103, + REACT_PORTAL_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.portal") : 60106, + REACT_FRAGMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.fragment") : 60107, + REACT_STRICT_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.strict_mode") : 60108, + REACT_PROFILER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.profiler") : 60114, + REACT_PROVIDER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.provider") : 60109, + REACT_CONTEXT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.context") : 60110, + REACT_ASYNC_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.async_mode") : 60111, + REACT_FORWARD_REF_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.forward_ref") : 60112, + REACT_TIMEOUT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.timeout") : 60113, + MAYBE_ITERATOR_SYMBOL = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "undefined" === typeof maybeIterable) return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + + function getComponentName(fiber) { + var type = fiber.type; + if ("function" === typeof type) return type.displayName || type.name; + if ("string" === typeof type) return type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + return "AsyncMode"; + + case REACT_CONTEXT_TYPE: + return "Context.Consumer"; + + case REACT_FRAGMENT_TYPE: + return "ReactFragment"; + + case REACT_PORTAL_TYPE: + return "ReactPortal"; + + case REACT_PROFILER_TYPE: + return "Profiler(" + fiber.pendingProps.id + ")"; + + case REACT_PROVIDER_TYPE: + return "Context.Provider"; + + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + + case REACT_TIMEOUT_TYPE: + return "Timeout"; + } + + if ("object" === typeof type && null !== type) switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return fiber = type.render.displayName || type.render.name || "", "" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"; + } + return null; + } + + function isFiberMountedImpl(fiber) { + var node = fiber; + if (fiber.alternate) for (; node.return;) { + node = node.return; + } else { + if (0 !== (node.effectTag & 2)) return 1; + + for (; node.return;) { + if (node = node.return, 0 !== (node.effectTag & 2)) return 1; + } + } + return 3 === node.tag ? 2 : 3; + } + + function assertIsMounted(fiber) { + invariant(2 === isFiberMountedImpl(fiber), "Unable to find node on an unmounted component."); + } + + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) return alternate = isFiberMountedImpl(fiber), invariant(3 !== alternate, "Unable to find node on an unmounted component."), 1 === alternate ? null : fiber; + + for (var a = fiber, b = alternate;;) { + var parentA = a.return, + parentB = parentA ? parentA.alternate : null; + if (!parentA || !parentB) break; + + if (parentA.child === parentB.child) { + for (var child = parentA.child; child;) { + if (child === a) return assertIsMounted(parentA), fiber; + if (child === b) return assertIsMounted(parentA), alternate; + child = child.sibling; + } + + invariant(!1, "Unable to find node on an unmounted component."); + } + + if (a.return !== b.return) a = parentA, b = parentB;else { + child = !1; + + for (var _child = parentA.child; _child;) { + if (_child === a) { + child = !0; + a = parentA; + b = parentB; + break; + } + + if (_child === b) { + child = !0; + b = parentA; + a = parentB; + break; + } + + _child = _child.sibling; + } + + if (!child) { + for (_child = parentB.child; _child;) { + if (_child === a) { + child = !0; + a = parentB; + b = parentA; + break; + } + + if (_child === b) { + child = !0; + b = parentB; + a = parentA; + break; + } + + _child = _child.sibling; + } + + invariant(child, "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."); + } + } + invariant(a.alternate === b, "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."); + } + + invariant(3 === a.tag, "Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + + function findCurrentHostFiber(parent) { + parent = findCurrentFiberUsingSlowPath(parent); + if (!parent) return null; + + for (var node = parent;;) { + if (5 === node.tag || 6 === node.tag) return node; + if (node.child) node.child.return = node, node = node.child;else { + if (node === parent) break; + + for (; !node.sibling;) { + if (!node.return || node.return === parent) return null; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + return null; + } + + function findCurrentHostFiberWithNoPortals(parent) { + parent = findCurrentFiberUsingSlowPath(parent); + if (!parent) return null; + + for (var node = parent;;) { + if (5 === node.tag || 6 === node.tag) return node; + if (node.child && 4 !== node.tag) node.child.return = node, node = node.child;else { + if (node === parent) break; + + for (; !node.sibling;) { + if (!node.return || node.return === parent) return null; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + return null; + } + + var emptyObject$1 = {}, + removedKeys = null, + removedKeyCount = 0; + + function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) { + if (Array.isArray(node)) for (var i = node.length; i-- && 0 < removedKeyCount;) { + restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes); + } else if (node && 0 < removedKeyCount) for (i in removedKeys) { + if (removedKeys[i]) { + var _nextProp = node[i]; + + if (void 0 !== _nextProp) { + var attributeConfig = validAttributes[i]; + + if (attributeConfig) { + "function" === typeof _nextProp && (_nextProp = !0); + "undefined" === typeof _nextProp && (_nextProp = null); + if ("object" !== typeof attributeConfig) updatePayload[i] = _nextProp;else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) _nextProp = "function" === typeof attributeConfig.process ? attributeConfig.process(_nextProp) : _nextProp, updatePayload[i] = _nextProp; + removedKeys[i] = !1; + removedKeyCount--; + } + } + } + } + } + + function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) { + if (!updatePayload && prevProp === nextProp) return updatePayload; + if (!prevProp || !nextProp) return nextProp ? addNestedProperty(updatePayload, nextProp, validAttributes) : prevProp ? clearNestedProperty(updatePayload, prevProp, validAttributes) : updatePayload; + if (!Array.isArray(prevProp) && !Array.isArray(nextProp)) return diffProperties(updatePayload, prevProp, nextProp, validAttributes); + + if (Array.isArray(prevProp) && Array.isArray(nextProp)) { + var minLength = prevProp.length < nextProp.length ? prevProp.length : nextProp.length, + i; + + for (i = 0; i < minLength; i++) { + updatePayload = diffNestedProperty(updatePayload, prevProp[i], nextProp[i], validAttributes); + } + + for (; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + for (; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + return Array.isArray(prevProp) ? diffProperties(updatePayload, flattenStyle(prevProp), nextProp, validAttributes) : diffProperties(updatePayload, prevProp, flattenStyle(nextProp), validAttributes); + } + + function addNestedProperty(updatePayload, nextProp, validAttributes) { + if (!nextProp) return updatePayload; + if (!Array.isArray(nextProp)) return diffProperties(updatePayload, emptyObject$1, nextProp, validAttributes); + + for (var i = 0; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + function clearNestedProperty(updatePayload, prevProp, validAttributes) { + if (!prevProp) return updatePayload; + if (!Array.isArray(prevProp)) return diffProperties(updatePayload, prevProp, emptyObject$1, validAttributes); + + for (var i = 0; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + return updatePayload; + } + + function diffProperties(updatePayload, prevProps, nextProps, validAttributes) { + var attributeConfig, propKey; + + for (propKey in nextProps) { + if (attributeConfig = validAttributes[propKey]) { + var prevProp = prevProps[propKey]; + var nextProp = nextProps[propKey]; + "function" === typeof nextProp && (nextProp = !0, "function" === typeof prevProp && (prevProp = !0)); + "undefined" === typeof nextProp && (nextProp = null, "undefined" === typeof prevProp && (prevProp = null)); + removedKeys && (removedKeys[propKey] = !1); + if (updatePayload && void 0 !== updatePayload[propKey]) { + if ("object" !== typeof attributeConfig) updatePayload[propKey] = nextProp;else { + if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[propKey] = attributeConfig; + } + } else if (prevProp !== nextProp) if ("object" !== typeof attributeConfig) ("object" !== typeof nextProp || null === nextProp || deepDiffer(prevProp, nextProp)) && ((updatePayload || (updatePayload = {}))[propKey] = nextProp);else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) { + if (void 0 === prevProp || ("function" === typeof attributeConfig.diff ? attributeConfig.diff(prevProp, nextProp) : "object" !== typeof nextProp || null === nextProp || deepDiffer(prevProp, nextProp))) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, (updatePayload || (updatePayload = {}))[propKey] = attributeConfig; + } else removedKeys = null, removedKeyCount = 0, updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig), 0 < removedKeyCount && updatePayload && (restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig), removedKeys = null); + } + } + + for (var _propKey in prevProps) { + void 0 === nextProps[_propKey] && (!(attributeConfig = validAttributes[_propKey]) || updatePayload && void 0 !== updatePayload[_propKey] || (prevProp = prevProps[_propKey], void 0 !== prevProp && ("object" !== typeof attributeConfig || "function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process ? ((updatePayload || (updatePayload = {}))[_propKey] = null, removedKeys || (removedKeys = {}), removedKeys[_propKey] || (removedKeys[_propKey] = !0, removedKeyCount++)) : updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig)))); + } + + return updatePayload; + } + + function mountSafeCallback(context, callback) { + return function () { + if (callback) { + if ("boolean" === typeof context.__isMounted) { + if (!context.__isMounted) return; + } else if ("function" === typeof context.isMounted && !context.isMounted()) return; + + return callback.apply(context, arguments); + } + }; + } + + var ReactNativeFiberHostComponent = function () { + function ReactNativeFiberHostComponent(tag, viewConfig) { + if (!(this instanceof ReactNativeFiberHostComponent)) throw new TypeError("Cannot call a class as a function"); + this._nativeTag = tag; + this._children = []; + this.viewConfig = viewConfig; + } + + ReactNativeFiberHostComponent.prototype.blur = function () { + TextInputState.blurTextInput(this._nativeTag); + }; + + ReactNativeFiberHostComponent.prototype.focus = function () { + TextInputState.focusTextInput(this._nativeTag); + }; + + ReactNativeFiberHostComponent.prototype.measure = function (callback) { + UIManager.measure(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactNativeFiberHostComponent.prototype.measureInWindow = function (callback) { + UIManager.measureInWindow(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactNativeFiberHostComponent.prototype.measureLayout = function (relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(this._nativeTag, relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeFiberHostComponent.prototype.setNativeProps = function (nativeProps) { + nativeProps = diffProperties(null, emptyObject$1, nativeProps, this.viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(this._nativeTag, this.viewConfig.uiViewClassName, nativeProps); + }; + + return ReactNativeFiberHostComponent; + }(), + now$1 = "object" === typeof performance && "function" === typeof performance.now ? function () { + return performance.now(); + } : function () { + return Date.now(); + }, + scheduledCallback = null, + frameDeadline = 0, + frameDeadlineObject = { + timeRemaining: function timeRemaining() { + return frameDeadline - now$1(); + }, + didTimeout: !1 + }; + + function setTimeoutCallback() { + frameDeadline = now$1() + 5; + var callback = scheduledCallback; + scheduledCallback = null; + null !== callback && callback(frameDeadlineObject); + } + + function shim$1() { + invariant(!1, "The current renderer does not support hyration. This error is likely caused by a bug in React. Please file an issue."); + } + + var nextReactTag = 3; + + function allocateTag() { + var tag = nextReactTag; + 1 === tag % 10 && (tag += 2); + nextReactTag = tag + 2; + return tag; + } + + function recursivelyUncacheFiberNode(node) { + "number" === typeof node ? uncacheFiberNode(node) : (uncacheFiberNode(node._nativeTag), node._children.forEach(recursivelyUncacheFiberNode)); + } + + function finalizeInitialChildren(parentInstance) { + if (0 === parentInstance._children.length) return !1; + + var nativeTags = parentInstance._children.map(function (child) { + return "number" === typeof child ? child : child._nativeTag; + }); + + UIManager.setChildren(parentInstance._nativeTag, nativeTags); + return !1; + } + + function getStackAddendumByWorkInProgressFiber(workInProgress) { + var info = ""; + + do { + a: switch (workInProgress.tag) { + case 0: + case 1: + case 2: + case 5: + var owner = workInProgress._debugOwner, + source = workInProgress._debugSource; + var JSCompiler_inline_result = getComponentName(workInProgress); + var ownerName = null; + owner && (ownerName = getComponentName(owner)); + owner = source; + JSCompiler_inline_result = "\n in " + (JSCompiler_inline_result || "Unknown") + (owner ? " (at " + owner.fileName.replace(/^.*[\\\/]/, "") + ":" + owner.lineNumber + ")" : ownerName ? " (created by " + ownerName + ")" : ""); + break a; + + default: + JSCompiler_inline_result = ""; + } + + info += JSCompiler_inline_result; + workInProgress = workInProgress.return; + } while (workInProgress); + + return info; + } + + new Set(); + var valueStack = [], + index = -1; + + function createCursor(defaultValue) { + return { + current: defaultValue + }; + } + + function pop(cursor) { + 0 > index || (cursor.current = valueStack[index], valueStack[index] = null, index--); + } + + function push(cursor, value) { + index++; + valueStack[index] = cursor.current; + cursor.current = value; + } + + var contextStackCursor = createCursor(emptyObject), + didPerformWorkStackCursor = createCursor(!1), + previousContext = emptyObject; + + function getUnmaskedContext(workInProgress) { + return isContextProvider(workInProgress) ? previousContext : contextStackCursor.current; + } + + function getMaskedContext(workInProgress, unmaskedContext) { + var contextTypes = workInProgress.type.contextTypes; + if (!contextTypes) return emptyObject; + var instance = workInProgress.stateNode; + if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) return instance.__reactInternalMemoizedMaskedChildContext; + var context = {}, + key; + + for (key in contextTypes) { + context[key] = unmaskedContext[key]; + } + + instance && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context); + return context; + } + + function isContextProvider(fiber) { + return 2 === fiber.tag && null != fiber.type.childContextTypes; + } + + function popContextProvider(fiber) { + isContextProvider(fiber) && (pop(didPerformWorkStackCursor, fiber), pop(contextStackCursor, fiber)); + } + + function popTopLevelContextObject(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function pushTopLevelContextObject(fiber, context, didChange) { + invariant(contextStackCursor.current === emptyObject, "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue."); + push(contextStackCursor, context, fiber); + push(didPerformWorkStackCursor, didChange, fiber); + } + + function processChildContext(fiber, parentContext) { + var instance = fiber.stateNode, + childContextTypes = fiber.type.childContextTypes; + if ("function" !== typeof instance.getChildContext) return parentContext; + instance = instance.getChildContext(); + + for (var contextKey in instance) { + invariant(contextKey in childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', getComponentName(fiber) || "Unknown", contextKey); + } + + return _extends({}, parentContext, instance); + } + + function pushContextProvider(workInProgress) { + if (!isContextProvider(workInProgress)) return !1; + var instance = workInProgress.stateNode; + instance = instance && instance.__reactInternalMemoizedMergedChildContext || emptyObject; + previousContext = contextStackCursor.current; + push(contextStackCursor, instance, workInProgress); + push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); + return !0; + } + + function invalidateContextProvider(workInProgress, didChange) { + var instance = workInProgress.stateNode; + invariant(instance, "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue."); + + if (didChange) { + var mergedContext = processChildContext(workInProgress, previousContext); + instance.__reactInternalMemoizedMergedChildContext = mergedContext; + pop(didPerformWorkStackCursor, workInProgress); + pop(contextStackCursor, workInProgress); + push(contextStackCursor, mergedContext, workInProgress); + } else pop(didPerformWorkStackCursor, workInProgress); + + push(didPerformWorkStackCursor, didChange, workInProgress); + } + + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = null; + this.index = 0; + this.ref = null; + this.pendingProps = pendingProps; + this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.effectTag = 0; + this.lastEffect = this.firstEffect = this.nextEffect = null; + this.expirationTime = 0; + this.alternate = null; + } + + function createWorkInProgress(current, pendingProps, expirationTime) { + var workInProgress = current.alternate; + null === workInProgress ? (workInProgress = new FiberNode(current.tag, pendingProps, current.key, current.mode), workInProgress.type = current.type, workInProgress.stateNode = current.stateNode, workInProgress.alternate = current, current.alternate = workInProgress) : (workInProgress.pendingProps = pendingProps, workInProgress.effectTag = 0, workInProgress.nextEffect = null, workInProgress.firstEffect = null, workInProgress.lastEffect = null); + workInProgress.expirationTime = expirationTime; + workInProgress.child = current.child; + workInProgress.memoizedProps = current.memoizedProps; + workInProgress.memoizedState = current.memoizedState; + workInProgress.updateQueue = current.updateQueue; + workInProgress.sibling = current.sibling; + workInProgress.index = current.index; + workInProgress.ref = current.ref; + return workInProgress; + } + + function createFiberFromElement(element, mode, expirationTime) { + var type = element.type, + key = element.key; + element = element.props; + if ("function" === typeof type) var fiberTag = type.prototype && type.prototype.isReactComponent ? 2 : 0;else if ("string" === typeof type) fiberTag = 5;else switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment(element.children, mode, expirationTime, key); + + case REACT_ASYNC_MODE_TYPE: + fiberTag = 11; + mode |= 3; + break; + + case REACT_STRICT_MODE_TYPE: + fiberTag = 11; + mode |= 2; + break; + + case REACT_PROFILER_TYPE: + return type = new FiberNode(15, element, key, mode | 4), type.type = REACT_PROFILER_TYPE, type.expirationTime = expirationTime, type; + + case REACT_TIMEOUT_TYPE: + fiberTag = 16; + mode |= 2; + break; + + default: + a: { + switch ("object" === typeof type && null !== type ? type.$$typeof : null) { + case REACT_PROVIDER_TYPE: + fiberTag = 13; + break a; + + case REACT_CONTEXT_TYPE: + fiberTag = 12; + break a; + + case REACT_FORWARD_REF_TYPE: + fiberTag = 14; + break a; + + default: + invariant(!1, "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", null == type ? type : typeof type, ""); + } + + fiberTag = void 0; + } + + } + mode = new FiberNode(fiberTag, element, key, mode); + mode.type = type; + mode.expirationTime = expirationTime; + return mode; + } + + function createFiberFromFragment(elements, mode, expirationTime, key) { + elements = new FiberNode(10, elements, key, mode); + elements.expirationTime = expirationTime; + return elements; + } + + function createFiberFromText(content, mode, expirationTime) { + content = new FiberNode(6, content, null, mode); + content.expirationTime = expirationTime; + return content; + } + + function createFiberFromPortal(portal, mode, expirationTime) { + mode = new FiberNode(4, null !== portal.children ? portal.children : [], portal.key, mode); + mode.expirationTime = expirationTime; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + + function createFiberRoot(containerInfo, isAsync, hydrate) { + isAsync = new FiberNode(3, null, null, isAsync ? 3 : 0); + containerInfo = { + current: isAsync, + containerInfo: containerInfo, + pendingChildren: null, + earliestPendingTime: 0, + latestPendingTime: 0, + earliestSuspendedTime: 0, + latestSuspendedTime: 0, + latestPingedTime: 0, + didError: !1, + pendingCommitExpirationTime: 0, + finishedWork: null, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: 0, + expirationTime: 0, + firstBatch: null, + nextScheduledRoot: null + }; + return isAsync.stateNode = containerInfo; + } + + var onCommitFiberRoot = null, + onCommitFiberUnmount = null; + + function catchErrors(fn) { + return function (arg) { + try { + return fn(arg); + } catch (err) {} + }; + } + + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled || !hook.supportsFiber) return !0; + + try { + var rendererID = hook.inject(internals); + onCommitFiberRoot = catchErrors(function (root) { + return hook.onCommitFiberRoot(rendererID, root); + }); + onCommitFiberUnmount = catchErrors(function (fiber) { + return hook.onCommitFiberUnmount(rendererID, fiber); + }); + } catch (err) {} + + return !0; + } + + function onCommitRoot(root) { + "function" === typeof onCommitFiberRoot && onCommitFiberRoot(root); + } + + function onCommitUnmount(fiber) { + "function" === typeof onCommitFiberUnmount && onCommitFiberUnmount(fiber); + } + + function markPendingPriorityLevel(root, expirationTime) { + root.didError = !1; + var earliestPendingTime = root.earliestPendingTime; + 0 === earliestPendingTime ? root.earliestPendingTime = root.latestPendingTime = expirationTime : earliestPendingTime > expirationTime ? root.earliestPendingTime = expirationTime : root.latestPendingTime < expirationTime && (root.latestPendingTime = expirationTime); + findNextPendingPriorityLevel(root); + } + + function findNextPendingPriorityLevel(root) { + var earliestSuspendedTime = root.earliestSuspendedTime, + earliestPendingTime = root.earliestPendingTime; + if (0 === earliestSuspendedTime) var nextExpirationTimeToWorkOn = earliestSuspendedTime = earliestPendingTime;else 0 !== earliestPendingTime ? (nextExpirationTimeToWorkOn = earliestPendingTime, earliestSuspendedTime = earliestSuspendedTime < earliestPendingTime ? earliestSuspendedTime : earliestPendingTime) : nextExpirationTimeToWorkOn = earliestSuspendedTime = root.latestPingedTime; + root.didError && (earliestSuspendedTime = 1); + root.nextExpirationTimeToWorkOn = nextExpirationTimeToWorkOn; + root.expirationTime = earliestSuspendedTime; + } + + var hasForceUpdate = !1; + + function createUpdateQueue(baseState) { + return { + expirationTime: 0, + baseState: baseState, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + + function cloneUpdateQueue(currentQueue) { + return { + expirationTime: currentQueue.expirationTime, + baseState: currentQueue.baseState, + firstUpdate: currentQueue.firstUpdate, + lastUpdate: currentQueue.lastUpdate, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + + function createUpdate(expirationTime) { + return { + expirationTime: expirationTime, + tag: 0, + payload: null, + callback: null, + next: null, + nextEffect: null + }; + } + + function appendUpdateToQueue(queue, update, expirationTime) { + null === queue.lastUpdate ? queue.firstUpdate = queue.lastUpdate = update : (queue.lastUpdate.next = update, queue.lastUpdate = update); + if (0 === queue.expirationTime || queue.expirationTime > expirationTime) queue.expirationTime = expirationTime; + } + + function enqueueUpdate(fiber, update, expirationTime) { + var alternate = fiber.alternate; + + if (null === alternate) { + var queue1 = fiber.updateQueue; + var queue2 = null; + null === queue1 && (queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState)); + } else queue1 = fiber.updateQueue, queue2 = alternate.updateQueue, null === queue1 ? null === queue2 ? (queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState), queue2 = alternate.updateQueue = createUpdateQueue(alternate.memoizedState)) : queue1 = fiber.updateQueue = cloneUpdateQueue(queue2) : null === queue2 && (queue2 = alternate.updateQueue = cloneUpdateQueue(queue1)); + + null === queue2 || queue1 === queue2 ? appendUpdateToQueue(queue1, update, expirationTime) : null === queue1.lastUpdate || null === queue2.lastUpdate ? (appendUpdateToQueue(queue1, update, expirationTime), appendUpdateToQueue(queue2, update, expirationTime)) : (appendUpdateToQueue(queue1, update, expirationTime), queue2.lastUpdate = update); + } + + function enqueueCapturedUpdate(workInProgress, update, renderExpirationTime) { + var workInProgressQueue = workInProgress.updateQueue; + workInProgressQueue = null === workInProgressQueue ? workInProgress.updateQueue = createUpdateQueue(workInProgress.memoizedState) : ensureWorkInProgressQueueIsAClone(workInProgress, workInProgressQueue); + null === workInProgressQueue.lastCapturedUpdate ? workInProgressQueue.firstCapturedUpdate = workInProgressQueue.lastCapturedUpdate = update : (workInProgressQueue.lastCapturedUpdate.next = update, workInProgressQueue.lastCapturedUpdate = update); + if (0 === workInProgressQueue.expirationTime || workInProgressQueue.expirationTime > renderExpirationTime) workInProgressQueue.expirationTime = renderExpirationTime; + } + + function ensureWorkInProgressQueueIsAClone(workInProgress, queue) { + var current = workInProgress.alternate; + null !== current && queue === current.updateQueue && (queue = workInProgress.updateQueue = cloneUpdateQueue(queue)); + return queue; + } + + function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { + switch (update.tag) { + case 1: + return workInProgress = update.payload, "function" === typeof workInProgress ? workInProgress.call(instance, prevState, nextProps) : workInProgress; + + case 3: + workInProgress.effectTag = workInProgress.effectTag & -1025 | 64; + + case 0: + workInProgress = update.payload; + nextProps = "function" === typeof workInProgress ? workInProgress.call(instance, prevState, nextProps) : workInProgress; + if (null === nextProps || void 0 === nextProps) break; + return _extends({}, prevState, nextProps); + + case 2: + hasForceUpdate = !0; + } + + return prevState; + } + + function processUpdateQueue(workInProgress, queue, props, instance, renderExpirationTime) { + hasForceUpdate = !1; + + if (!(0 === queue.expirationTime || queue.expirationTime > renderExpirationTime)) { + queue = ensureWorkInProgressQueueIsAClone(workInProgress, queue); + + for (var newBaseState = queue.baseState, newFirstUpdate = null, newExpirationTime = 0, update = queue.firstUpdate, resultState = newBaseState; null !== update;) { + var updateExpirationTime = update.expirationTime; + + if (updateExpirationTime > renderExpirationTime) { + if (null === newFirstUpdate && (newFirstUpdate = update, newBaseState = resultState), 0 === newExpirationTime || newExpirationTime > updateExpirationTime) newExpirationTime = updateExpirationTime; + } else resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance), null !== update.callback && (workInProgress.effectTag |= 32, update.nextEffect = null, null === queue.lastEffect ? queue.firstEffect = queue.lastEffect = update : (queue.lastEffect.nextEffect = update, queue.lastEffect = update)); + + update = update.next; + } + + updateExpirationTime = null; + + for (update = queue.firstCapturedUpdate; null !== update;) { + var _updateExpirationTime = update.expirationTime; + + if (_updateExpirationTime > renderExpirationTime) { + if (null === updateExpirationTime && (updateExpirationTime = update, null === newFirstUpdate && (newBaseState = resultState)), 0 === newExpirationTime || newExpirationTime > _updateExpirationTime) newExpirationTime = _updateExpirationTime; + } else resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance), null !== update.callback && (workInProgress.effectTag |= 32, update.nextEffect = null, null === queue.lastCapturedEffect ? queue.firstCapturedEffect = queue.lastCapturedEffect = update : (queue.lastCapturedEffect.nextEffect = update, queue.lastCapturedEffect = update)); + + update = update.next; + } + + null === newFirstUpdate && (queue.lastUpdate = null); + null === updateExpirationTime ? queue.lastCapturedUpdate = null : workInProgress.effectTag |= 32; + null === newFirstUpdate && null === updateExpirationTime && (newBaseState = resultState); + queue.baseState = newBaseState; + queue.firstUpdate = newFirstUpdate; + queue.firstCapturedUpdate = updateExpirationTime; + queue.expirationTime = newExpirationTime; + workInProgress.memoizedState = resultState; + } + } + + function callCallback(callback, context) { + invariant("function" === typeof callback, "Invalid argument passed as callback. Expected a function. Instead received: %s", callback); + callback.call(context); + } + + function commitUpdateQueue(finishedWork, finishedQueue, instance) { + null !== finishedQueue.firstCapturedUpdate && (null !== finishedQueue.lastUpdate && (finishedQueue.lastUpdate.next = finishedQueue.firstCapturedUpdate, finishedQueue.lastUpdate = finishedQueue.lastCapturedUpdate), finishedQueue.firstCapturedUpdate = finishedQueue.lastCapturedUpdate = null); + finishedWork = finishedQueue.firstEffect; + + for (finishedQueue.firstEffect = finishedQueue.lastEffect = null; null !== finishedWork;) { + var _callback3 = finishedWork.callback; + null !== _callback3 && (finishedWork.callback = null, callCallback(_callback3, instance)); + finishedWork = finishedWork.nextEffect; + } + + finishedWork = finishedQueue.firstCapturedEffect; + + for (finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; null !== finishedWork;) { + finishedQueue = finishedWork.callback, null !== finishedQueue && (finishedWork.callback = null, callCallback(finishedQueue, instance)), finishedWork = finishedWork.nextEffect; + } + } + + function createCapturedValue(value, source) { + return { + value: value, + source: source, + stack: getStackAddendumByWorkInProgressFiber(source) + }; + } + + var providerCursor = createCursor(null), + valueCursor = createCursor(null), + changedBitsCursor = createCursor(0); + + function pushProvider(providerFiber) { + var context = providerFiber.type._context; + push(changedBitsCursor, context._changedBits, providerFiber); + push(valueCursor, context._currentValue, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue = providerFiber.pendingProps.value; + context._changedBits = providerFiber.stateNode; + } + + function popProvider(providerFiber) { + var changedBits = changedBitsCursor.current, + currentValue = valueCursor.current; + pop(providerCursor, providerFiber); + pop(valueCursor, providerFiber); + pop(changedBitsCursor, providerFiber); + providerFiber = providerFiber.type._context; + providerFiber._currentValue = currentValue; + providerFiber._changedBits = changedBits; + } + + var NO_CONTEXT = {}, + contextStackCursor$1 = createCursor(NO_CONTEXT), + contextFiberStackCursor = createCursor(NO_CONTEXT), + rootInstanceStackCursor = createCursor(NO_CONTEXT); + + function requiredContext(c) { + invariant(c !== NO_CONTEXT, "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."); + return c; + } + + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, NO_CONTEXT, fiber); + pop(contextStackCursor$1, fiber); + push(contextStackCursor$1, { + isInAParentText: !1 + }, fiber); + } + + function popHostContainer(fiber) { + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor$1, fiber), pop(contextFiberStackCursor, fiber)); + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + function is(x, y) { + return x === y ? 0 !== x || 0 !== y || 1 / x === 1 / y : x !== x && y !== y; + } + + function shallowEqual(objA, objB) { + if (is(objA, objB)) return !0; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) return !1; + var keysA = Object.keys(objA), + keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return !1; + + for (keysB = 0; keysB < keysA.length; keysB++) { + if (!hasOwnProperty.call(objB, keysA[keysB]) || !is(objA[keysA[keysB]], objB[keysA[keysB]])) return !1; + } + + return !0; + } + + function applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress.memoizedState; + getDerivedStateFromProps = getDerivedStateFromProps(nextProps, prevState); + prevState = null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps ? prevState : _extends({}, prevState, getDerivedStateFromProps); + workInProgress.memoizedState = prevState; + workInProgress = workInProgress.updateQueue; + null !== workInProgress && 0 === workInProgress.expirationTime && (workInProgress.baseState = prevState); + } + + var classComponentUpdater = { + isMounted: function isMounted(component) { + return (component = component._reactInternalFiber) ? 2 === isFiberMountedImpl(component) : !1; + }, + enqueueSetState: function enqueueSetState(inst, payload, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.payload = payload; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + }, + enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.tag = 1; + update.payload = payload; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + }, + enqueueForceUpdate: function enqueueForceUpdate(inst, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.tag = 2; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + } + }; + + function checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext) { + var instance = workInProgress.stateNode; + workInProgress = workInProgress.type; + return "function" === typeof instance.shouldComponentUpdate ? instance.shouldComponentUpdate(newProps, newState, newContext) : workInProgress.prototype && workInProgress.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : !0; + } + + function callComponentWillReceiveProps(workInProgress, instance, newProps, newContext) { + workInProgress = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, newContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, newContext); + instance.state !== workInProgress && classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + + function mountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type, + instance = workInProgress.stateNode, + props = workInProgress.pendingProps, + unmaskedContext = getUnmaskedContext(workInProgress); + instance.props = props; + instance.state = workInProgress.memoizedState; + instance.refs = emptyObject; + instance.context = getMaskedContext(workInProgress, unmaskedContext); + unmaskedContext = workInProgress.updateQueue; + null !== unmaskedContext && (processUpdateQueue(workInProgress, unmaskedContext, props, instance, renderExpirationTime), instance.state = workInProgress.memoizedState); + unmaskedContext = workInProgress.type.getDerivedStateFromProps; + "function" === typeof unmaskedContext && (applyDerivedStateFromProps(workInProgress, unmaskedContext, props), instance.state = workInProgress.memoizedState); + "function" === typeof ctor.getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || (ctor = instance.state, "function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount(), ctor !== instance.state && classComponentUpdater.enqueueReplaceState(instance, instance.state, null), unmaskedContext = workInProgress.updateQueue, null !== unmaskedContext && (processUpdateQueue(workInProgress, unmaskedContext, props, instance, renderExpirationTime), instance.state = workInProgress.memoizedState)); + "function" === typeof instance.componentDidMount && (workInProgress.effectTag |= 4); + } + + var isArray$1 = Array.isArray; + + function coerceRef(returnFiber, current, element) { + returnFiber = element.ref; + + if (null !== returnFiber && "function" !== typeof returnFiber && "object" !== typeof returnFiber) { + if (element._owner) { + element = element._owner; + var inst = void 0; + element && (invariant(2 === element.tag, "Stateless function components cannot have refs."), inst = element.stateNode); + invariant(inst, "Missing owner for string ref %s. This error is likely caused by a bug in React. Please file an issue.", returnFiber); + var stringRef = "" + returnFiber; + if (null !== current && null !== current.ref && "function" === typeof current.ref && current.ref._stringRef === stringRef) return current.ref; + + current = function current(value) { + var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs; + null === value ? delete refs[stringRef] : refs[stringRef] = value; + }; + + current._stringRef = stringRef; + return current; + } + + invariant("string" === typeof returnFiber, "Expected ref to be a function or a string."); + invariant(element._owner, "Element ref was specified as a string (%s) but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a functional component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information.", returnFiber); + } + + return returnFiber; + } + + function throwOnInvalidObjectType(returnFiber, newChild) { + "textarea" !== returnFiber.type && invariant(!1, "Objects are not valid as a React child (found: %s).%s", "[object Object]" === Object.prototype.toString.call(newChild) ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : newChild, ""); + } + + function ChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var last = returnFiber.lastEffect; + null !== last ? (last.nextEffect = childToDelete, returnFiber.lastEffect = childToDelete) : returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + childToDelete.nextEffect = null; + childToDelete.effectTag = 8; + } + } + + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + + for (; null !== currentFirstChild;) { + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + } + + return null; + } + + function mapRemainingChildren(returnFiber, currentFirstChild) { + for (returnFiber = new Map(); null !== currentFirstChild;) { + null !== currentFirstChild.key ? returnFiber.set(currentFirstChild.key, currentFirstChild) : returnFiber.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + } + + return returnFiber; + } + + function useFiber(fiber, pendingProps, expirationTime) { + fiber = createWorkInProgress(fiber, pendingProps, expirationTime); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) return lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.effectTag = 2, lastPlacedIndex) : newIndex; + newFiber.effectTag = 2; + return lastPlacedIndex; + } + + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.effectTag = 2); + return newFiber; + } + + function updateTextNode(returnFiber, current, textContent, expirationTime) { + if (null === current || 6 !== current.tag) return current = createFiberFromText(textContent, returnFiber.mode, expirationTime), current.return = returnFiber, current; + current = useFiber(current, textContent, expirationTime); + current.return = returnFiber; + return current; + } + + function updateElement(returnFiber, current, element, expirationTime) { + if (null !== current && current.type === element.type) return expirationTime = useFiber(current, element.props, expirationTime), expirationTime.ref = coerceRef(returnFiber, current, element), expirationTime.return = returnFiber, expirationTime; + expirationTime = createFiberFromElement(element, returnFiber.mode, expirationTime); + expirationTime.ref = coerceRef(returnFiber, current, element); + expirationTime.return = returnFiber; + return expirationTime; + } + + function updatePortal(returnFiber, current, portal, expirationTime) { + if (null === current || 4 !== current.tag || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) return current = createFiberFromPortal(portal, returnFiber.mode, expirationTime), current.return = returnFiber, current; + current = useFiber(current, portal.children || [], expirationTime); + current.return = returnFiber; + return current; + } + + function updateFragment(returnFiber, current, fragment, expirationTime, key) { + if (null === current || 10 !== current.tag) return current = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key), current.return = returnFiber, current; + current = useFiber(current, fragment, expirationTime); + current.return = returnFiber; + return current; + } + + function createChild(returnFiber, newChild, expirationTime) { + if ("string" === typeof newChild || "number" === typeof newChild) return newChild = createFiberFromText("" + newChild, returnFiber.mode, expirationTime), newChild.return = returnFiber, newChild; + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return expirationTime = createFiberFromElement(newChild, returnFiber.mode, expirationTime), expirationTime.ref = coerceRef(returnFiber, null, newChild), expirationTime.return = returnFiber, expirationTime; + + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal(newChild, returnFiber.mode, expirationTime), newChild.return = returnFiber, newChild; + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return newChild = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null), newChild.return = returnFiber, newChild; + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild || "number" === typeof newChild) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, expirationTime); + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? newChild.type === REACT_FRAGMENT_TYPE ? updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key) : updateElement(returnFiber, oldFiber, newChild, expirationTime) : null; + + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, expirationTime) : null; + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return null !== key ? null : updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { + if ("string" === typeof newChild || "number" === typeof newChild) return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, expirationTime); + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, newChild.type === REACT_FRAGMENT_TYPE ? updateFragment(returnFiber, existingChildren, newChild.props.children, expirationTime, newChild.key) : updateElement(returnFiber, existingChildren, newChild, expirationTime); + + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updatePortal(returnFiber, existingChildren, newChild, expirationTime); + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return existingChildren = existingChildren.get(newIdx) || null, updateFragment(returnFiber, existingChildren, newChild, expirationTime, null); + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); + + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (newIdx === newChildren.length) return deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild; + + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) { + if (oldFiber = createChild(returnFiber, newChildren[newIdx], expirationTime)) currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber; + } + + return resultingFirstChild; + } + + for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); newIdx < newChildren.length; newIdx++) { + if (nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, newChildren[newIdx], expirationTime)) shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(null === nextOldFiber.key ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber; + } + + shouldTrackSideEffects && oldFiber.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + return resultingFirstChild; + } + + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { + var iteratorFn = getIteratorFn(newChildrenIterable); + invariant("function" === typeof iteratorFn, "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."); + newChildrenIterable = iteratorFn.call(newChildrenIterable); + invariant(null != newChildrenIterable, "An iterable object provided no iterator."); + + for (var previousNewFiber = iteratorFn = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, step = newChildrenIterable.next(); null !== oldFiber && !step.done; newIdx++, step = newChildrenIterable.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); + + if (null === newFiber) { + oldFiber || (oldFiber = nextOldFiber); + break; + } + + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? iteratorFn = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (step.done) return deleteRemainingChildren(returnFiber, oldFiber), iteratorFn; + + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildrenIterable.next()) { + step = createChild(returnFiber, step.value, expirationTime), null !== step && (currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step); + } + + return iteratorFn; + } + + for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); !step.done; newIdx++, step = newChildrenIterable.next()) { + step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, expirationTime), null !== step && (shouldTrackSideEffects && null !== step.alternate && oldFiber.delete(null === step.key ? newIdx : step.key), currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step); + } + + shouldTrackSideEffects && oldFiber.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + return iteratorFn; + } + + return function (returnFiber, currentFirstChild, newChild, expirationTime) { + var isUnkeyedTopLevelFragment = "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key; + isUnkeyedTopLevelFragment && (newChild = newChild.props.children); + var isObject = "object" === typeof newChild && null !== newChild; + if (isObject) switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + a: { + isObject = newChild.key; + + for (isUnkeyedTopLevelFragment = currentFirstChild; null !== isUnkeyedTopLevelFragment;) { + if (isUnkeyedTopLevelFragment.key === isObject) { + if (10 === isUnkeyedTopLevelFragment.tag ? newChild.type === REACT_FRAGMENT_TYPE : isUnkeyedTopLevelFragment.type === newChild.type) { + deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling); + currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.type === REACT_FRAGMENT_TYPE ? newChild.props.children : newChild.props, expirationTime); + currentFirstChild.ref = coerceRef(returnFiber, isUnkeyedTopLevelFragment, newChild); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + break a; + } else { + deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment); + break; + } + } else deleteChild(returnFiber, isUnkeyedTopLevelFragment); + isUnkeyedTopLevelFragment = isUnkeyedTopLevelFragment.sibling; + } + + newChild.type === REACT_FRAGMENT_TYPE ? (currentFirstChild = createFiberFromFragment(newChild.props.children, returnFiber.mode, expirationTime, newChild.key), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (expirationTime = createFiberFromElement(newChild, returnFiber.mode, expirationTime), expirationTime.ref = coerceRef(returnFiber, currentFirstChild, newChild), expirationTime.return = returnFiber, returnFiber = expirationTime); + } + + return placeSingleChild(returnFiber); + + case REACT_PORTAL_TYPE: + a: { + for (isUnkeyedTopLevelFragment = newChild.key; null !== currentFirstChild;) { + if (currentFirstChild.key === isUnkeyedTopLevelFragment) { + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === newChild.containerInfo && currentFirstChild.stateNode.implementation === newChild.implementation) { + deleteRemainingChildren(returnFiber, currentFirstChild.sibling); + currentFirstChild = useFiber(currentFirstChild, newChild.children || [], expirationTime); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + + currentFirstChild = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + } + + return placeSingleChild(returnFiber); + } + if ("string" === typeof newChild || "number" === typeof newChild) return newChild = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), currentFirstChild = useFiber(currentFirstChild, newChild, expirationTime), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (deleteRemainingChildren(returnFiber, currentFirstChild), currentFirstChild = createFiberFromText(newChild, returnFiber.mode, expirationTime), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild), placeSingleChild(returnFiber); + if (isArray$1(newChild)) return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); + if (getIteratorFn(newChild)) return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); + isObject && throwOnInvalidObjectType(returnFiber, newChild); + if ("undefined" === typeof newChild && !isUnkeyedTopLevelFragment) switch (returnFiber.tag) { + case 2: + case 1: + expirationTime = returnFiber.type, invariant(!1, "%s(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.", expirationTime.displayName || expirationTime.name || "Component"); + } + return deleteRemainingChildren(returnFiber, currentFirstChild); + }; + } + + var reconcileChildFibers = ChildReconciler(!0), + mountChildFibers = ChildReconciler(!1), + hydrationParentFiber = null, + nextHydratableInstance = null, + isHydrating = !1; + + function tryHydrate(fiber, nextInstance) { + switch (fiber.tag) { + case 5: + return nextInstance = shim$1(nextInstance, fiber.type, fiber.pendingProps), null !== nextInstance ? (fiber.stateNode = nextInstance, !0) : !1; + + case 6: + return nextInstance = shim$1(nextInstance, fiber.pendingProps), null !== nextInstance ? (fiber.stateNode = nextInstance, !0) : !1; + + default: + return !1; + } + } + + function tryToClaimNextHydratableInstance(fiber$jscomp$0) { + if (isHydrating) { + var nextInstance = nextHydratableInstance; + + if (nextInstance) { + var firstAttemptedInstance = nextInstance; + + if (!tryHydrate(fiber$jscomp$0, nextInstance)) { + nextInstance = shim$1(firstAttemptedInstance); + + if (!nextInstance || !tryHydrate(fiber$jscomp$0, nextInstance)) { + fiber$jscomp$0.effectTag |= 2; + isHydrating = !1; + hydrationParentFiber = fiber$jscomp$0; + return; + } + + var returnFiber = hydrationParentFiber, + fiber = new FiberNode(5, null, null, 0); + fiber.type = "DELETED"; + fiber.stateNode = firstAttemptedInstance; + fiber.return = returnFiber; + fiber.effectTag = 8; + null !== returnFiber.lastEffect ? (returnFiber.lastEffect.nextEffect = fiber, returnFiber.lastEffect = fiber) : returnFiber.firstEffect = returnFiber.lastEffect = fiber; + } + + hydrationParentFiber = fiber$jscomp$0; + nextHydratableInstance = shim$1(nextInstance); + } else fiber$jscomp$0.effectTag |= 2, isHydrating = !1, hydrationParentFiber = fiber$jscomp$0; + } + } + + function reconcileChildren(current, workInProgress, nextChildren) { + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, workInProgress.expirationTime); + } + + function reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime) { + workInProgress.child = null === current ? mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime) : reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); + } + + function markRef(current, workInProgress) { + var ref = workInProgress.ref; + if (null === current && null !== ref || null !== current && current.ref !== ref) workInProgress.effectTag |= 128; + } + + function finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime) { + markRef(current, workInProgress); + var didCaptureError = 0 !== (workInProgress.effectTag & 64); + if (!shouldUpdate && !didCaptureError) return hasContext && invalidateContextProvider(workInProgress, !1), bailoutOnAlreadyFinishedWork(current, workInProgress); + shouldUpdate = workInProgress.stateNode; + ReactCurrentOwner.current = workInProgress; + var nextChildren = didCaptureError ? null : shouldUpdate.render(); + workInProgress.effectTag |= 1; + didCaptureError && (reconcileChildrenAtExpirationTime(current, workInProgress, null, renderExpirationTime), workInProgress.child = null); + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime); + workInProgress.memoizedState = shouldUpdate.state; + workInProgress.memoizedProps = shouldUpdate.props; + hasContext && invalidateContextProvider(workInProgress, !0); + return workInProgress.child; + } + + function pushHostRootContext(workInProgress) { + var root = workInProgress.stateNode; + root.pendingContext ? pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context) : root.context && pushTopLevelContextObject(workInProgress, root.context, !1); + pushHostContainer(workInProgress, root.containerInfo); + } + + function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { + var fiber = workInProgress.child; + null !== fiber && (fiber.return = workInProgress); + + for (; null !== fiber;) { + switch (fiber.tag) { + case 12: + var nextFiber = fiber.stateNode | 0; + + if (fiber.type === context && 0 !== (nextFiber & changedBits)) { + for (nextFiber = fiber; null !== nextFiber;) { + var alternate = nextFiber.alternate; + if (0 === nextFiber.expirationTime || nextFiber.expirationTime > renderExpirationTime) nextFiber.expirationTime = renderExpirationTime, null !== alternate && (0 === alternate.expirationTime || alternate.expirationTime > renderExpirationTime) && (alternate.expirationTime = renderExpirationTime);else if (null !== alternate && (0 === alternate.expirationTime || alternate.expirationTime > renderExpirationTime)) alternate.expirationTime = renderExpirationTime;else break; + nextFiber = nextFiber.return; + } + + nextFiber = null; + } else nextFiber = fiber.child; + + break; + + case 13: + nextFiber = fiber.type === workInProgress.type ? null : fiber.child; + break; + + default: + nextFiber = fiber.child; + } + + if (null !== nextFiber) nextFiber.return = fiber;else for (nextFiber = fiber; null !== nextFiber;) { + if (nextFiber === workInProgress) { + nextFiber = null; + break; + } + + fiber = nextFiber.sibling; + + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + + function updateContextProvider(current, workInProgress, renderExpirationTime) { + var context = workInProgress.type._context, + newProps = workInProgress.pendingProps, + oldProps = workInProgress.memoizedProps, + canBailOnProps = !0; + if (didPerformWorkStackCursor.current) canBailOnProps = !1;else if (oldProps === newProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + var newValue = newProps.value; + workInProgress.memoizedProps = newProps; + if (null === oldProps) newValue = 1073741823;else if (oldProps.value === newProps.value) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + newValue = 0; + } else { + var oldValue = oldProps.value; + + if (oldValue === newValue && (0 !== oldValue || 1 / oldValue === 1 / newValue) || oldValue !== oldValue && newValue !== newValue) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + newValue = 0; + } else if (newValue = "function" === typeof context._calculateChangedBits ? context._calculateChangedBits(oldValue, newValue) : 1073741823, newValue |= 0, 0 === newValue) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + } else propagateContextChange(workInProgress, context, newValue, renderExpirationTime); + } + workInProgress.stateNode = newValue; + pushProvider(workInProgress); + reconcileChildren(current, workInProgress, newProps.children); + return workInProgress.child; + } + + function bailoutOnAlreadyFinishedWork(current, workInProgress) { + invariant(null === current || workInProgress.child === current.child, "Resuming work not yet implemented."); + + if (null !== workInProgress.child) { + current = workInProgress.child; + var newChild = createWorkInProgress(current, current.pendingProps, current.expirationTime); + workInProgress.child = newChild; + + for (newChild.return = workInProgress; null !== current.sibling;) { + current = current.sibling, newChild = newChild.sibling = createWorkInProgress(current, current.pendingProps, current.expirationTime), newChild.return = workInProgress; + } + + newChild.sibling = null; + } + + return workInProgress.child; + } + + function beginWork(current, workInProgress, renderExpirationTime) { + if (0 === workInProgress.expirationTime || workInProgress.expirationTime > renderExpirationTime) { + switch (workInProgress.tag) { + case 3: + pushHostRootContext(workInProgress); + break; + + case 2: + pushContextProvider(workInProgress); + break; + + case 4: + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + break; + + case 13: + pushProvider(workInProgress); + } + + return null; + } + + switch (workInProgress.tag) { + case 0: + invariant(null === current, "An indeterminate component should never have mounted. This error is likely caused by a bug in React. Please file an issue."); + var fn = workInProgress.type, + props = workInProgress.pendingProps, + unmaskedContext = getUnmaskedContext(workInProgress); + unmaskedContext = getMaskedContext(workInProgress, unmaskedContext); + fn = fn(props, unmaskedContext); + workInProgress.effectTag |= 1; + "object" === typeof fn && null !== fn && "function" === typeof fn.render && void 0 === fn.$$typeof ? (unmaskedContext = workInProgress.type, workInProgress.tag = 2, workInProgress.memoizedState = null !== fn.state && void 0 !== fn.state ? fn.state : null, unmaskedContext = unmaskedContext.getDerivedStateFromProps, "function" === typeof unmaskedContext && applyDerivedStateFromProps(workInProgress, unmaskedContext, props), props = pushContextProvider(workInProgress), fn.updater = classComponentUpdater, workInProgress.stateNode = fn, fn._reactInternalFiber = workInProgress, mountClassInstance(workInProgress, renderExpirationTime), current = finishClassComponent(current, workInProgress, !0, props, renderExpirationTime)) : (workInProgress.tag = 1, reconcileChildren(current, workInProgress, fn), workInProgress.memoizedProps = props, current = workInProgress.child); + return current; + + case 1: + return props = workInProgress.type, renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime ? (fn = getUnmaskedContext(workInProgress), fn = getMaskedContext(workInProgress, fn), props = props(renderExpirationTime, fn), workInProgress.effectTag |= 1, reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 2: + props = pushContextProvider(workInProgress); + if (null === current) { + if (null === workInProgress.stateNode) { + var props$jscomp$0 = workInProgress.pendingProps, + ctor = workInProgress.type; + fn = getUnmaskedContext(workInProgress); + var needsContext = 2 === workInProgress.tag && null != workInProgress.type.contextTypes; + unmaskedContext = needsContext ? getMaskedContext(workInProgress, fn) : emptyObject; + props$jscomp$0 = new ctor(props$jscomp$0, unmaskedContext); + workInProgress.memoizedState = null !== props$jscomp$0.state && void 0 !== props$jscomp$0.state ? props$jscomp$0.state : null; + props$jscomp$0.updater = classComponentUpdater; + workInProgress.stateNode = props$jscomp$0; + props$jscomp$0._reactInternalFiber = workInProgress; + needsContext && (needsContext = workInProgress.stateNode, needsContext.__reactInternalMemoizedUnmaskedChildContext = fn, needsContext.__reactInternalMemoizedMaskedChildContext = unmaskedContext); + mountClassInstance(workInProgress, renderExpirationTime); + fn = !0; + } else { + ctor = workInProgress.type; + fn = workInProgress.stateNode; + needsContext = workInProgress.memoizedProps; + unmaskedContext = workInProgress.pendingProps; + fn.props = needsContext; + var oldContext = fn.context; + props$jscomp$0 = getUnmaskedContext(workInProgress); + props$jscomp$0 = getMaskedContext(workInProgress, props$jscomp$0); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + (ctor = "function" === typeof getDerivedStateFromProps || "function" === typeof fn.getSnapshotBeforeUpdate) || "function" !== typeof fn.UNSAFE_componentWillReceiveProps && "function" !== typeof fn.componentWillReceiveProps || (needsContext !== unmaskedContext || oldContext !== props$jscomp$0) && callComponentWillReceiveProps(workInProgress, fn, unmaskedContext, props$jscomp$0); + hasForceUpdate = !1; + var oldState = workInProgress.memoizedState; + oldContext = fn.state = oldState; + var updateQueue = workInProgress.updateQueue; + null !== updateQueue && (processUpdateQueue(workInProgress, updateQueue, unmaskedContext, fn, renderExpirationTime), oldContext = workInProgress.memoizedState); + needsContext !== unmaskedContext || oldState !== oldContext || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, unmaskedContext), oldContext = workInProgress.memoizedState), (needsContext = hasForceUpdate || checkShouldComponentUpdate(workInProgress, needsContext, unmaskedContext, oldState, oldContext, props$jscomp$0)) ? (ctor || "function" !== typeof fn.UNSAFE_componentWillMount && "function" !== typeof fn.componentWillMount || ("function" === typeof fn.componentWillMount && fn.componentWillMount(), "function" === typeof fn.UNSAFE_componentWillMount && fn.UNSAFE_componentWillMount()), "function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4)) : ("function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4), workInProgress.memoizedProps = unmaskedContext, workInProgress.memoizedState = oldContext), fn.props = unmaskedContext, fn.state = oldContext, fn.context = props$jscomp$0, fn = needsContext) : ("function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4), fn = !1); + } + } else ctor = workInProgress.type, fn = workInProgress.stateNode, unmaskedContext = workInProgress.memoizedProps, needsContext = workInProgress.pendingProps, fn.props = unmaskedContext, oldContext = fn.context, props$jscomp$0 = getUnmaskedContext(workInProgress), props$jscomp$0 = getMaskedContext(workInProgress, props$jscomp$0), getDerivedStateFromProps = ctor.getDerivedStateFromProps, (ctor = "function" === typeof getDerivedStateFromProps || "function" === typeof fn.getSnapshotBeforeUpdate) || "function" !== typeof fn.UNSAFE_componentWillReceiveProps && "function" !== typeof fn.componentWillReceiveProps || (unmaskedContext !== needsContext || oldContext !== props$jscomp$0) && callComponentWillReceiveProps(workInProgress, fn, needsContext, props$jscomp$0), hasForceUpdate = !1, oldContext = workInProgress.memoizedState, oldState = fn.state = oldContext, updateQueue = workInProgress.updateQueue, null !== updateQueue && (processUpdateQueue(workInProgress, updateQueue, needsContext, fn, renderExpirationTime), oldState = workInProgress.memoizedState), unmaskedContext !== needsContext || oldContext !== oldState || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, needsContext), oldState = workInProgress.memoizedState), (getDerivedStateFromProps = hasForceUpdate || checkShouldComponentUpdate(workInProgress, unmaskedContext, needsContext, oldContext, oldState, props$jscomp$0)) ? (ctor || "function" !== typeof fn.UNSAFE_componentWillUpdate && "function" !== typeof fn.componentWillUpdate || ("function" === typeof fn.componentWillUpdate && fn.componentWillUpdate(needsContext, oldState, props$jscomp$0), "function" === typeof fn.UNSAFE_componentWillUpdate && fn.UNSAFE_componentWillUpdate(needsContext, oldState, props$jscomp$0)), "function" === typeof fn.componentDidUpdate && (workInProgress.effectTag |= 4), "function" === typeof fn.getSnapshotBeforeUpdate && (workInProgress.effectTag |= 256)) : ("function" !== typeof fn.componentDidUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 4), "function" !== typeof fn.getSnapshotBeforeUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 256), workInProgress.memoizedProps = needsContext, workInProgress.memoizedState = oldState), fn.props = needsContext, fn.state = oldState, fn.context = props$jscomp$0, fn = getDerivedStateFromProps) : ("function" !== typeof fn.componentDidUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 4), "function" !== typeof fn.getSnapshotBeforeUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 256), fn = !1); + return finishClassComponent(current, workInProgress, fn, props, renderExpirationTime); + + case 3: + return pushHostRootContext(workInProgress), props = workInProgress.updateQueue, null !== props ? (fn = workInProgress.memoizedState, fn = null !== fn ? fn.element : null, processUpdateQueue(workInProgress, props, workInProgress.pendingProps, null, renderExpirationTime), renderExpirationTime = workInProgress.memoizedState.element, renderExpirationTime === fn ? current = bailoutOnAlreadyFinishedWork(current, workInProgress) : (reconcileChildren(current, workInProgress, renderExpirationTime), current = workInProgress.child)) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 5: + return requiredContext(rootInstanceStackCursor.current), renderExpirationTime = requiredContext(contextStackCursor$1.current), props = workInProgress.type, props = "AndroidTextInput" === props || "RCTMultilineTextInputView" === props || "RCTSinglelineTextInputView" === props || "RCTText" === props || "RCTVirtualText" === props, props = renderExpirationTime.isInAParentText !== props ? { + isInAParentText: props + } : renderExpirationTime, renderExpirationTime !== props && (push(contextFiberStackCursor, workInProgress, workInProgress), push(contextStackCursor$1, props, workInProgress)), null === current && tryToClaimNextHydratableInstance(workInProgress), props = workInProgress.memoizedProps, renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || props !== renderExpirationTime ? (props = renderExpirationTime.children, markRef(current, workInProgress), reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 6: + return null === current && tryToClaimNextHydratableInstance(workInProgress), workInProgress.memoizedProps = workInProgress.pendingProps, null; + + case 16: + return null; + + case 4: + return pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo), props = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== props ? (null === current ? workInProgress.child = reconcileChildFibers(workInProgress, null, props, renderExpirationTime) : reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = props, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 14: + return props = workInProgress.type.render, renderExpirationTime = workInProgress.pendingProps, fn = workInProgress.ref, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime || fn !== (null !== current ? current.ref : null) ? (props = props(renderExpirationTime, fn), reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 10: + return renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime ? (reconcileChildren(current, workInProgress, renderExpirationTime), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 11: + return renderExpirationTime = workInProgress.pendingProps.children, didPerformWorkStackCursor.current || null !== renderExpirationTime && workInProgress.memoizedProps !== renderExpirationTime ? (reconcileChildren(current, workInProgress, renderExpirationTime), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 15: + return renderExpirationTime = workInProgress.pendingProps, workInProgress.memoizedProps === renderExpirationTime ? current = bailoutOnAlreadyFinishedWork(current, workInProgress) : (reconcileChildren(current, workInProgress, renderExpirationTime.children), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child), current; + + case 13: + return updateContextProvider(current, workInProgress, renderExpirationTime); + + case 12: + a: if (fn = workInProgress.type, unmaskedContext = workInProgress.pendingProps, needsContext = workInProgress.memoizedProps, props = fn._currentValue, props$jscomp$0 = fn._changedBits, didPerformWorkStackCursor.current || 0 !== props$jscomp$0 || needsContext !== unmaskedContext) { + workInProgress.memoizedProps = unmaskedContext; + ctor = unmaskedContext.unstable_observedBits; + if (void 0 === ctor || null === ctor) ctor = 1073741823; + workInProgress.stateNode = ctor; + if (0 !== (props$jscomp$0 & ctor)) propagateContextChange(workInProgress, fn, props$jscomp$0, renderExpirationTime);else if (needsContext === unmaskedContext) { + current = bailoutOnAlreadyFinishedWork(current, workInProgress); + break a; + } + renderExpirationTime = unmaskedContext.children; + renderExpirationTime = renderExpirationTime(props); + workInProgress.effectTag |= 1; + reconcileChildren(current, workInProgress, renderExpirationTime); + current = workInProgress.child; + } else current = bailoutOnAlreadyFinishedWork(current, workInProgress); + + return current; + + default: + invariant(!1, "Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."); + } + } + + var updateHostContainer = void 0, + updateHostComponent$1 = void 0, + updateHostText$1 = void 0; + + updateHostContainer = function updateHostContainer() {}; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload) { + if (workInProgress.updateQueue = updatePayload) workInProgress.effectTag |= 4; + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + oldText !== newText && (workInProgress.effectTag |= 4); + }; + + function completeWork(current, workInProgress) { + var newProps = workInProgress.pendingProps; + + switch (workInProgress.tag) { + case 1: + return null; + + case 2: + return popContextProvider(workInProgress), null; + + case 3: + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + newProps = workInProgress.stateNode; + newProps.pendingContext && (newProps.context = newProps.pendingContext, newProps.pendingContext = null); + if (null === current || null === current.child) workInProgress.effectTag &= -3; + updateHostContainer(workInProgress); + return null; + + case 5: + popHostContext(workInProgress); + var rootContainerInstance = requiredContext(rootInstanceStackCursor.current), + type = workInProgress.type; + + if (null !== current && null != workInProgress.stateNode) { + var oldProps = current.memoizedProps, + currentHostContext = requiredContext(contextStackCursor$1.current); + updateHostComponent$1(current, workInProgress, emptyObject, type, oldProps, newProps, rootContainerInstance, currentHostContext); + current.ref !== workInProgress.ref && (workInProgress.effectTag |= 128); + } else { + if (!newProps) return invariant(null !== workInProgress.stateNode, "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."), null; + current = requiredContext(contextStackCursor$1.current); + oldProps = allocateTag(); + currentHostContext = ReactNativeViewConfigRegistry.get(type); + invariant("RCTView" !== type || !current.isInAParentText, "Nesting of within is not currently supported."); + var updatePayload = diffProperties(null, emptyObject$1, newProps, currentHostContext.validAttributes); + UIManager.createView(oldProps, currentHostContext.uiViewClassName, rootContainerInstance, updatePayload); + currentHostContext = new ReactNativeFiberHostComponent(oldProps, currentHostContext); + instanceCache[oldProps] = workInProgress; + instanceProps[oldProps] = newProps; + + a: for (oldProps = workInProgress.child; null !== oldProps;) { + if (5 === oldProps.tag || 6 === oldProps.tag) currentHostContext._children.push(oldProps.stateNode);else if (4 !== oldProps.tag && null !== oldProps.child) { + oldProps.child.return = oldProps; + oldProps = oldProps.child; + continue; + } + if (oldProps === workInProgress) break; + + for (; null === oldProps.sibling;) { + if (null === oldProps.return || oldProps.return === workInProgress) break a; + oldProps = oldProps.return; + } + + oldProps.sibling.return = oldProps.return; + oldProps = oldProps.sibling; + } + + finalizeInitialChildren(currentHostContext, type, newProps, rootContainerInstance, current) && (workInProgress.effectTag |= 4); + workInProgress.stateNode = currentHostContext; + null !== workInProgress.ref && (workInProgress.effectTag |= 128); + } + + return null; + + case 6: + if (current && null != workInProgress.stateNode) updateHostText$1(current, workInProgress, current.memoizedProps, newProps);else { + if ("string" !== typeof newProps) return invariant(null !== workInProgress.stateNode, "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."), null; + rootContainerInstance = requiredContext(rootInstanceStackCursor.current); + type = requiredContext(contextStackCursor$1.current); + invariant(type.isInAParentText, "Text strings must be rendered within a component."); + type = allocateTag(); + UIManager.createView(type, "RCTRawText", rootContainerInstance, { + text: newProps + }); + instanceCache[type] = workInProgress; + workInProgress.stateNode = type; + } + return null; + + case 14: + return null; + + case 16: + return null; + + case 10: + return null; + + case 11: + return null; + + case 15: + return null; + + case 4: + return popHostContainer(workInProgress), updateHostContainer(workInProgress), null; + + case 13: + return popProvider(workInProgress), null; + + case 12: + return null; + + case 0: + invariant(!1, "An indeterminate component should have become determinate before completing. This error is likely caused by a bug in React. Please file an issue."); + + default: + invariant(!1, "Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."); + } + } + + function logError(boundary, errorInfo) { + var source = errorInfo.source, + stack = errorInfo.stack; + null === stack && null !== source && (stack = getStackAddendumByWorkInProgressFiber(source)); + null !== source && getComponentName(source); + source = null !== stack ? stack : ""; + errorInfo = errorInfo.value; + null !== boundary && 2 === boundary.tag && getComponentName(boundary); + + try { + if (errorInfo instanceof Error) { + var message = errorInfo.message, + name = errorInfo.name; + var errorToHandle = errorInfo; + + try { + errorToHandle.message = (message ? name + ": " + message : name) + "\n\nThis error is located at:" + source; + } catch (e) {} + } else errorToHandle = "string" === typeof errorInfo ? Error(errorInfo + "\n\nThis error is located at:" + source) : Error("Unspecified error at:" + source); + + ExceptionsManager.handleException(errorToHandle, !1); + } catch (e) { + e && e.suppressReactErrorLogging || console.error(e); + } + } + + function safelyDetachRef(current) { + var ref = current.ref; + if (null !== ref) if ("function" === typeof ref) try { + ref(null); + } catch (refError) { + captureCommitPhaseError(current, refError); + } else ref.current = null; + } + + function commitUnmount(current) { + "function" === typeof onCommitUnmount && onCommitUnmount(current); + + switch (current.tag) { + case 2: + safelyDetachRef(current); + var instance = current.stateNode; + if ("function" === typeof instance.componentWillUnmount) try { + instance.props = current.memoizedProps, instance.state = current.memoizedState, instance.componentWillUnmount(); + } catch (unmountError) { + captureCommitPhaseError(current, unmountError); + } + break; + + case 5: + safelyDetachRef(current); + break; + + case 4: + unmountHostComponents(current); + } + } + + function isHostParent(fiber) { + return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag; + } + + function commitPlacement(finishedWork) { + a: { + for (var parent = finishedWork.return; null !== parent;) { + if (isHostParent(parent)) { + var parentFiber = parent; + break a; + } + + parent = parent.return; + } + + invariant(!1, "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."); + parentFiber = void 0; + } + + var isContainer = parent = void 0; + + switch (parentFiber.tag) { + case 5: + parent = parentFiber.stateNode; + isContainer = !1; + break; + + case 3: + parent = parentFiber.stateNode.containerInfo; + isContainer = !0; + break; + + case 4: + parent = parentFiber.stateNode.containerInfo; + isContainer = !0; + break; + + default: + invariant(!1, "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."); + } + + parentFiber.effectTag & 16 && (parentFiber.effectTag &= -17); + + a: b: for (parentFiber = finishedWork;;) { + for (; null === parentFiber.sibling;) { + if (null === parentFiber.return || isHostParent(parentFiber.return)) { + parentFiber = null; + break a; + } + + parentFiber = parentFiber.return; + } + + parentFiber.sibling.return = parentFiber.return; + + for (parentFiber = parentFiber.sibling; 5 !== parentFiber.tag && 6 !== parentFiber.tag;) { + if (parentFiber.effectTag & 2) continue b; + if (null === parentFiber.child || 4 === parentFiber.tag) continue b;else parentFiber.child.return = parentFiber, parentFiber = parentFiber.child; + } + + if (!(parentFiber.effectTag & 2)) { + parentFiber = parentFiber.stateNode; + break a; + } + } + + for (var node = finishedWork;;) { + if (5 === node.tag || 6 === node.tag) { + if (parentFiber) { + if (isContainer) invariant("number" !== typeof parent, "Container does not support insertBefore operation");else { + var parentInstance = parent, + child = node.stateNode, + beforeChild = parentFiber, + children = parentInstance._children, + index = children.indexOf(child); + 0 <= index ? (children.splice(index, 1), beforeChild = children.indexOf(beforeChild), children.splice(beforeChild, 0, child), UIManager.manageChildren(parentInstance._nativeTag, [index], [beforeChild], [], [], [])) : (index = children.indexOf(beforeChild), children.splice(index, 0, child), UIManager.manageChildren(parentInstance._nativeTag, [], [], ["number" === typeof child ? child : child._nativeTag], [index], [])); + } + } else isContainer ? (parentInstance = node.stateNode, UIManager.setChildren(parent, ["number" === typeof parentInstance ? parentInstance : parentInstance._nativeTag])) : (parentInstance = parent, child = node.stateNode, children = "number" === typeof child ? child : child._nativeTag, index = parentInstance._children, beforeChild = index.indexOf(child), 0 <= beforeChild ? (index.splice(beforeChild, 1), index.push(child), UIManager.manageChildren(parentInstance._nativeTag, [beforeChild], [index.length - 1], [], [], [])) : (index.push(child), UIManager.manageChildren(parentInstance._nativeTag, [], [], [children], [index.length - 1], []))); + } else if (4 !== node.tag && null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === finishedWork) break; + + for (; null === node.sibling;) { + if (null === node.return || node.return === finishedWork) return; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function unmountHostComponents(current) { + for (var node = current, currentParentIsValid = !1, currentParent = void 0, currentParentIsContainer = void 0;;) { + if (!currentParentIsValid) { + currentParentIsValid = node.return; + + a: for (;;) { + invariant(null !== currentParentIsValid, "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."); + + switch (currentParentIsValid.tag) { + case 5: + currentParent = currentParentIsValid.stateNode; + currentParentIsContainer = !1; + break a; + + case 3: + currentParent = currentParentIsValid.stateNode.containerInfo; + currentParentIsContainer = !0; + break a; + + case 4: + currentParent = currentParentIsValid.stateNode.containerInfo; + currentParentIsContainer = !0; + break a; + } + + currentParentIsValid = currentParentIsValid.return; + } + + currentParentIsValid = !0; + } + + if (5 === node.tag || 6 === node.tag) { + a: for (var root = node, node$jscomp$0 = root;;) { + if (commitUnmount(node$jscomp$0), null !== node$jscomp$0.child && 4 !== node$jscomp$0.tag) node$jscomp$0.child.return = node$jscomp$0, node$jscomp$0 = node$jscomp$0.child;else { + if (node$jscomp$0 === root) break; + + for (; null === node$jscomp$0.sibling;) { + if (null === node$jscomp$0.return || node$jscomp$0.return === root) break a; + node$jscomp$0 = node$jscomp$0.return; + } + + node$jscomp$0.sibling.return = node$jscomp$0.return; + node$jscomp$0 = node$jscomp$0.sibling; + } + } + + if (currentParentIsContainer) root = currentParent, recursivelyUncacheFiberNode(node.stateNode), UIManager.manageChildren(root, [], [], [], [], [0]);else { + root = currentParent; + var child = node.stateNode; + recursivelyUncacheFiberNode(child); + node$jscomp$0 = root._children; + child = node$jscomp$0.indexOf(child); + node$jscomp$0.splice(child, 1); + UIManager.manageChildren(root._nativeTag, [], [], [], [], [child]); + } + } else if (4 === node.tag ? currentParent = node.stateNode.containerInfo : commitUnmount(node), null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === current) break; + + for (; null === node.sibling;) { + if (null === node.return || node.return === current) return; + node = node.return; + 4 === node.tag && (currentParentIsValid = !1); + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function commitWork(current, finishedWork) { + switch (finishedWork.tag) { + case 2: + break; + + case 5: + var instance = finishedWork.stateNode; + + if (null != instance) { + var newProps = finishedWork.memoizedProps; + current = null !== current ? current.memoizedProps : newProps; + var updatePayload = finishedWork.updateQueue; + finishedWork.updateQueue = null; + null !== updatePayload && (finishedWork = instance.viewConfig, instanceProps[instance._nativeTag] = newProps, newProps = diffProperties(null, current, newProps, finishedWork.validAttributes), null != newProps && UIManager.updateView(instance._nativeTag, finishedWork.uiViewClassName, newProps)); + } + + break; + + case 6: + invariant(null !== finishedWork.stateNode, "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."); + UIManager.updateView(finishedWork.stateNode, "RCTRawText", { + text: finishedWork.memoizedProps + }); + break; + + case 3: + break; + + case 15: + break; + + case 16: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + function createRootErrorUpdate(fiber, errorInfo, expirationTime) { + expirationTime = createUpdate(expirationTime); + expirationTime.tag = 3; + expirationTime.payload = { + element: null + }; + var error = errorInfo.value; + + expirationTime.callback = function () { + onUncaughtError(error); + logError(fiber, errorInfo); + }; + + return expirationTime; + } + + function createClassErrorUpdate(fiber, errorInfo, expirationTime) { + expirationTime = createUpdate(expirationTime); + expirationTime.tag = 3; + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (expirationTime.callback = function () { + null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this); + var error = errorInfo.value, + stack = errorInfo.stack; + logError(fiber, errorInfo); + this.componentDidCatch(error, { + componentStack: null !== stack ? stack : "" + }); + }); + return expirationTime; + } + + function unwindWork(workInProgress) { + switch (workInProgress.tag) { + case 2: + popContextProvider(workInProgress); + var effectTag = workInProgress.effectTag; + return effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 3: + return popHostContainer(workInProgress), popTopLevelContextObject(workInProgress), effectTag = workInProgress.effectTag, effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 5: + return popHostContext(workInProgress), null; + + case 16: + return effectTag = workInProgress.effectTag, effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 4: + return popHostContainer(workInProgress), null; + + case 13: + return popProvider(workInProgress), null; + + default: + return null; + } + } + + var originalStartTimeMs = now$1(), + mostRecentCurrentTime = 2, + mostRecentCurrentTimeMs = originalStartTimeMs, + lastUniqueAsyncExpiration = 0, + expirationContext = 0, + isWorking = !1, + nextUnitOfWork = null, + nextRoot = null, + nextRenderExpirationTime = 0, + nextLatestTimeoutMs = -1, + nextRenderDidError = !1, + nextEffect = null, + isCommitting$1 = !1, + legacyErrorBoundariesThatAlreadyFailed = null; + + function resetStack() { + if (null !== nextUnitOfWork) for (var interruptedWork = nextUnitOfWork.return; null !== interruptedWork;) { + var interruptedWork$jscomp$0 = interruptedWork; + + switch (interruptedWork$jscomp$0.tag) { + case 2: + popContextProvider(interruptedWork$jscomp$0); + break; + + case 3: + popHostContainer(interruptedWork$jscomp$0); + popTopLevelContextObject(interruptedWork$jscomp$0); + break; + + case 5: + popHostContext(interruptedWork$jscomp$0); + break; + + case 4: + popHostContainer(interruptedWork$jscomp$0); + break; + + case 13: + popProvider(interruptedWork$jscomp$0); + } + + interruptedWork = interruptedWork.return; + } + nextRoot = null; + nextRenderExpirationTime = 0; + nextLatestTimeoutMs = -1; + nextRenderDidError = !1; + nextUnitOfWork = null; + } + + function completeUnitOfWork(workInProgress$jscomp$0) { + for (;;) { + var current = workInProgress$jscomp$0.alternate, + returnFiber = workInProgress$jscomp$0.return, + siblingFiber = workInProgress$jscomp$0.sibling; + + if (0 === (workInProgress$jscomp$0.effectTag & 512)) { + current = completeWork(current, workInProgress$jscomp$0, nextRenderExpirationTime); + var workInProgress = workInProgress$jscomp$0; + + if (1073741823 === nextRenderExpirationTime || 1073741823 !== workInProgress.expirationTime) { + var newExpirationTime = 0; + + switch (workInProgress.tag) { + case 3: + case 2: + var updateQueue = workInProgress.updateQueue; + null !== updateQueue && (newExpirationTime = updateQueue.expirationTime); + } + + for (updateQueue = workInProgress.child; null !== updateQueue;) { + 0 !== updateQueue.expirationTime && (0 === newExpirationTime || newExpirationTime > updateQueue.expirationTime) && (newExpirationTime = updateQueue.expirationTime), updateQueue = updateQueue.sibling; + } + + workInProgress.expirationTime = newExpirationTime; + } + + if (null !== current) return current; + null !== returnFiber && 0 === (returnFiber.effectTag & 512) && (null === returnFiber.firstEffect && (returnFiber.firstEffect = workInProgress$jscomp$0.firstEffect), null !== workInProgress$jscomp$0.lastEffect && (null !== returnFiber.lastEffect && (returnFiber.lastEffect.nextEffect = workInProgress$jscomp$0.firstEffect), returnFiber.lastEffect = workInProgress$jscomp$0.lastEffect), 1 < workInProgress$jscomp$0.effectTag && (null !== returnFiber.lastEffect ? returnFiber.lastEffect.nextEffect = workInProgress$jscomp$0 : returnFiber.firstEffect = workInProgress$jscomp$0, returnFiber.lastEffect = workInProgress$jscomp$0)); + } else { + workInProgress$jscomp$0 = unwindWork(workInProgress$jscomp$0, nextRenderExpirationTime); + if (null !== workInProgress$jscomp$0) return workInProgress$jscomp$0.effectTag &= 511, workInProgress$jscomp$0; + null !== returnFiber && (returnFiber.firstEffect = returnFiber.lastEffect = null, returnFiber.effectTag |= 512); + } + + if (null !== siblingFiber) return siblingFiber; + if (null !== returnFiber) workInProgress$jscomp$0 = returnFiber;else break; + } + + return null; + } + + function performUnitOfWork(workInProgress) { + var next = beginWork(workInProgress.alternate, workInProgress, nextRenderExpirationTime); + null === next && (next = completeUnitOfWork(workInProgress)); + ReactCurrentOwner.current = null; + return next; + } + + function renderRoot(root$jscomp$0, isYieldy) { + invariant(!isWorking, "renderRoot was called recursively. This error is likely caused by a bug in React. Please file an issue."); + isWorking = !0; + var expirationTime = root$jscomp$0.nextExpirationTimeToWorkOn; + if (expirationTime !== nextRenderExpirationTime || root$jscomp$0 !== nextRoot || null === nextUnitOfWork) resetStack(), nextRoot = root$jscomp$0, nextRenderExpirationTime = expirationTime, nextLatestTimeoutMs = -1, nextRenderDidError = !1, nextUnitOfWork = createWorkInProgress(nextRoot.current, null, nextRenderExpirationTime), root$jscomp$0.pendingCommitExpirationTime = 0; + var didFatal = !1; + + do { + try { + if (isYieldy) for (; null !== nextUnitOfWork && !shouldYield();) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } else for (; null !== nextUnitOfWork;) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } catch (thrownValue) { + if (null === nextUnitOfWork) didFatal = !0, onUncaughtError(thrownValue);else { + invariant(null !== nextUnitOfWork, "Failed to replay rendering after an error. This is likely caused by a bug in React. Please file an issue with a reproducing case to help us find it."); + isYieldy = nextUnitOfWork; + var returnFiber = isYieldy.return; + + if (null === returnFiber) { + didFatal = !0; + onUncaughtError(thrownValue); + break; + } + + a: { + var root = root$jscomp$0, + returnFiber$jscomp$0 = returnFiber, + sourceFiber = isYieldy, + value = thrownValue; + returnFiber = nextRenderExpirationTime; + sourceFiber.effectTag |= 512; + sourceFiber.firstEffect = sourceFiber.lastEffect = null; + nextRenderDidError = !0; + + if ((root.didError || 1 === returnFiber) && (returnFiber === root.latestPendingTime || returnFiber === root.latestSuspendedTime)) { + value = createCapturedValue(value, sourceFiber); + root = returnFiber$jscomp$0; + + do { + switch (root.tag) { + case 3: + root.effectTag |= 1024; + value = createRootErrorUpdate(root, value, returnFiber); + enqueueCapturedUpdate(root, value, returnFiber); + break a; + + case 2: + if (returnFiber$jscomp$0 = value, sourceFiber = root.stateNode, 0 === (root.effectTag & 64) && null !== sourceFiber && "function" === typeof sourceFiber.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(sourceFiber))) { + root.effectTag |= 1024; + value = createClassErrorUpdate(root, returnFiber$jscomp$0, returnFiber); + enqueueCapturedUpdate(root, value, returnFiber); + break a; + } + + } + + root = root.return; + } while (null !== root); + } + } + + nextUnitOfWork = completeUnitOfWork(isYieldy); + } + } + + break; + } while (1); + + isWorking = !1; + didFatal ? root$jscomp$0.finishedWork = null : null === nextUnitOfWork ? (didFatal = root$jscomp$0.current.alternate, invariant(null !== didFatal, "Finished root should have a work-in-progress. This error is likely caused by a bug in React. Please file an issue."), 0 === (didFatal.effectTag & 512) ? (root$jscomp$0.pendingCommitExpirationTime = expirationTime, root$jscomp$0.finishedWork = didFatal) : (!nextRenderDidError || expirationTime !== root$jscomp$0.latestPendingTime && expirationTime !== root$jscomp$0.latestSuspendedTime ? (didFatal = root$jscomp$0.earliestPendingTime, isYieldy = root$jscomp$0.latestPendingTime, didFatal === expirationTime ? root$jscomp$0.earliestPendingTime = isYieldy === expirationTime ? root$jscomp$0.latestPendingTime = 0 : isYieldy : isYieldy === expirationTime && (root$jscomp$0.latestPendingTime = didFatal), didFatal = root$jscomp$0.latestSuspendedTime, didFatal === expirationTime && (root$jscomp$0.latestPingedTime = 0), isYieldy = root$jscomp$0.earliestSuspendedTime, 0 === isYieldy ? root$jscomp$0.earliestSuspendedTime = root$jscomp$0.latestSuspendedTime = expirationTime : isYieldy > expirationTime ? root$jscomp$0.earliestSuspendedTime = expirationTime : didFatal < expirationTime && (root$jscomp$0.latestSuspendedTime = expirationTime)) : root$jscomp$0.didError = !0, findNextPendingPriorityLevel(root$jscomp$0), onSuspend(root$jscomp$0, expirationTime, root$jscomp$0.expirationTime, nextLatestTimeoutMs))) : root$jscomp$0.finishedWork = null; + } + + function captureCommitPhaseError(fiber, error) { + var JSCompiler_inline_result; + + a: { + invariant(!isWorking || isCommitting$1, "dispatch: Cannot dispatch during the render phase."); + + for (JSCompiler_inline_result = fiber.return; null !== JSCompiler_inline_result;) { + switch (JSCompiler_inline_result.tag) { + case 2: + var instance = JSCompiler_inline_result.stateNode; + + if ("function" === typeof JSCompiler_inline_result.type.getDerivedStateFromCatch || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + fiber = createCapturedValue(error, fiber); + fiber = createClassErrorUpdate(JSCompiler_inline_result, fiber, 1); + enqueueUpdate(JSCompiler_inline_result, fiber, 1); + scheduleWork(JSCompiler_inline_result, 1); + JSCompiler_inline_result = void 0; + break a; + } + + break; + + case 3: + fiber = createCapturedValue(error, fiber); + fiber = createRootErrorUpdate(JSCompiler_inline_result, fiber, 1); + enqueueUpdate(JSCompiler_inline_result, fiber, 1); + scheduleWork(JSCompiler_inline_result, 1); + JSCompiler_inline_result = void 0; + break a; + } + + JSCompiler_inline_result = JSCompiler_inline_result.return; + } + + 3 === fiber.tag && (JSCompiler_inline_result = createCapturedValue(error, fiber), JSCompiler_inline_result = createRootErrorUpdate(fiber, JSCompiler_inline_result, 1), enqueueUpdate(fiber, JSCompiler_inline_result, 1), scheduleWork(fiber, 1)); + JSCompiler_inline_result = void 0; + } + + return JSCompiler_inline_result; + } + + function computeExpirationForFiber(currentTime, fiber) { + currentTime = 0 !== expirationContext ? expirationContext : isWorking ? isCommitting$1 ? 1 : nextRenderExpirationTime : fiber.mode & 1 ? isBatchingInteractiveUpdates ? 2 + 10 * (((currentTime - 2 + 15) / 10 | 0) + 1) : 2 + 25 * (((currentTime - 2 + 500) / 25 | 0) + 1) : 1; + isBatchingInteractiveUpdates && (0 === lowestPendingInteractiveExpirationTime || currentTime > lowestPendingInteractiveExpirationTime) && (lowestPendingInteractiveExpirationTime = currentTime); + return currentTime; + } + + function scheduleWork(fiber, expirationTime) { + for (; null !== fiber;) { + if (0 === fiber.expirationTime || fiber.expirationTime > expirationTime) fiber.expirationTime = expirationTime; + null !== fiber.alternate && (0 === fiber.alternate.expirationTime || fiber.alternate.expirationTime > expirationTime) && (fiber.alternate.expirationTime = expirationTime); + if (null === fiber.return) if (3 === fiber.tag) { + var root = fiber.stateNode; + !isWorking && 0 !== nextRenderExpirationTime && expirationTime < nextRenderExpirationTime && resetStack(); + markPendingPriorityLevel(root, expirationTime); + isWorking && !isCommitting$1 && nextRoot === root || requestWork(root, root.expirationTime); + nestedUpdateCount > NESTED_UPDATE_LIMIT && invariant(!1, "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."); + } else break; + fiber = fiber.return; + } + } + + function recalculateCurrentTime() { + mostRecentCurrentTimeMs = now$1() - originalStartTimeMs; + return mostRecentCurrentTime = (mostRecentCurrentTimeMs / 10 | 0) + 2; + } + + function syncUpdates(fn, a, b, c, d) { + var previousExpirationContext = expirationContext; + expirationContext = 1; + + try { + return fn(a, b, c, d); + } finally { + expirationContext = previousExpirationContext; + } + } + + var firstScheduledRoot = null, + lastScheduledRoot = null, + callbackExpirationTime = 0, + callbackID = void 0, + isRendering = !1, + nextFlushedRoot = null, + nextFlushedExpirationTime = 0, + lowestPendingInteractiveExpirationTime = 0, + deadlineDidExpire = !1, + hasUnhandledError = !1, + unhandledError = null, + deadline = null, + isBatchingUpdates = !1, + isUnbatchingUpdates = !1, + isBatchingInteractiveUpdates = !1, + completedBatches = null, + NESTED_UPDATE_LIMIT = 1e3, + nestedUpdateCount = 0, + timeHeuristicForUnitOfWork = 1; + + function scheduleCallbackWithExpirationTime(expirationTime) { + if (0 !== callbackExpirationTime) { + if (expirationTime > callbackExpirationTime) return; + + if (null !== callbackID) { + var callbackID$jscomp$0 = callbackID; + scheduledCallback = null; + clearTimeout(callbackID$jscomp$0); + } + } + + callbackExpirationTime = expirationTime; + now$1(); + scheduledCallback = performAsyncWork; + callbackID = setTimeout(setTimeoutCallback, 1); + } + + function onSuspend(root, suspendedExpirationTime, expirationTime, timeoutMs) { + 0 <= timeoutMs && setTimeout(function () { + var latestSuspendedTime = root.latestSuspendedTime; + 0 !== latestSuspendedTime && latestSuspendedTime <= suspendedExpirationTime && (latestSuspendedTime = root.latestPingedTime, 0 === latestSuspendedTime || latestSuspendedTime < suspendedExpirationTime) && (root.latestPingedTime = suspendedExpirationTime); + findNextPendingPriorityLevel(root); + latestSuspendedTime = root.expirationTime; + 0 !== latestSuspendedTime && requestWork(root, latestSuspendedTime); + }, timeoutMs); + root.expirationTime = expirationTime; + } + + function requestWork(root, expirationTime) { + if (null === root.nextScheduledRoot) root.expirationTime = expirationTime, null === lastScheduledRoot ? (firstScheduledRoot = lastScheduledRoot = root, root.nextScheduledRoot = root) : (lastScheduledRoot = lastScheduledRoot.nextScheduledRoot = root, lastScheduledRoot.nextScheduledRoot = firstScheduledRoot);else { + var remainingExpirationTime = root.expirationTime; + if (0 === remainingExpirationTime || expirationTime < remainingExpirationTime) root.expirationTime = expirationTime; + } + isRendering || (isBatchingUpdates ? isUnbatchingUpdates && (nextFlushedRoot = root, nextFlushedExpirationTime = 1, performWorkOnRoot(root, 1, !1)) : 1 === expirationTime ? performWork(1, null) : scheduleCallbackWithExpirationTime(expirationTime)); + } + + function findHighestPriorityRoot() { + var highestPriorityWork = 0, + highestPriorityRoot = null; + if (null !== lastScheduledRoot) for (var previousScheduledRoot = lastScheduledRoot, root = firstScheduledRoot; null !== root;) { + var remainingExpirationTime = root.expirationTime; + + if (0 === remainingExpirationTime) { + invariant(null !== previousScheduledRoot && null !== lastScheduledRoot, "Should have a previous and last root. This error is likely caused by a bug in React. Please file an issue."); + + if (root === root.nextScheduledRoot) { + firstScheduledRoot = lastScheduledRoot = root.nextScheduledRoot = null; + break; + } else if (root === firstScheduledRoot) firstScheduledRoot = remainingExpirationTime = root.nextScheduledRoot, lastScheduledRoot.nextScheduledRoot = remainingExpirationTime, root.nextScheduledRoot = null;else if (root === lastScheduledRoot) { + lastScheduledRoot = previousScheduledRoot; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + root.nextScheduledRoot = null; + break; + } else previousScheduledRoot.nextScheduledRoot = root.nextScheduledRoot, root.nextScheduledRoot = null; + + root = previousScheduledRoot.nextScheduledRoot; + } else { + if (0 === highestPriorityWork || remainingExpirationTime < highestPriorityWork) highestPriorityWork = remainingExpirationTime, highestPriorityRoot = root; + if (root === lastScheduledRoot) break; + previousScheduledRoot = root; + root = root.nextScheduledRoot; + } + } + previousScheduledRoot = nextFlushedRoot; + null !== previousScheduledRoot && previousScheduledRoot === highestPriorityRoot && 1 === highestPriorityWork ? nestedUpdateCount++ : nestedUpdateCount = 0; + nextFlushedRoot = highestPriorityRoot; + nextFlushedExpirationTime = highestPriorityWork; + } + + function performAsyncWork(dl) { + performWork(0, dl); + } + + function performWork(minExpirationTime, dl) { + deadline = dl; + findHighestPriorityRoot(); + if (null !== deadline) for (; null !== nextFlushedRoot && 0 !== nextFlushedExpirationTime && (0 === minExpirationTime || minExpirationTime >= nextFlushedExpirationTime) && (!deadlineDidExpire || recalculateCurrentTime() >= nextFlushedExpirationTime);) { + recalculateCurrentTime(), performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, !0), findHighestPriorityRoot(); + } else for (; null !== nextFlushedRoot && 0 !== nextFlushedExpirationTime && (0 === minExpirationTime || minExpirationTime >= nextFlushedExpirationTime);) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, !1), findHighestPriorityRoot(); + } + null !== deadline && (callbackExpirationTime = 0, callbackID = null); + 0 !== nextFlushedExpirationTime && scheduleCallbackWithExpirationTime(nextFlushedExpirationTime); + deadline = null; + deadlineDidExpire = !1; + finishRendering(); + } + + function finishRendering() { + nestedUpdateCount = 0; + + if (null !== completedBatches) { + var batches = completedBatches; + completedBatches = null; + + for (var i = 0; i < batches.length; i++) { + var batch = batches[i]; + + try { + batch._onComplete(); + } catch (error) { + hasUnhandledError || (hasUnhandledError = !0, unhandledError = error); + } + } + } + + if (hasUnhandledError) throw batches = unhandledError, unhandledError = null, hasUnhandledError = !1, batches; + } + + function performWorkOnRoot(root, expirationTime, isYieldy) { + invariant(!isRendering, "performWorkOnRoot was called recursively. This error is likely caused by a bug in React. Please file an issue."); + isRendering = !0; + isYieldy ? (isYieldy = root.finishedWork, null !== isYieldy ? completeRoot(root, isYieldy, expirationTime) : (root.finishedWork = null, renderRoot(root, !0), isYieldy = root.finishedWork, null !== isYieldy && (shouldYield() ? root.finishedWork = isYieldy : completeRoot(root, isYieldy, expirationTime)))) : (isYieldy = root.finishedWork, null !== isYieldy ? completeRoot(root, isYieldy, expirationTime) : (root.finishedWork = null, renderRoot(root, !1), isYieldy = root.finishedWork, null !== isYieldy && completeRoot(root, isYieldy, expirationTime))); + isRendering = !1; + } + + function completeRoot(root, finishedWork$jscomp$0, expirationTime) { + var firstBatch = root.firstBatch; + + if (null !== firstBatch && firstBatch._expirationTime <= expirationTime && (null === completedBatches ? completedBatches = [firstBatch] : completedBatches.push(firstBatch), firstBatch._defer)) { + root.finishedWork = finishedWork$jscomp$0; + root.expirationTime = 0; + return; + } + + root.finishedWork = null; + isCommitting$1 = isWorking = !0; + invariant(root.current !== finishedWork$jscomp$0, "Cannot commit the same tree as before. This is probably a bug related to the return field. This error is likely caused by a bug in React. Please file an issue."); + expirationTime = root.pendingCommitExpirationTime; + invariant(0 !== expirationTime, "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue."); + root.pendingCommitExpirationTime = 0; + firstBatch = finishedWork$jscomp$0.expirationTime; + recalculateCurrentTime(); + root.didError = !1; + if (0 === firstBatch) root.earliestPendingTime = 0, root.latestPendingTime = 0, root.earliestSuspendedTime = 0, root.latestSuspendedTime = 0, root.latestPingedTime = 0;else { + var latestPendingTime = root.latestPendingTime; + 0 !== latestPendingTime && (latestPendingTime < firstBatch ? root.earliestPendingTime = root.latestPendingTime = 0 : root.earliestPendingTime < firstBatch && (root.earliestPendingTime = root.latestPendingTime)); + latestPendingTime = root.earliestSuspendedTime; + 0 === latestPendingTime ? markPendingPriorityLevel(root, firstBatch) : firstBatch > root.latestSuspendedTime ? (root.earliestSuspendedTime = 0, root.latestSuspendedTime = 0, root.latestPingedTime = 0, markPendingPriorityLevel(root, firstBatch)) : firstBatch < latestPendingTime && markPendingPriorityLevel(root, firstBatch); + } + findNextPendingPriorityLevel(root); + ReactCurrentOwner.current = null; + 1 < finishedWork$jscomp$0.effectTag ? null !== finishedWork$jscomp$0.lastEffect ? (finishedWork$jscomp$0.lastEffect.nextEffect = finishedWork$jscomp$0, firstBatch = finishedWork$jscomp$0.firstEffect) : firstBatch = finishedWork$jscomp$0 : firstBatch = finishedWork$jscomp$0.firstEffect; + + for (nextEffect = firstBatch; null !== nextEffect;) { + latestPendingTime = !1; + var error = void 0; + + try { + for (; null !== nextEffect;) { + if (nextEffect.effectTag & 256) { + var current = nextEffect.alternate, + finishedWork = nextEffect; + + switch (finishedWork.tag) { + case 2: + if (finishedWork.effectTag & 256 && null !== current) { + var prevProps = current.memoizedProps, + prevState = current.memoizedState, + instance = finishedWork.stateNode; + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + var snapshot = instance.getSnapshotBeforeUpdate(prevProps, prevState); + instance.__reactInternalSnapshotBeforeUpdate = snapshot; + } + + break; + + case 3: + case 5: + case 6: + case 4: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + nextEffect = nextEffect.nextEffect; + } + } catch (e) { + latestPendingTime = !0, error = e; + } + + latestPendingTime && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, error), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + for (nextEffect = firstBatch; null !== nextEffect;) { + current = !1; + prevProps = void 0; + + try { + for (; null !== nextEffect;) { + var effectTag = nextEffect.effectTag; + + if (effectTag & 128) { + var current$jscomp$0 = nextEffect.alternate; + + if (null !== current$jscomp$0) { + var currentRef = current$jscomp$0.ref; + null !== currentRef && ("function" === typeof currentRef ? currentRef(null) : currentRef.current = null); + } + } + + switch (effectTag & 14) { + case 2: + commitPlacement(nextEffect); + nextEffect.effectTag &= -3; + break; + + case 6: + commitPlacement(nextEffect); + nextEffect.effectTag &= -3; + commitWork(nextEffect.alternate, nextEffect); + break; + + case 4: + commitWork(nextEffect.alternate, nextEffect); + break; + + case 8: + prevState = nextEffect, unmountHostComponents(prevState), prevState.return = null, prevState.child = null, prevState.alternate && (prevState.alternate.child = null, prevState.alternate.return = null); + } + + nextEffect = nextEffect.nextEffect; + } + } catch (e) { + current = !0, prevProps = e; + } + + current && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, prevProps), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + root.current = finishedWork$jscomp$0; + + for (nextEffect = firstBatch; null !== nextEffect;) { + effectTag = !1; + current$jscomp$0 = void 0; + + try { + for (currentRef = expirationTime; null !== nextEffect;) { + var effectTag$jscomp$0 = nextEffect.effectTag; + + if (effectTag$jscomp$0 & 36) { + var current$jscomp$1 = nextEffect.alternate; + current = nextEffect; + prevProps = currentRef; + + switch (current.tag) { + case 2: + var instance$jscomp$0 = current.stateNode; + if (current.effectTag & 4) if (null === current$jscomp$1) instance$jscomp$0.props = current.memoizedProps, instance$jscomp$0.state = current.memoizedState, instance$jscomp$0.componentDidMount();else { + var prevProps$jscomp$0 = current$jscomp$1.memoizedProps, + prevState$jscomp$0 = current$jscomp$1.memoizedState; + instance$jscomp$0.props = current.memoizedProps; + instance$jscomp$0.state = current.memoizedState; + instance$jscomp$0.componentDidUpdate(prevProps$jscomp$0, prevState$jscomp$0, instance$jscomp$0.__reactInternalSnapshotBeforeUpdate); + } + var updateQueue = current.updateQueue; + null !== updateQueue && (instance$jscomp$0.props = current.memoizedProps, instance$jscomp$0.state = current.memoizedState, commitUpdateQueue(current, updateQueue, instance$jscomp$0, prevProps)); + break; + + case 3: + var _updateQueue = current.updateQueue; + + if (null !== _updateQueue) { + prevState = null; + if (null !== current.child) switch (current.child.tag) { + case 5: + prevState = current.child.stateNode; + break; + + case 2: + prevState = current.child.stateNode; + } + commitUpdateQueue(current, _updateQueue, prevState, prevProps); + } + + break; + + case 5: + break; + + case 6: + break; + + case 4: + break; + + case 15: + break; + + case 16: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + if (effectTag$jscomp$0 & 128) { + current = void 0; + var ref = nextEffect.ref; + + if (null !== ref) { + var instance$jscomp$1 = nextEffect.stateNode; + + switch (nextEffect.tag) { + case 5: + current = instance$jscomp$1; + break; + + default: + current = instance$jscomp$1; + } + + "function" === typeof ref ? ref(current) : ref.current = current; + } + } + + var next = nextEffect.nextEffect; + nextEffect.nextEffect = null; + nextEffect = next; + } + } catch (e) { + effectTag = !0, current$jscomp$0 = e; + } + + effectTag && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, current$jscomp$0), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + isWorking = isCommitting$1 = !1; + "function" === typeof onCommitRoot && onCommitRoot(finishedWork$jscomp$0.stateNode); + finishedWork$jscomp$0 = root.expirationTime; + 0 === finishedWork$jscomp$0 && (legacyErrorBoundariesThatAlreadyFailed = null); + root.expirationTime = finishedWork$jscomp$0; + root.finishedWork = null; + } + + function shouldYield() { + return null === deadline || deadlineDidExpire || deadline.timeRemaining() > timeHeuristicForUnitOfWork ? !1 : deadlineDidExpire = !0; + } + + function onUncaughtError(error) { + invariant(null !== nextFlushedRoot, "Should be working on a root. This error is likely caused by a bug in React. Please file an issue."); + nextFlushedRoot.expirationTime = 0; + hasUnhandledError || (hasUnhandledError = !0, unhandledError = error); + } + + function updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback) { + var current = container.current; + + if (parentComponent) { + parentComponent = parentComponent._reactInternalFiber; + var parentContext; + + b: { + invariant(2 === isFiberMountedImpl(parentComponent) && 2 === parentComponent.tag, "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue."); + + for (parentContext = parentComponent; 3 !== parentContext.tag;) { + if (isContextProvider(parentContext)) { + parentContext = parentContext.stateNode.__reactInternalMemoizedMergedChildContext; + break b; + } + + parentContext = parentContext.return; + invariant(parentContext, "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue."); + } + + parentContext = parentContext.stateNode.context; + } + + parentComponent = isContextProvider(parentComponent) ? processChildContext(parentComponent, parentContext) : parentContext; + } else parentComponent = emptyObject; + + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + container = callback; + callback = createUpdate(expirationTime); + callback.payload = { + element: element + }; + container = void 0 === container ? null : container; + null !== container && (callback.callback = container); + enqueueUpdate(current, callback, expirationTime); + scheduleWork(current, expirationTime); + return expirationTime; + } + + function findHostInstance$1(component) { + var fiber = component._reactInternalFiber; + void 0 === fiber && ("function" === typeof component.render ? invariant(!1, "Unable to find node on an unmounted component.") : invariant(!1, "Argument appears to not be a ReactComponent. Keys: %s", Object.keys(component))); + component = findCurrentHostFiber(fiber); + return null === component ? null : component.stateNode; + } + + function updateContainer(element, container, parentComponent, callback) { + var current = container.current, + currentTime = recalculateCurrentTime(); + current = computeExpirationForFiber(currentTime, current); + return updateContainerAtExpirationTime(element, container, parentComponent, current, callback); + } + + function getPublicRootInstance(container) { + container = container.current; + if (!container.child) return null; + + switch (container.child.tag) { + case 5: + return container.child.stateNode; + + default: + return container.child.stateNode; + } + } + + function injectIntoDevTools(devToolsConfig) { + var _findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; + return injectInternals(_extends({}, devToolsConfig, { + findHostInstanceByFiber: function findHostInstanceByFiber(fiber) { + fiber = findCurrentHostFiber(fiber); + return null === fiber ? null : fiber.stateNode; + }, + findFiberByHostInstance: function findFiberByHostInstance(instance) { + return _findFiberByHostInstance ? _findFiberByHostInstance(instance) : null; + } + })); + } + + var ReactNativeFiberRenderer = { + updateContainerAtExpirationTime: updateContainerAtExpirationTime, + createContainer: function createContainer(containerInfo, isAsync, hydrate) { + return createFiberRoot(containerInfo, isAsync, hydrate); + }, + updateContainer: updateContainer, + flushRoot: function flushRoot(root, expirationTime) { + invariant(!isRendering, "work.commit(): Cannot commit while already rendering. This likely means you attempted to commit from inside a lifecycle method."); + nextFlushedRoot = root; + nextFlushedExpirationTime = expirationTime; + performWorkOnRoot(root, expirationTime, !1); + performWork(1, null); + finishRendering(); + }, + requestWork: requestWork, + computeUniqueAsyncExpiration: function computeUniqueAsyncExpiration() { + var result = 2 + 25 * (((recalculateCurrentTime() - 2 + 500) / 25 | 0) + 1); + result <= lastUniqueAsyncExpiration && (result = lastUniqueAsyncExpiration + 1); + return lastUniqueAsyncExpiration = result; + }, + batchedUpdates: function batchedUpdates(fn, a) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + return fn(a); + } finally { + (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + unbatchedUpdates: function unbatchedUpdates(fn, a) { + if (isBatchingUpdates && !isUnbatchingUpdates) { + isUnbatchingUpdates = !0; + + try { + return fn(a); + } finally { + isUnbatchingUpdates = !1; + } + } + + return fn(a); + }, + deferredUpdates: function deferredUpdates(fn) { + var previousExpirationContext = expirationContext; + expirationContext = 2 + 25 * (((recalculateCurrentTime() - 2 + 500) / 25 | 0) + 1); + + try { + return fn(); + } finally { + expirationContext = previousExpirationContext; + } + }, + syncUpdates: syncUpdates, + interactiveUpdates: function interactiveUpdates(fn, a, b) { + if (isBatchingInteractiveUpdates) return fn(a, b); + isBatchingUpdates || isRendering || 0 === lowestPendingInteractiveExpirationTime || (performWork(lowestPendingInteractiveExpirationTime, null), lowestPendingInteractiveExpirationTime = 0); + var previousIsBatchingInteractiveUpdates = isBatchingInteractiveUpdates, + previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = isBatchingInteractiveUpdates = !0; + + try { + return fn(a, b); + } finally { + isBatchingInteractiveUpdates = previousIsBatchingInteractiveUpdates, (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + flushInteractiveUpdates: function flushInteractiveUpdates() { + isRendering || 0 === lowestPendingInteractiveExpirationTime || (performWork(lowestPendingInteractiveExpirationTime, null), lowestPendingInteractiveExpirationTime = 0); + }, + flushControlled: function flushControlled(fn) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + syncUpdates(fn); + } finally { + (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + flushSync: function flushSync(fn, a) { + invariant(!isRendering, "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering."); + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + return syncUpdates(fn, a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates, performWork(1, null); + } + }, + getPublicRootInstance: getPublicRootInstance, + findHostInstance: findHostInstance$1, + findHostInstanceWithNoPortals: function findHostInstanceWithNoPortals(fiber) { + fiber = findCurrentHostFiberWithNoPortals(fiber); + return null === fiber ? null : fiber.stateNode; + }, + injectIntoDevTools: injectIntoDevTools + }; + + function _createPortal(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children: children, + containerInfo: containerInfo, + implementation: implementation + }; + } + + function _inherits(subClass, superClass) { + if ("function" !== typeof superClass && null !== superClass) 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: !1, + writable: !0, + configurable: !0 + } + }); + superClass && (Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass); + } + + var getInspectorDataForViewTag = void 0; + + getInspectorDataForViewTag = function getInspectorDataForViewTag() { + invariant(!1, "getInspectorDataForViewTag() is not available in production"); + }; + + function findNodeHandle(componentOrHandle) { + if (null == componentOrHandle) return null; + if ("number" === typeof componentOrHandle) return componentOrHandle; + if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag; + if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical._nativeTag; + componentOrHandle = findHostInstance$1(componentOrHandle); + return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical._nativeTag : componentOrHandle._nativeTag; + } + + _batchedUpdates = ReactNativeFiberRenderer.batchedUpdates; + _flushInteractiveUpdates = ReactNativeFiberRenderer.flushInteractiveUpdates; + var roots = new Map(), + ReactNativeRenderer = { + NativeComponent: function (findNodeHandle, findHostInstance) { + return function (_React$Component) { + function ReactNativeComponent() { + if (!(this instanceof ReactNativeComponent)) throw new TypeError("Cannot call a class as a function"); + + var call = _React$Component.apply(this, arguments); + + if (!this) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !call || "object" !== typeof call && "function" !== typeof call ? this : call; + } + + _inherits(ReactNativeComponent, _React$Component); + + ReactNativeComponent.prototype.blur = function () { + TextInputState.blurTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.focus = function () { + TextInputState.focusTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.measure = function (callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureInWindow = function (callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureLayout = function (relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeComponent.prototype.setNativeProps = function (nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (null != maybeInstance) { + var viewConfig = maybeInstance.viewConfig || maybeInstance.canonical.viewConfig; + nativeProps = diffProperties(null, emptyObject$1, nativeProps, viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, nativeProps); + } + }; + + return ReactNativeComponent; + }(React.Component); + }(findNodeHandle, findHostInstance$1), + findNodeHandle: findNodeHandle, + render: function render(element, containerTag, callback) { + var root = roots.get(containerTag); + root || (root = createFiberRoot(containerTag, !1, !1), roots.set(containerTag, root)); + updateContainer(element, root, null, callback); + return getPublicRootInstance(root); + }, + unmountComponentAtNode: function unmountComponentAtNode(containerTag) { + var root = roots.get(containerTag); + root && updateContainer(null, root, null, function () { + roots.delete(containerTag); + }); + }, + unmountComponentAtNodeAndRemoveContainer: function unmountComponentAtNodeAndRemoveContainer(containerTag) { + ReactNativeRenderer.unmountComponentAtNode(containerTag); + UIManager.removeRootView(containerTag); + }, + createPortal: function createPortal(children, containerTag) { + return _createPortal(children, containerTag, null, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null); + }, + unstable_batchedUpdates: batchedUpdates, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + NativeMethodsMixin: function (findNodeHandle, findHostInstance) { + return { + measure: function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureInWindow: function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureLayout: function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }, + setNativeProps: function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (null != maybeInstance) { + var viewConfig = maybeInstance.viewConfig; + nativeProps = diffProperties(null, emptyObject$1, nativeProps, viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, nativeProps); + } + }, + focus: function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }, + blur: function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + } + }; + }(findNodeHandle, findHostInstance$1), + computeComponentStackForErrorReporting: function computeComponentStackForErrorReporting(reactTag) { + return (reactTag = getInstanceFromTag(reactTag)) ? getStackAddendumByWorkInProgressFiber(reactTag) : ""; + } + } + }; + injectIntoDevTools({ + findFiberByHostInstance: getInstanceFromTag, + getInspectorDataForViewTag: getInspectorDataForViewTag, + bundleType: 0, + version: "16.4.1", + rendererPackageName: "react-native-renderer" + }); + var ReactNativeRenderer$2 = { + default: ReactNativeRenderer + }, + ReactNativeRenderer$3 = ReactNativeRenderer$2 && ReactNativeRenderer || ReactNativeRenderer$2; + module.exports = ReactNativeRenderer$3.default ? ReactNativeRenderer$3.default : ReactNativeRenderer$3; +},326,[263,166,231,218,322,1,323,324,226,325,271],"node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-prod.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var TVNavigationEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeModules').TVNavigationEventEmitter; + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'NativeEventEmitter'); + + function TVEventHandler() { + this.__nativeTVNavigationEventListener = null; + this.__nativeTVNavigationEventEmitter = null; + } + + TVEventHandler.prototype.enable = function (component, callback) { + if (Platform.OS === 'ios' && !TVNavigationEventEmitter) { + return; + } + + this.__nativeTVNavigationEventEmitter = new NativeEventEmitter(TVNavigationEventEmitter); + this.__nativeTVNavigationEventListener = this.__nativeTVNavigationEventEmitter.addListener('onHWKeyEvent', function (data) { + if (callback) { + callback(component, data); + } + }); + }; + + TVEventHandler.prototype.disable = function () { + if (this.__nativeTVNavigationEventListener) { + this.__nativeTVNavigationEventListener.remove(); + + delete this.__nativeTVNavigationEventListener; + } + + if (this.__nativeTVNavigationEventEmitter) { + delete this.__nativeTVNavigationEventEmitter; + } + }; + + module.exports = TVEventHandler; +},327,[176,168,286],"node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var TouchEventUtils = { + extractSingleTouch: function extractSingleTouch(nativeEvent) { + var touches = nativeEvent.touches; + var changedTouches = nativeEvent.changedTouches; + var hasTouches = touches && touches.length > 0; + var hasChangedTouches = changedTouches && changedTouches.length > 0; + return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent; + } + }; + module.exports = TouchEventUtils; +},328,[],"node_modules/react-native/node_modules/fbjs/lib/TouchEventUtils.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var nullthrows = function nullthrows(x) { + if (x != null) { + return x; + } + + throw new Error("Got unexpected null or undefined"); + }; + + module.exports = nullthrows; +},329,[],"node_modules/react-native/node_modules/fbjs/lib/nullthrows.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + DummyTouchableNativeFeedback: { + displayName: "DummyTouchableNativeFeedback" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[4], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var DummyTouchableNativeFeedback = function (_React$Component) { + function DummyTouchableNativeFeedback() { + _classCallCheck(this, DummyTouchableNativeFeedback); + + return _possibleConstructorReturn(this, _getPrototypeOf(DummyTouchableNativeFeedback).apply(this, arguments)); + } + + _createClass(DummyTouchableNativeFeedback, [{ + key: "render", + value: function render() { + return React.createElement(View, { + style: [styles.container, this.props.style], + __source: { + fileName: _jsxFileName, + lineNumber: 25 + } + }, React.createElement(Text, { + style: styles.info, + __source: { + fileName: _jsxFileName, + lineNumber: 26 + } + }, "TouchableNativeFeedback is not supported on this platform!")); + } + }]); + + _inherits(DummyTouchableNativeFeedback, _React$Component); + + return DummyTouchableNativeFeedback; + }(React.Component); + + DummyTouchableNativeFeedback.SelectableBackground = function () { + return {}; + }; + + DummyTouchableNativeFeedback.SelectableBackgroundBorderless = function () { + return {}; + }; + + DummyTouchableNativeFeedback.Ripple = function () { + return {}; + }; + + DummyTouchableNativeFeedback.canUseNativeForeground = function () { + return false; + }; + + DummyTouchableNativeFeedback = _wrapComponent("DummyTouchableNativeFeedback")(DummyTouchableNativeFeedback); + var styles = StyleSheet.create({ + container: { + height: 100, + width: 300, + backgroundColor: '#ffbcbc', + borderWidth: 1, + borderColor: 'red', + alignItems: 'center', + justifyContent: 'center', + margin: 10 + }, + info: { + color: '#333333', + margin: 20 + } + }); + module.exports = DummyTouchableNativeFeedback; +},330,[1,11,200,201,252,227],"node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var Animated = _$$_REQUIRE(_dependencyMap[0], 'Animated'); + + var Easing = _$$_REQUIRE(_dependencyMap[1], 'Easing'); + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[2], 'NativeMethodsMixin'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var TimerMixin = _$$_REQUIRE(_dependencyMap[5], 'react-timer-mixin'); + + var Touchable = _$$_REQUIRE(_dependencyMap[6], 'Touchable'); + + var TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[7], 'TouchableWithoutFeedback'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[8], 'create-react-class'); + + var ensurePositiveDelayProps = _$$_REQUIRE(_dependencyMap[9], 'ensurePositiveDelayProps'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[10], 'flattenStyle'); + + var PRESS_RETENTION_OFFSET = { + top: 20, + left: 20, + right: 20, + bottom: 30 + }; + var TouchableOpacity = createReactClass({ + displayName: 'TouchableOpacity', + mixins: [TimerMixin, Touchable.Mixin, NativeMethodsMixin], + propTypes: _objectSpread({}, TouchableWithoutFeedback.propTypes, { + activeOpacity: PropTypes.number, + hasTVPreferredFocus: PropTypes.bool, + tvParallaxProperties: PropTypes.object + }), + getDefaultProps: function getDefaultProps() { + return { + activeOpacity: 0.2 + }; + }, + getInitialState: function getInitialState() { + return _objectSpread({}, this.touchableGetInitialState(), { + anim: new Animated.Value(this._getChildStyleOpacityWithDefault()) + }); + }, + componentDidMount: function componentDidMount() { + ensurePositiveDelayProps(this.props); + }, + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + ensurePositiveDelayProps(nextProps); + }, + componentDidUpdate: function componentDidUpdate(prevProps, prevState) { + if (this.props.disabled !== prevProps.disabled) { + this._opacityInactive(250); + } + }, + setOpacityTo: function setOpacityTo(value, duration) { + Animated.timing(this.state.anim, { + toValue: value, + duration: duration, + easing: Easing.inOut(Easing.quad), + useNativeDriver: true + }).start(); + }, + touchableHandleActivePressIn: function touchableHandleActivePressIn(e) { + if (e.dispatchConfig.registrationName === 'onResponderGrant') { + this._opacityActive(0); + } else { + this._opacityActive(150); + } + + this.props.onPressIn && this.props.onPressIn(e); + }, + touchableHandleActivePressOut: function touchableHandleActivePressOut(e) { + this._opacityInactive(250); + + this.props.onPressOut && this.props.onPressOut(e); + }, + touchableHandlePress: function touchableHandlePress(e) { + this.props.onPress && this.props.onPress(e); + }, + touchableHandleLongPress: function touchableHandleLongPress(e) { + this.props.onLongPress && this.props.onLongPress(e); + }, + touchableGetPressRectOffset: function touchableGetPressRectOffset() { + return this.props.pressRetentionOffset || PRESS_RETENTION_OFFSET; + }, + touchableGetHitSlop: function touchableGetHitSlop() { + return this.props.hitSlop; + }, + touchableGetHighlightDelayMS: function touchableGetHighlightDelayMS() { + return this.props.delayPressIn || 0; + }, + touchableGetLongPressDelayMS: function touchableGetLongPressDelayMS() { + return this.props.delayLongPress === 0 ? 0 : this.props.delayLongPress || 500; + }, + touchableGetPressOutDelayMS: function touchableGetPressOutDelayMS() { + return this.props.delayPressOut; + }, + _opacityActive: function _opacityActive(duration) { + this.setOpacityTo(this.props.activeOpacity, duration); + }, + _opacityInactive: function _opacityInactive(duration) { + this.setOpacityTo(this._getChildStyleOpacityWithDefault(), duration); + }, + _getChildStyleOpacityWithDefault: function _getChildStyleOpacityWithDefault() { + var childStyle = flattenStyle(this.props.style) || {}; + return childStyle.opacity == undefined ? 1 : childStyle.opacity; + }, + render: function render() { + return React.createElement(Animated.View, { + accessible: this.props.accessible !== false, + accessibilityLabel: this.props.accessibilityLabel, + accessibilityComponentType: this.props.accessibilityComponentType, + accessibilityTraits: this.props.accessibilityTraits, + style: [this.props.style, { + opacity: this.state.anim + }], + nativeID: this.props.nativeID, + testID: this.props.testID, + onLayout: this.props.onLayout, + isTVSelectable: true, + hasTVPreferredFocus: this.props.hasTVPreferredFocus, + tvParallaxProperties: this.props.tvParallaxProperties, + hitSlop: this.props.hitSlop, + onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder, + onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest, + onResponderGrant: this.touchableHandleResponderGrant, + onResponderMove: this.touchableHandleResponderMove, + onResponderRelease: this.touchableHandleResponderRelease, + onResponderTerminate: this.touchableHandleResponderTerminate, + __source: { + fileName: _jsxFileName, + lineNumber: 256 + } + }, this.props.children, Touchable.renderDebugView({ + color: 'cyan', + hitSlop: this.props.hitSlop + })); + } + }); + module.exports = TouchableOpacity; +},331,[332,358,364,200,212,382,257,383,365,384,226],"node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var AnimatedImplementation = _$$_REQUIRE(_dependencyMap[0], 'AnimatedImplementation'); + + var Image = _$$_REQUIRE(_dependencyMap[1], 'Image'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[2], 'ScrollView'); + + var Text = _$$_REQUIRE(_dependencyMap[3], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[4], 'View'); + + var Animated = { + View: AnimatedImplementation.createAnimatedComponent(View), + Text: AnimatedImplementation.createAnimatedComponent(Text), + Image: AnimatedImplementation.createAnimatedComponent(Image), + ScrollView: AnimatedImplementation.createAnimatedComponent(ScrollView) + }; + + _extends(Animated, AnimatedImplementation); + + module.exports = Animated; +},332,[333,361,367,252,227],"node_modules/react-native/Libraries/Animated/src/Animated.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _require = _$$_REQUIRE(_dependencyMap[0], './AnimatedEvent'), + AnimatedEvent = _require.AnimatedEvent, + attachNativeEvent = _require.attachNativeEvent; + + var AnimatedAddition = _$$_REQUIRE(_dependencyMap[1], './nodes/AnimatedAddition'); + + var AnimatedDiffClamp = _$$_REQUIRE(_dependencyMap[2], './nodes/AnimatedDiffClamp'); + + var AnimatedDivision = _$$_REQUIRE(_dependencyMap[3], './nodes/AnimatedDivision'); + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[4], './nodes/AnimatedInterpolation'); + + var AnimatedModulo = _$$_REQUIRE(_dependencyMap[5], './nodes/AnimatedModulo'); + + var AnimatedMultiplication = _$$_REQUIRE(_dependencyMap[6], './nodes/AnimatedMultiplication'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[7], './nodes/AnimatedNode'); + + var AnimatedProps = _$$_REQUIRE(_dependencyMap[8], './nodes/AnimatedProps'); + + var AnimatedSubtraction = _$$_REQUIRE(_dependencyMap[9], './nodes/AnimatedSubtraction'); + + var AnimatedTracking = _$$_REQUIRE(_dependencyMap[10], './nodes/AnimatedTracking'); + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[11], './nodes/AnimatedValue'); + + var AnimatedValueXY = _$$_REQUIRE(_dependencyMap[12], './nodes/AnimatedValueXY'); + + var DecayAnimation = _$$_REQUIRE(_dependencyMap[13], './animations/DecayAnimation'); + + var SpringAnimation = _$$_REQUIRE(_dependencyMap[14], './animations/SpringAnimation'); + + var TimingAnimation = _$$_REQUIRE(_dependencyMap[15], './animations/TimingAnimation'); + + var createAnimatedComponent = _$$_REQUIRE(_dependencyMap[16], './createAnimatedComponent'); + + var add = function add(a, b) { + return new AnimatedAddition(a, b); + }; + + var subtract = function subtract(a, b) { + return new AnimatedSubtraction(a, b); + }; + + var divide = function divide(a, b) { + return new AnimatedDivision(a, b); + }; + + var multiply = function multiply(a, b) { + return new AnimatedMultiplication(a, b); + }; + + var modulo = function modulo(a, modulus) { + return new AnimatedModulo(a, modulus); + }; + + var diffClamp = function diffClamp(a, min, max) { + return new AnimatedDiffClamp(a, min, max); + }; + + var _combineCallbacks = function _combineCallbacks(callback, config) { + if (callback && config.onComplete) { + return function () { + config.onComplete && config.onComplete.apply(config, arguments); + callback && callback.apply(void 0, arguments); + }; + } else { + return callback || config.onComplete; + } + }; + + var maybeVectorAnim = function maybeVectorAnim(value, config, anim) { + if (value instanceof AnimatedValueXY) { + var configX = _objectSpread({}, config); + + var configY = _objectSpread({}, config); + + for (var key in config) { + var _config$key = config[key], + x = _config$key.x, + y = _config$key.y; + + if (x !== undefined && y !== undefined) { + configX[key] = x; + configY[key] = y; + } + } + + var aX = anim(value.x, configX); + var aY = anim(value.y, configY); + return parallel([aX, aY], { + stopTogether: false + }); + } + + return null; + }; + + var spring = function spring(value, config) { + var start = function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + + if (configuration.toValue instanceof AnimatedNode) { + singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback)); + } else { + singleValue.animate(new SpringAnimation(singleConfig), callback); + } + }; + + return maybeVectorAnim(value, config, spring) || { + start: function (_start) { + function start(_x) { + return _start.apply(this, arguments); + } + + start.toString = function () { + return _start.toString(); + }; + + return start; + }(function (callback) { + start(value, config, callback); + }), + stop: function stop() { + value.stopAnimation(); + }, + reset: function reset() { + value.resetAnimation(); + }, + _startNativeLoop: function _startNativeLoop(iterations) { + var singleConfig = _objectSpread({}, config, { + iterations: iterations + }); + + start(value, singleConfig); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return config.useNativeDriver || false; + } + }; + }; + + var timing = function timing(value, config) { + var start = function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + + if (configuration.toValue instanceof AnimatedNode) { + singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback)); + } else { + singleValue.animate(new TimingAnimation(singleConfig), callback); + } + }; + + return maybeVectorAnim(value, config, timing) || { + start: function (_start2) { + function start(_x2) { + return _start2.apply(this, arguments); + } + + start.toString = function () { + return _start2.toString(); + }; + + return start; + }(function (callback) { + start(value, config, callback); + }), + stop: function stop() { + value.stopAnimation(); + }, + reset: function reset() { + value.resetAnimation(); + }, + _startNativeLoop: function _startNativeLoop(iterations) { + var singleConfig = _objectSpread({}, config, { + iterations: iterations + }); + + start(value, singleConfig); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return config.useNativeDriver || false; + } + }; + }; + + var decay = function decay(value, config) { + var start = function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + singleValue.animate(new DecayAnimation(singleConfig), callback); + }; + + return maybeVectorAnim(value, config, decay) || { + start: function (_start3) { + function start(_x3) { + return _start3.apply(this, arguments); + } + + start.toString = function () { + return _start3.toString(); + }; + + return start; + }(function (callback) { + start(value, config, callback); + }), + stop: function stop() { + value.stopAnimation(); + }, + reset: function reset() { + value.resetAnimation(); + }, + _startNativeLoop: function _startNativeLoop(iterations) { + var singleConfig = _objectSpread({}, config, { + iterations: iterations + }); + + start(value, singleConfig); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return config.useNativeDriver || false; + } + }; + }; + + var sequence = function sequence(animations) { + var current = 0; + return { + start: function start(callback) { + var onComplete = function onComplete(result) { + if (!result.finished) { + callback && callback(result); + return; + } + + current++; + + if (current === animations.length) { + callback && callback(result); + return; + } + + animations[current].start(onComplete); + }; + + if (animations.length === 0) { + callback && callback({ + finished: true + }); + } else { + animations[current].start(onComplete); + } + }, + stop: function stop() { + if (current < animations.length) { + animations[current].stop(); + } + }, + reset: function reset() { + animations.forEach(function (animation, idx) { + if (idx <= current) { + animation.reset(); + } + }); + current = 0; + }, + _startNativeLoop: function _startNativeLoop() { + throw new Error('Loops run using the native driver cannot contain Animated.sequence animations'); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return false; + } + }; + }; + + var parallel = function parallel(animations, config) { + var doneCount = 0; + var hasEnded = {}; + var stopTogether = !(config && config.stopTogether === false); + var result = { + start: function start(callback) { + if (doneCount === animations.length) { + callback && callback({ + finished: true + }); + return; + } + + animations.forEach(function (animation, idx) { + var cb = function cb(endResult) { + hasEnded[idx] = true; + doneCount++; + + if (doneCount === animations.length) { + doneCount = 0; + callback && callback(endResult); + return; + } + + if (!endResult.finished && stopTogether) { + result.stop(); + } + }; + + if (!animation) { + cb({ + finished: true + }); + } else { + animation.start(cb); + } + }); + }, + stop: function stop() { + animations.forEach(function (animation, idx) { + !hasEnded[idx] && animation.stop(); + hasEnded[idx] = true; + }); + }, + reset: function reset() { + animations.forEach(function (animation, idx) { + animation.reset(); + hasEnded[idx] = false; + doneCount = 0; + }); + }, + _startNativeLoop: function _startNativeLoop() { + throw new Error('Loops run using the native driver cannot contain Animated.parallel animations'); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return false; + } + }; + return result; + }; + + var delay = function delay(time) { + return timing(new AnimatedValue(0), { + toValue: 0, + delay: time, + duration: 0 + }); + }; + + var stagger = function stagger(time, animations) { + return parallel(animations.map(function (animation, i) { + return sequence([delay(time * i), animation]); + })); + }; + + var loop = function loop(animation) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$iterations = _ref.iterations, + iterations = _ref$iterations === void 0 ? -1 : _ref$iterations; + + var isFinished = false; + var iterationsSoFar = 0; + return { + start: function start(callback) { + var restart = function restart() { + var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { + finished: true + }; + + if (isFinished || iterationsSoFar === iterations || result.finished === false) { + callback && callback(result); + } else { + iterationsSoFar++; + animation.reset(); + animation.start(restart); + } + }; + + if (!animation || iterations === 0) { + callback && callback({ + finished: true + }); + } else { + if (animation._isUsingNativeDriver()) { + animation._startNativeLoop(iterations); + } else { + restart(); + } + } + }, + stop: function stop() { + isFinished = true; + animation.stop(); + }, + reset: function reset() { + iterationsSoFar = 0; + isFinished = false; + animation.reset(); + }, + _startNativeLoop: function _startNativeLoop() { + throw new Error('Loops run using the native driver cannot contain Animated.loop animations'); + }, + _isUsingNativeDriver: function _isUsingNativeDriver() { + return animation._isUsingNativeDriver(); + } + }; + }; + + function forkEvent(event, listener) { + if (!event) { + return listener; + } else if (event instanceof AnimatedEvent) { + event.__addListener(listener); + + return event; + } else { + return function () { + typeof event === 'function' && event.apply(void 0, arguments); + listener.apply(void 0, arguments); + }; + } + } + + function unforkEvent(event, listener) { + if (event && event instanceof AnimatedEvent) { + event.__removeListener(listener); + } + } + + var event = function event(argMapping, config) { + var animatedEvent = new AnimatedEvent(argMapping, config); + + if (animatedEvent.__isNative) { + return animatedEvent; + } else { + return animatedEvent.__getHandler(); + } + }; + + module.exports = { + Value: AnimatedValue, + ValueXY: AnimatedValueXY, + Interpolation: AnimatedInterpolation, + Node: AnimatedNode, + decay: decay, + timing: timing, + spring: spring, + add: add, + subtract: subtract, + divide: divide, + multiply: multiply, + modulo: modulo, + diffClamp: diffClamp, + delay: delay, + sequence: sequence, + parallel: parallel, + stagger: stagger, + loop: loop, + event: event, + createAnimatedComponent: createAnimatedComponent, + attachNativeEvent: attachNativeEvent, + forkEvent: forkEvent, + unforkEvent: unforkEvent, + __PropsOnlyForTests: AnimatedProps + }; +},333,[334,342,343,344,336,345,346,337,347,350,351,335,352,353,355,357,360],"node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[0], './nodes/AnimatedValue'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[1], './NativeAnimatedHelper'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[2], 'ReactNative'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var _require = _$$_REQUIRE(_dependencyMap[1], './NativeAnimatedHelper'), + shouldUseNativeDriver = _require.shouldUseNativeDriver; + + function attachNativeEvent(viewRef, eventName, argMapping) { + var eventMappings = []; + + var traverse = function traverse(value, path) { + if (value instanceof AnimatedValue) { + value.__makeNative(); + + eventMappings.push({ + nativeEventPath: path, + animatedValueTag: value.__getNativeTag() + }); + } else if (typeof value === 'object') { + for (var _key in value) { + traverse(value[_key], path.concat(_key)); + } + } + }; + + invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.'); + traverse(argMapping[0].nativeEvent, []); + var viewTag = ReactNative.findNodeHandle(viewRef); + eventMappings.forEach(function (mapping) { + NativeAnimatedHelper.API.addAnimatedEventToView(viewTag, eventName, mapping); + }); + return { + detach: function detach() { + eventMappings.forEach(function (mapping) { + NativeAnimatedHelper.API.removeAnimatedEventFromView(viewTag, eventName, mapping.animatedValueTag); + }); + } + }; + } + + var AnimatedEvent = function () { + function AnimatedEvent(argMapping) { + var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, AnimatedEvent); + + this._listeners = []; + this._argMapping = argMapping; + + if (config.listener) { + this.__addListener(config.listener); + } + + this._callListeners = this._callListeners.bind(this); + this._attachedEvent = null; + this.__isNative = shouldUseNativeDriver(config); + + if (__DEV__) { + this._validateMapping(); + } + } + + _createClass(AnimatedEvent, [{ + key: "__addListener", + value: function __addListener(callback) { + this._listeners.push(callback); + } + }, { + key: "__removeListener", + value: function __removeListener(callback) { + this._listeners = this._listeners.filter(function (listener) { + return listener !== callback; + }); + } + }, { + key: "__attach", + value: function __attach(viewRef, eventName) { + invariant(this.__isNative, 'Only native driven events need to be attached.'); + this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping); + } + }, { + key: "__detach", + value: function __detach(viewTag, eventName) { + invariant(this.__isNative, 'Only native driven events need to be detached.'); + this._attachedEvent && this._attachedEvent.detach(); + } + }, { + key: "__getHandler", + value: function __getHandler() { + var _this = this; + + if (this.__isNative) { + return this._callListeners; + } + + return function () { + for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) { + args[_key2] = arguments[_key2]; + } + + var traverse = function traverse(recMapping, recEvt, key) { + if (typeof recEvt === 'number' && recMapping instanceof AnimatedValue) { + recMapping.setValue(recEvt); + } else if (typeof recMapping === 'object') { + for (var mappingKey in recMapping) { + traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey); + } + } + }; + + if (!_this.__isNative) { + _this._argMapping.forEach(function (mapping, idx) { + traverse(mapping, args[idx], 'arg' + idx); + }); + } + + _this._callListeners.apply(_this, args); + }; + } + }, { + key: "_callListeners", + value: function _callListeners() { + for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { + args[_key3] = arguments[_key3]; + } + + this._listeners.forEach(function (listener) { + return listener.apply(void 0, args); + }); + } + }, { + key: "_validateMapping", + value: function _validateMapping() { + var traverse = function traverse(recMapping, recEvt, key) { + if (typeof recEvt === 'number') { + invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue'); + return; + } + + invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key); + invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key); + + for (var mappingKey in recMapping) { + traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey); + } + }; + } + }]); + + return AnimatedEvent; + }(); + + module.exports = { + AnimatedEvent: AnimatedEvent, + attachNativeEvent: attachNativeEvent + }; +},334,[335,338,261,166],"node_modules/react-native/Libraries/Animated/src/AnimatedEvent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[2], './AnimatedWithChildren'); + + var InteractionManager = _$$_REQUIRE(_dependencyMap[3], 'InteractionManager'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[4], '../NativeAnimatedHelper'); + + var NativeAnimatedAPI = NativeAnimatedHelper.API; + var _uniqueId = 1; + + function _flush(rootNode) { + var animatedStyles = new Set(); + + function findAnimatedStyles(node) { + if (typeof node.update === 'function') { + animatedStyles.add(node); + } else { + node.__getChildren().forEach(findAnimatedStyles); + } + } + + findAnimatedStyles(rootNode); + animatedStyles.forEach(function (animatedStyle) { + return animatedStyle.update(); + }); + } + + var AnimatedValue = function (_AnimatedWithChildren) { + function AnimatedValue(value) { + var _this; + + _classCallCheck(this, AnimatedValue); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedValue).call(this)); + _this._startingValue = _this._value = value; + _this._offset = 0; + _this._animation = null; + _this._listeners = {}; + return _this; + } + + _createClass(AnimatedValue, [{ + key: "__detach", + value: function __detach() { + this.stopAnimation(); + + _get(_getPrototypeOf(AnimatedValue.prototype), "__detach", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._value + this._offset; + } + }, { + key: "__makeNative", + value: function __makeNative() { + _get(_getPrototypeOf(AnimatedValue.prototype), "__makeNative", this).call(this); + + if (Object.keys(this._listeners).length) { + this._startListeningToNativeValueUpdates(); + } + } + }, { + key: "setValue", + value: function setValue(value) { + if (this._animation) { + this._animation.stop(); + + this._animation = null; + } + + this._updateValue(value, !this.__isNative); + + if (this.__isNative) { + NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value); + } + } + }, { + key: "setOffset", + value: function setOffset(offset) { + this._offset = offset; + + if (this.__isNative) { + NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset); + } + } + }, { + key: "flattenOffset", + value: function flattenOffset() { + this._value += this._offset; + this._offset = 0; + + if (this.__isNative) { + NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag()); + } + } + }, { + key: "extractOffset", + value: function extractOffset() { + this._offset += this._value; + this._value = 0; + + if (this.__isNative) { + NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag()); + } + } + }, { + key: "addListener", + value: function addListener(callback) { + var id = String(_uniqueId++); + this._listeners[id] = callback; + + if (this.__isNative) { + this._startListeningToNativeValueUpdates(); + } + + return id; + } + }, { + key: "removeListener", + value: function removeListener(id) { + delete this._listeners[id]; + + if (this.__isNative && Object.keys(this._listeners).length === 0) { + this._stopListeningForNativeValueUpdates(); + } + } + }, { + key: "removeAllListeners", + value: function removeAllListeners() { + this._listeners = {}; + + if (this.__isNative) { + this._stopListeningForNativeValueUpdates(); + } + } + }, { + key: "_startListeningToNativeValueUpdates", + value: function _startListeningToNativeValueUpdates() { + var _this2 = this; + + if (this.__nativeAnimatedValueListener) { + return; + } + + NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag()); + this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', function (data) { + if (data.tag !== _this2.__getNativeTag()) { + return; + } + + _this2._updateValue(data.value, false); + }); + } + }, { + key: "_stopListeningForNativeValueUpdates", + value: function _stopListeningForNativeValueUpdates() { + if (!this.__nativeAnimatedValueListener) { + return; + } + + this.__nativeAnimatedValueListener.remove(); + + this.__nativeAnimatedValueListener = null; + NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag()); + } + }, { + key: "stopAnimation", + value: function stopAnimation(callback) { + this.stopTracking(); + this._animation && this._animation.stop(); + this._animation = null; + callback && callback(this.__getValue()); + } + }, { + key: "resetAnimation", + value: function resetAnimation(callback) { + this.stopAnimation(callback); + this._value = this._startingValue; + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "animate", + value: function animate(animation, callback) { + var _this3 = this; + + var handle = null; + + if (animation.__isInteraction) { + handle = InteractionManager.createInteractionHandle(); + } + + var previousAnimation = this._animation; + this._animation && this._animation.stop(); + this._animation = animation; + animation.start(this._value, function (value) { + _this3._updateValue(value, true); + }, function (result) { + _this3._animation = null; + + if (handle !== null) { + InteractionManager.clearInteractionHandle(handle); + } + + callback && callback(result); + }, previousAnimation, this); + } + }, { + key: "stopTracking", + value: function stopTracking() { + this._tracking && this._tracking.__detach(); + this._tracking = null; + } + }, { + key: "track", + value: function track(tracking) { + this.stopTracking(); + this._tracking = tracking; + } + }, { + key: "_updateValue", + value: function _updateValue(value, flush) { + this._value = value; + + if (flush) { + _flush(this); + } + + for (var _key in this._listeners) { + this._listeners[_key]({ + value: this.__getValue() + }); + } + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'value', + value: this._value, + offset: this._offset + }; + } + }]); + + _inherits(AnimatedValue, _AnimatedWithChildren); + + return AnimatedValue; + }(AnimatedWithChildren); + + module.exports = AnimatedValue; +},335,[336,337,339,340,338],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedValue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[0], './AnimatedNode'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[1], './AnimatedWithChildren'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[2], '../NativeAnimatedHelper'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var normalizeColor = _$$_REQUIRE(_dependencyMap[4], 'normalizeColor'); + + var linear = function linear(t) { + return t; + }; + + function createInterpolation(config) { + if (config.outputRange && typeof config.outputRange[0] === 'string') { + return createInterpolationFromStringOutputRange(config); + } + + var outputRange = config.outputRange; + checkInfiniteRange('outputRange', outputRange); + var inputRange = config.inputRange; + checkInfiniteRange('inputRange', inputRange); + checkValidInputRange(inputRange); + invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length'); + var easing = config.easing || linear; + var extrapolateLeft = 'extend'; + + if (config.extrapolateLeft !== undefined) { + extrapolateLeft = config.extrapolateLeft; + } else if (config.extrapolate !== undefined) { + extrapolateLeft = config.extrapolate; + } + + var extrapolateRight = 'extend'; + + if (config.extrapolateRight !== undefined) { + extrapolateRight = config.extrapolateRight; + } else if (config.extrapolate !== undefined) { + extrapolateRight = config.extrapolate; + } + + return function (input) { + invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number'); + var range = findRange(input, inputRange); + return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight); + }; + } + + function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) { + var result = input; + + if (result < inputMin) { + if (extrapolateLeft === 'identity') { + return result; + } else if (extrapolateLeft === 'clamp') { + result = inputMin; + } else if (extrapolateLeft === 'extend') {} + } + + if (result > inputMax) { + if (extrapolateRight === 'identity') { + return result; + } else if (extrapolateRight === 'clamp') { + result = inputMax; + } else if (extrapolateRight === 'extend') {} + } + + if (outputMin === outputMax) { + return outputMin; + } + + if (inputMin === inputMax) { + if (input <= inputMin) { + return outputMin; + } + + return outputMax; + } + + if (inputMin === -Infinity) { + result = -result; + } else if (inputMax === Infinity) { + result = result - inputMin; + } else { + result = (result - inputMin) / (inputMax - inputMin); + } + + result = easing(result); + + if (outputMin === -Infinity) { + result = -result; + } else if (outputMax === Infinity) { + result = result + outputMin; + } else { + result = result * (outputMax - outputMin) + outputMin; + } + + return result; + } + + function colorToRgba(input) { + var int32Color = normalizeColor(input); + + if (int32Color === null) { + return input; + } + + int32Color = int32Color || 0; + var r = (int32Color & 0xff000000) >>> 24; + var g = (int32Color & 0x00ff0000) >>> 16; + var b = (int32Color & 0x0000ff00) >>> 8; + var a = (int32Color & 0x000000ff) / 255; + return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")"; + } + + var stringShapeRegex = /[0-9\.-]+/g; + + function createInterpolationFromStringOutputRange(config) { + var outputRange = config.outputRange; + invariant(outputRange.length >= 2, 'Bad output range'); + outputRange = outputRange.map(colorToRgba); + checkPattern(outputRange); + var outputRanges = outputRange[0].match(stringShapeRegex).map(function () { + return []; + }); + outputRange.forEach(function (value) { + value.match(stringShapeRegex).forEach(function (number, i) { + outputRanges[i].push(+number); + }); + }); + var interpolations = outputRange[0].match(stringShapeRegex).map(function (value, i) { + return createInterpolation(_objectSpread({}, config, { + outputRange: outputRanges[i] + })); + }); + var shouldRound = isRgbOrRgba(outputRange[0]); + return function (input) { + var i = 0; + return outputRange[0].replace(stringShapeRegex, function () { + var val = +interpolations[i++](input); + var rounded = shouldRound && i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000; + return String(rounded); + }); + }; + } + + function isRgbOrRgba(range) { + return typeof range === 'string' && range.startsWith('rgb'); + } + + function checkPattern(arr) { + var pattern = arr[0].replace(stringShapeRegex, ''); + + for (var i = 1; i < arr.length; ++i) { + invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]); + } + } + + function findRange(input, inputRange) { + var i; + + for (i = 1; i < inputRange.length - 1; ++i) { + if (inputRange[i] >= input) { + break; + } + } + + return i - 1; + } + + function checkValidInputRange(arr) { + invariant(arr.length >= 2, 'inputRange must have at least 2 elements'); + + for (var i = 1; i < arr.length; ++i) { + invariant(arr[i] >= arr[i - 1], 'inputRange must be monotonically non-decreasing ' + arr); + } + } + + function checkInfiniteRange(name, arr) { + invariant(arr.length >= 2, name + ' must have at least 2 elements'); + invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity, name + 'cannot be ]-infinity;+infinity[ ' + arr); + } + + var AnimatedInterpolation = function (_AnimatedWithChildren) { + function AnimatedInterpolation(parent, config) { + var _this; + + _classCallCheck(this, AnimatedInterpolation); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedInterpolation).call(this)); + _this._parent = parent; + _this._config = config; + _this._interpolation = createInterpolation(config); + return _this; + } + + _createClass(AnimatedInterpolation, [{ + key: "__makeNative", + value: function __makeNative() { + this._parent.__makeNative(); + + _get(_getPrototypeOf(AnimatedInterpolation.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + var parentValue = this._parent.__getValue(); + + invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.'); + return this._interpolation(parentValue); + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._parent.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._parent.__removeChild(this); + + _get(_getPrototypeOf(AnimatedInterpolation.prototype), "__detach", this).call(this); + } + }, { + key: "__transformDataType", + value: function __transformDataType(range) { + return range.map(function (value) { + if (typeof value !== 'string') { + return value; + } + + if (/deg$/.test(value)) { + var degrees = parseFloat(value) || 0; + var radians = degrees * Math.PI / 180.0; + return radians; + } else { + return parseFloat(value) || 0; + } + }); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + if (__DEV__) { + NativeAnimatedHelper.validateInterpolation(this._config); + } + + return { + inputRange: this._config.inputRange, + outputRange: this.__transformDataType(this._config.outputRange), + extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend', + extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend', + type: 'interpolation' + }; + } + }]); + + _inherits(AnimatedInterpolation, _AnimatedWithChildren); + + return AnimatedInterpolation; + }(AnimatedWithChildren); + + AnimatedInterpolation.__createInterpolation = createInterpolation; + module.exports = AnimatedInterpolation; +},336,[337,339,338,166,208],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedInterpolation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[0], '../NativeAnimatedHelper'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var AnimatedNode = function () { + function AnimatedNode() { + _classCallCheck(this, AnimatedNode); + } + + _createClass(AnimatedNode, [{ + key: "__attach", + value: function __attach() {} + }, { + key: "__detach", + value: function __detach() { + if (this.__isNative && this.__nativeTag != null) { + NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag); + this.__nativeTag = undefined; + } + } + }, { + key: "__getValue", + value: function __getValue() {} + }, { + key: "__getAnimatedValue", + value: function __getAnimatedValue() { + return this.__getValue(); + } + }, { + key: "__addChild", + value: function __addChild(child) {} + }, { + key: "__removeChild", + value: function __removeChild(child) {} + }, { + key: "__getChildren", + value: function __getChildren() { + return []; + } + }, { + key: "__makeNative", + value: function __makeNative() { + if (!this.__isNative) { + throw new Error('This node cannot be made a "native" animated node'); + } + } + }, { + key: "__getNativeTag", + value: function __getNativeTag() { + NativeAnimatedHelper.assertNativeAnimatedModule(); + invariant(this.__isNative, 'Attempt to get native tag from node not marked as "native"'); + + if (this.__nativeTag == null) { + var nativeTag = NativeAnimatedHelper.generateNewNodeTag(); + NativeAnimatedHelper.API.createAnimatedNode(nativeTag, this.__getNativeConfig()); + this.__nativeTag = nativeTag; + } + + return this.__nativeTag; + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + throw new Error('This JS animated node type cannot be used as native animated node'); + } + }, { + key: "toJSON", + value: function toJSON() { + return this.__getValue(); + } + }]); + + return AnimatedNode; + }(); + + module.exports = AnimatedNode; +},337,[338,166],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedNode.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeAnimatedModule = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').NativeAnimatedModule; + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeEventEmitter'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var __nativeAnimatedNodeTagCount = 1; + var __nativeAnimationIdCount = 1; + var nativeEventEmitter; + var API = { + createAnimatedNode: function createAnimatedNode(tag, config) { + assertNativeAnimatedModule(); + NativeAnimatedModule.createAnimatedNode(tag, config); + }, + startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.startListeningToAnimatedNodeValue(tag); + }, + stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag); + }, + connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag); + }, + disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag); + }, + startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) { + assertNativeAnimatedModule(); + NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback); + }, + stopAnimation: function stopAnimation(animationId) { + assertNativeAnimatedModule(); + NativeAnimatedModule.stopAnimation(animationId); + }, + setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) { + assertNativeAnimatedModule(); + NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value); + }, + setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) { + assertNativeAnimatedModule(); + NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset); + }, + flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag); + }, + extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag); + }, + connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag); + }, + disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag); + }, + dropAnimatedNode: function dropAnimatedNode(tag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.dropAnimatedNode(tag); + }, + addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) { + assertNativeAnimatedModule(); + NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping); + }, + removeAnimatedEventFromView: function removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) { + assertNativeAnimatedModule(); + NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag); + } + }; + var STYLES_WHITELIST = { + opacity: true, + transform: true, + borderRadius: true, + borderBottomEndRadius: true, + borderBottomLeftRadius: true, + borderBottomRightRadius: true, + borderBottomStartRadius: true, + borderTopEndRadius: true, + borderTopLeftRadius: true, + borderTopRightRadius: true, + borderTopStartRadius: true, + shadowOpacity: true, + shadowRadius: true, + scaleX: true, + scaleY: true, + translateX: true, + translateY: true + }; + var TRANSFORM_WHITELIST = { + translateX: true, + translateY: true, + scale: true, + scaleX: true, + scaleY: true, + rotate: true, + rotateX: true, + rotateY: true, + perspective: true + }; + var SUPPORTED_INTERPOLATION_PARAMS = { + inputRange: true, + outputRange: true, + extrapolate: true, + extrapolateRight: true, + extrapolateLeft: true + }; + + function addWhitelistedStyleProp(prop) { + STYLES_WHITELIST[prop] = true; + } + + function addWhitelistedTransformProp(prop) { + TRANSFORM_WHITELIST[prop] = true; + } + + function addWhitelistedInterpolationParam(param) { + SUPPORTED_INTERPOLATION_PARAMS[param] = true; + } + + function validateTransform(configs) { + configs.forEach(function (config) { + if (!TRANSFORM_WHITELIST.hasOwnProperty(config.property)) { + throw new Error("Property '" + config.property + "' is not supported by native animated module"); + } + }); + } + + function validateStyles(styles) { + for (var key in styles) { + if (!STYLES_WHITELIST.hasOwnProperty(key)) { + throw new Error("Style property '" + key + "' is not supported by native animated module"); + } + } + } + + function validateInterpolation(config) { + for (var key in config) { + if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(key)) { + throw new Error("Interpolation property '" + key + "' is not supported by native animated module"); + } + } + } + + function generateNewNodeTag() { + return __nativeAnimatedNodeTagCount++; + } + + function generateNewAnimationId() { + return __nativeAnimationIdCount++; + } + + function assertNativeAnimatedModule() { + invariant(NativeAnimatedModule, 'Native animated module is not available'); + } + + var _warnedMissingNativeAnimated = false; + + function shouldUseNativeDriver(config) { + if (config.useNativeDriver && !NativeAnimatedModule) { + if (!_warnedMissingNativeAnimated) { + console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'More info: https://github.com/facebook/react-native/issues/11094#issuecomment-263240420'); + _warnedMissingNativeAnimated = true; + } + + return false; + } + + return config.useNativeDriver || false; + } + + module.exports = { + API: API, + addWhitelistedStyleProp: addWhitelistedStyleProp, + addWhitelistedTransformProp: addWhitelistedTransformProp, + addWhitelistedInterpolationParam: addWhitelistedInterpolationParam, + validateStyles: validateStyles, + validateTransform: validateTransform, + validateInterpolation: validateInterpolation, + generateNewNodeTag: generateNewNodeTag, + generateNewAnimationId: generateNewAnimationId, + assertNativeAnimatedModule: assertNativeAnimatedModule, + shouldUseNativeDriver: shouldUseNativeDriver, + + get nativeEventEmitter() { + if (!nativeEventEmitter) { + nativeEventEmitter = new NativeEventEmitter(NativeAnimatedModule); + } + + return nativeEventEmitter; + } + + }; +},338,[168,286,166],"node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[0], './AnimatedNode'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[1], '../NativeAnimatedHelper'); + + var AnimatedWithChildren = function (_AnimatedNode) { + function AnimatedWithChildren() { + var _this; + + _classCallCheck(this, AnimatedWithChildren); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedWithChildren).call(this)); + _this._children = []; + return _this; + } + + _createClass(AnimatedWithChildren, [{ + key: "__makeNative", + value: function __makeNative() { + if (!this.__isNative) { + this.__isNative = true; + + for (var _iterator = this._children, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _child = _ref; + + _child.__makeNative(); + + NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), _child.__getNativeTag()); + } + } + } + }, { + key: "__addChild", + value: function __addChild(child) { + if (this._children.length === 0) { + this.__attach(); + } + + this._children.push(child); + + if (this.__isNative) { + child.__makeNative(); + + NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag()); + } + } + }, { + key: "__removeChild", + value: function __removeChild(child) { + var index = this._children.indexOf(child); + + if (index === -1) { + console.warn("Trying to remove a child that doesn't exist"); + return; + } + + if (this.__isNative && child.__isNative) { + NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag()); + } + + this._children.splice(index, 1); + + if (this._children.length === 0) { + this.__detach(); + } + } + }, { + key: "__getChildren", + value: function __getChildren() { + return this._children; + } + }]); + + _inherits(AnimatedWithChildren, _AnimatedNode); + + return AnimatedWithChildren; + }(AnimatedNode); + + module.exports = AnimatedWithChildren; +},339,[337,338],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedWithChildren.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[0], 'BatchedBridge'); + + var EventEmitter = _$$_REQUIRE(_dependencyMap[1], 'EventEmitter'); + + var Set = _$$_REQUIRE(_dependencyMap[2], 'Set'); + + var TaskQueue = _$$_REQUIRE(_dependencyMap[3], 'TaskQueue'); + + var infoLog = _$$_REQUIRE(_dependencyMap[4], 'infoLog'); + + var invariant = _$$_REQUIRE(_dependencyMap[5], 'fbjs/lib/invariant'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/keyMirror'); + + var _emitter = new EventEmitter(); + + var DEBUG_DELAY = 0; + var DEBUG = false; + var InteractionManager = { + Events: keyMirror({ + interactionStart: true, + interactionComplete: true + }), + runAfterInteractions: function runAfterInteractions(task) { + var tasks = []; + var promise = new Promise(function (resolve) { + _scheduleUpdate(); + + if (task) { + tasks.push(task); + } + + tasks.push({ + run: resolve, + name: 'resolve ' + (task && task.name || '?') + }); + + _taskQueue.enqueueTasks(tasks); + }); + return { + then: promise.then.bind(promise), + done: function done() { + if (promise.done) { + return promise.done.apply(promise, arguments); + } else { + console.warn('Tried to call done when not supported by current Promise implementation.'); + } + }, + cancel: function cancel() { + _taskQueue.cancelTasks(tasks); + } + }; + }, + createInteractionHandle: function createInteractionHandle() { + DEBUG && infoLog('create interaction handle'); + + _scheduleUpdate(); + + var handle = ++_inc; + + _addInteractionSet.add(handle); + + return handle; + }, + clearInteractionHandle: function clearInteractionHandle(handle) { + DEBUG && infoLog('clear interaction handle'); + invariant(!!handle, 'Must provide a handle to clear.'); + + _scheduleUpdate(); + + _addInteractionSet.delete(handle); + + _deleteInteractionSet.add(handle); + }, + addListener: _emitter.addListener.bind(_emitter), + setDeadline: function setDeadline(deadline) { + _deadline = deadline; + } + }; + + var _interactionSet = new Set(); + + var _addInteractionSet = new Set(); + + var _deleteInteractionSet = new Set(); + + var _taskQueue = new TaskQueue({ + onMoreTasks: _scheduleUpdate + }); + + var _nextUpdateHandle = 0; + var _inc = 0; + + var _deadline = -1; + + function _scheduleUpdate() { + if (!_nextUpdateHandle) { + if (_deadline > 0) { + _nextUpdateHandle = setTimeout(_processUpdate, 0 + DEBUG_DELAY); + } else { + _nextUpdateHandle = setImmediate(_processUpdate); + } + } + } + + function _processUpdate() { + _nextUpdateHandle = 0; + var interactionCount = _interactionSet.size; + + _addInteractionSet.forEach(function (handle) { + return _interactionSet.add(handle); + }); + + _deleteInteractionSet.forEach(function (handle) { + return _interactionSet.delete(handle); + }); + + var nextInteractionCount = _interactionSet.size; + + if (interactionCount !== 0 && nextInteractionCount === 0) { + _emitter.emit(InteractionManager.Events.interactionComplete); + } else if (interactionCount === 0 && nextInteractionCount !== 0) { + _emitter.emit(InteractionManager.Events.interactionStart); + } + + if (nextInteractionCount === 0) { + while (_taskQueue.hasTasksToProcess()) { + _taskQueue.processNext(); + + if (_deadline > 0 && BatchedBridge.getEventLoopRunningTime() >= _deadline) { + _scheduleUpdate(); + + break; + } + } + } + + _addInteractionSet.clear(); + + _deleteInteractionSet.clear(); + } + + module.exports = InteractionManager; +},340,[169,195,270,341,309,166,210],"node_modules/react-native/Libraries/Interaction/InteractionManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var infoLog = _$$_REQUIRE(_dependencyMap[0], 'infoLog'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var DEBUG = false; + + var TaskQueue = function () { + function TaskQueue(_ref) { + var onMoreTasks = _ref.onMoreTasks; + + _classCallCheck(this, TaskQueue); + + this._onMoreTasks = onMoreTasks; + this._queueStack = [{ + tasks: [], + popable: false + }]; + } + + _createClass(TaskQueue, [{ + key: "enqueue", + value: function enqueue(task) { + this._getCurrentQueue().push(task); + } + }, { + key: "enqueueTasks", + value: function enqueueTasks(tasks) { + var _this = this; + + tasks.forEach(function (task) { + return _this.enqueue(task); + }); + } + }, { + key: "cancelTasks", + value: function cancelTasks(tasksToCancel) { + this._queueStack = this._queueStack.map(function (queue) { + return _objectSpread({}, queue, { + tasks: queue.tasks.filter(function (task) { + return tasksToCancel.indexOf(task) === -1; + }) + }); + }).filter(function (queue, idx) { + return queue.tasks.length > 0 || idx === 0; + }); + } + }, { + key: "hasTasksToProcess", + value: function hasTasksToProcess() { + return this._getCurrentQueue().length > 0; + } + }, { + key: "processNext", + value: function processNext() { + var queue = this._getCurrentQueue(); + + if (queue.length) { + var task = queue.shift(); + + try { + if (task.gen) { + DEBUG && infoLog('genPromise for task ' + task.name); + + this._genPromise(task); + } else if (task.run) { + DEBUG && infoLog('run task ' + task.name); + task.run(); + } else { + invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\n' + JSON.stringify(task, null, 2)); + DEBUG && infoLog('run anonymous task'); + task(); + } + } catch (e) { + e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message; + throw e; + } + } + } + }, { + key: "_getCurrentQueue", + value: function _getCurrentQueue() { + var stackIdx = this._queueStack.length - 1; + var queue = this._queueStack[stackIdx]; + + if (queue.popable && queue.tasks.length === 0 && this._queueStack.length > 1) { + this._queueStack.pop(); + + DEBUG && infoLog('popped queue: ', { + stackIdx: stackIdx, + queueStackSize: this._queueStack.length + }); + return this._getCurrentQueue(); + } else { + return queue.tasks; + } + } + }, { + key: "_genPromise", + value: function _genPromise(task) { + var _this2 = this; + + this._queueStack.push({ + tasks: [], + popable: false + }); + + var stackIdx = this._queueStack.length - 1; + DEBUG && infoLog('push new queue: ', { + stackIdx: stackIdx + }); + DEBUG && infoLog('exec gen task ' + task.name); + task.gen().then(function () { + DEBUG && infoLog('onThen for gen task ' + task.name, { + stackIdx: stackIdx, + queueStackSize: _this2._queueStack.length + }); + _this2._queueStack[stackIdx].popable = true; + _this2.hasTasksToProcess() && _this2._onMoreTasks(); + }).catch(function (ex) { + ex.message = "TaskQueue: Error resolving Promise in task " + task.name + ": " + ex.message; + throw ex; + }).done(); + } + }]); + + return TaskQueue; + }(); + + module.exports = TaskQueue; +},341,[309,166],"node_modules/react-native/Libraries/Interaction/TaskQueue.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[2], './AnimatedValue'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[3], './AnimatedWithChildren'); + + var AnimatedAddition = function (_AnimatedWithChildren) { + function AnimatedAddition(a, b) { + var _this; + + _classCallCheck(this, AnimatedAddition); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedAddition).call(this)); + _this._a = typeof a === 'number' ? new AnimatedValue(a) : a; + _this._b = typeof b === 'number' ? new AnimatedValue(b) : b; + return _this; + } + + _createClass(AnimatedAddition, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + this._b.__makeNative(); + + _get(_getPrototypeOf(AnimatedAddition.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._a.__getValue() + this._b.__getValue(); + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + + this._b.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + this._b.__removeChild(this); + + _get(_getPrototypeOf(AnimatedAddition.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'addition', + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }]); + + _inherits(AnimatedAddition, _AnimatedWithChildren); + + return AnimatedAddition; + }(AnimatedWithChildren); + + module.exports = AnimatedAddition; +},342,[336,337,335,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedAddition.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[2], './AnimatedWithChildren'); + + var AnimatedDiffClamp = function (_AnimatedWithChildren) { + function AnimatedDiffClamp(a, min, max) { + var _this; + + _classCallCheck(this, AnimatedDiffClamp); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedDiffClamp).call(this)); + _this._a = a; + _this._min = min; + _this._max = max; + _this._value = _this._lastValue = _this._a.__getValue(); + return _this; + } + + _createClass(AnimatedDiffClamp, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + _get(_getPrototypeOf(AnimatedDiffClamp.prototype), "__makeNative", this).call(this); + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__getValue", + value: function __getValue() { + var value = this._a.__getValue(); + + var diff = value - this._lastValue; + this._lastValue = value; + this._value = Math.min(Math.max(this._value + diff, this._min), this._max); + return this._value; + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + _get(_getPrototypeOf(AnimatedDiffClamp.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'diffclamp', + input: this._a.__getNativeTag(), + min: this._min, + max: this._max + }; + } + }]); + + _inherits(AnimatedDiffClamp, _AnimatedWithChildren); + + return AnimatedDiffClamp; + }(AnimatedWithChildren); + + module.exports = AnimatedDiffClamp; +},343,[336,337,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedDiffClamp.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[2], './AnimatedValue'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[3], './AnimatedWithChildren'); + + var AnimatedDivision = function (_AnimatedWithChildren) { + function AnimatedDivision(a, b) { + var _this; + + _classCallCheck(this, AnimatedDivision); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedDivision).call(this)); + _this._a = typeof a === 'number' ? new AnimatedValue(a) : a; + _this._b = typeof b === 'number' ? new AnimatedValue(b) : b; + return _this; + } + + _createClass(AnimatedDivision, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + this._b.__makeNative(); + + _get(_getPrototypeOf(AnimatedDivision.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + var a = this._a.__getValue(); + + var b = this._b.__getValue(); + + if (b === 0) { + console.error('Detected division by zero in AnimatedDivision'); + } + + return a / b; + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + + this._b.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + this._b.__removeChild(this); + + _get(_getPrototypeOf(AnimatedDivision.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'division', + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }]); + + _inherits(AnimatedDivision, _AnimatedWithChildren); + + return AnimatedDivision; + }(AnimatedWithChildren); + + module.exports = AnimatedDivision; +},344,[336,337,335,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedDivision.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[2], './AnimatedWithChildren'); + + var AnimatedModulo = function (_AnimatedWithChildren) { + function AnimatedModulo(a, modulus) { + var _this; + + _classCallCheck(this, AnimatedModulo); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedModulo).call(this)); + _this._a = a; + _this._modulus = modulus; + return _this; + } + + _createClass(AnimatedModulo, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + _get(_getPrototypeOf(AnimatedModulo.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus; + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + _get(_getPrototypeOf(AnimatedModulo.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'modulus', + input: this._a.__getNativeTag(), + modulus: this._modulus + }; + } + }]); + + _inherits(AnimatedModulo, _AnimatedWithChildren); + + return AnimatedModulo; + }(AnimatedWithChildren); + + module.exports = AnimatedModulo; +},345,[336,337,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedModulo.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[2], './AnimatedValue'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[3], './AnimatedWithChildren'); + + var AnimatedMultiplication = function (_AnimatedWithChildren) { + function AnimatedMultiplication(a, b) { + var _this; + + _classCallCheck(this, AnimatedMultiplication); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedMultiplication).call(this)); + _this._a = typeof a === 'number' ? new AnimatedValue(a) : a; + _this._b = typeof b === 'number' ? new AnimatedValue(b) : b; + return _this; + } + + _createClass(AnimatedMultiplication, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + this._b.__makeNative(); + + _get(_getPrototypeOf(AnimatedMultiplication.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._a.__getValue() * this._b.__getValue(); + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + + this._b.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + this._b.__removeChild(this); + + _get(_getPrototypeOf(AnimatedMultiplication.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'multiplication', + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }]); + + _inherits(AnimatedMultiplication, _AnimatedWithChildren); + + return AnimatedMultiplication; + }(AnimatedWithChildren); + + module.exports = AnimatedMultiplication; +},346,[336,337,335,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedMultiplication.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _require = _$$_REQUIRE(_dependencyMap[0], '../AnimatedEvent'), + AnimatedEvent = _require.AnimatedEvent; + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedStyle = _$$_REQUIRE(_dependencyMap[2], './AnimatedStyle'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[3], '../NativeAnimatedHelper'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[4], 'ReactNative'); + + var invariant = _$$_REQUIRE(_dependencyMap[5], 'fbjs/lib/invariant'); + + var AnimatedProps = function (_AnimatedNode) { + function AnimatedProps(props, callback) { + var _this; + + _classCallCheck(this, AnimatedProps); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedProps).call(this)); + + if (props.style) { + props = _objectSpread({}, props, { + style: new AnimatedStyle(props.style) + }); + } + + _this._props = props; + _this._callback = callback; + + _this.__attach(); + + return _this; + } + + _createClass(AnimatedProps, [{ + key: "__getValue", + value: function __getValue() { + var props = {}; + + for (var key in this._props) { + var value = this._props[key]; + + if (value instanceof AnimatedNode) { + if (!value.__isNative || value instanceof AnimatedStyle) { + props[key] = value.__getValue(); + } + } else if (value instanceof AnimatedEvent) { + props[key] = value.__getHandler(); + } else { + props[key] = value; + } + } + + return props; + } + }, { + key: "__getAnimatedValue", + value: function __getAnimatedValue() { + var props = {}; + + for (var key in this._props) { + var value = this._props[key]; + + if (value instanceof AnimatedNode) { + props[key] = value.__getAnimatedValue(); + } + } + + return props; + } + }, { + key: "__attach", + value: function __attach() { + for (var key in this._props) { + var value = this._props[key]; + + if (value instanceof AnimatedNode) { + value.__addChild(this); + } + } + } + }, { + key: "__detach", + value: function __detach() { + if (this.__isNative && this._animatedView) { + this.__disconnectAnimatedView(); + } + + for (var key in this._props) { + var value = this._props[key]; + + if (value instanceof AnimatedNode) { + value.__removeChild(this); + } + } + + _get(_getPrototypeOf(AnimatedProps.prototype), "__detach", this).call(this); + } + }, { + key: "update", + value: function update() { + this._callback(); + } + }, { + key: "__makeNative", + value: function __makeNative() { + if (!this.__isNative) { + this.__isNative = true; + + for (var key in this._props) { + var value = this._props[key]; + + if (value instanceof AnimatedNode) { + value.__makeNative(); + } + } + + if (this._animatedView) { + this.__connectAnimatedView(); + } + } + } + }, { + key: "setNativeView", + value: function setNativeView(animatedView) { + if (this._animatedView === animatedView) { + return; + } + + this._animatedView = animatedView; + + if (this.__isNative) { + this.__connectAnimatedView(); + } + } + }, { + key: "__connectAnimatedView", + value: function __connectAnimatedView() { + invariant(this.__isNative, 'Expected node to be marked as "native"'); + var nativeViewTag = ReactNative.findNodeHandle(this._animatedView); + invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree'); + NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag); + } + }, { + key: "__disconnectAnimatedView", + value: function __disconnectAnimatedView() { + invariant(this.__isNative, 'Expected node to be marked as "native"'); + var nativeViewTag = ReactNative.findNodeHandle(this._animatedView); + invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree'); + NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + var propsConfig = {}; + + for (var propKey in this._props) { + var value = this._props[propKey]; + + if (value instanceof AnimatedNode) { + propsConfig[propKey] = value.__getNativeTag(); + } + } + + return { + type: 'props', + props: propsConfig + }; + } + }]); + + _inherits(AnimatedProps, _AnimatedNode); + + return AnimatedProps; + }(AnimatedNode); + + module.exports = AnimatedProps; +},347,[334,337,348,338,261,166],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedProps.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[0], './AnimatedNode'); + + var AnimatedTransform = _$$_REQUIRE(_dependencyMap[1], './AnimatedTransform'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[2], './AnimatedWithChildren'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[3], '../NativeAnimatedHelper'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[4], 'flattenStyle'); + + var AnimatedStyle = function (_AnimatedWithChildren) { + function AnimatedStyle(style) { + var _this; + + _classCallCheck(this, AnimatedStyle); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedStyle).call(this)); + style = flattenStyle(style) || {}; + + if (style.transform) { + style = _objectSpread({}, style, { + transform: new AnimatedTransform(style.transform) + }); + } + + _this._style = style; + return _this; + } + + _createClass(AnimatedStyle, [{ + key: "_walkStyleAndGetValues", + value: function _walkStyleAndGetValues(style) { + var updatedStyle = {}; + + for (var key in style) { + var value = style[key]; + + if (value instanceof AnimatedNode) { + if (!value.__isNative) { + updatedStyle[key] = value.__getValue(); + } + } else if (value && !Array.isArray(value) && typeof value === 'object') { + updatedStyle[key] = this._walkStyleAndGetValues(value); + } else { + updatedStyle[key] = value; + } + } + + return updatedStyle; + } + }, { + key: "__getValue", + value: function __getValue() { + return this._walkStyleAndGetValues(this._style); + } + }, { + key: "_walkStyleAndGetAnimatedValues", + value: function _walkStyleAndGetAnimatedValues(style) { + var updatedStyle = {}; + + for (var key in style) { + var value = style[key]; + + if (value instanceof AnimatedNode) { + updatedStyle[key] = value.__getAnimatedValue(); + } else if (value && !Array.isArray(value) && typeof value === 'object') { + updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value); + } + } + + return updatedStyle; + } + }, { + key: "__getAnimatedValue", + value: function __getAnimatedValue() { + return this._walkStyleAndGetAnimatedValues(this._style); + } + }, { + key: "__attach", + value: function __attach() { + for (var key in this._style) { + var value = this._style[key]; + + if (value instanceof AnimatedNode) { + value.__addChild(this); + } + } + } + }, { + key: "__detach", + value: function __detach() { + for (var key in this._style) { + var value = this._style[key]; + + if (value instanceof AnimatedNode) { + value.__removeChild(this); + } + } + + _get(_getPrototypeOf(AnimatedStyle.prototype), "__detach", this).call(this); + } + }, { + key: "__makeNative", + value: function __makeNative() { + _get(_getPrototypeOf(AnimatedStyle.prototype), "__makeNative", this).call(this); + + for (var key in this._style) { + var value = this._style[key]; + + if (value instanceof AnimatedNode) { + value.__makeNative(); + } + } + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + var styleConfig = {}; + + for (var styleKey in this._style) { + if (this._style[styleKey] instanceof AnimatedNode) { + styleConfig[styleKey] = this._style[styleKey].__getNativeTag(); + } + } + + NativeAnimatedHelper.validateStyles(styleConfig); + return { + type: 'style', + style: styleConfig + }; + } + }]); + + _inherits(AnimatedStyle, _AnimatedWithChildren); + + return AnimatedStyle; + }(AnimatedWithChildren); + + module.exports = AnimatedStyle; +},348,[337,349,339,338,226],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedStyle.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[0], './AnimatedNode'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[1], './AnimatedWithChildren'); + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[2], '../NativeAnimatedHelper'); + + var AnimatedTransform = function (_AnimatedWithChildren) { + function AnimatedTransform(transforms) { + var _this; + + _classCallCheck(this, AnimatedTransform); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedTransform).call(this)); + _this._transforms = transforms; + return _this; + } + + _createClass(AnimatedTransform, [{ + key: "__makeNative", + value: function __makeNative() { + _get(_getPrototypeOf(AnimatedTransform.prototype), "__makeNative", this).call(this); + + this._transforms.forEach(function (transform) { + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + value.__makeNative(); + } + } + }); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._transforms.map(function (transform) { + var result = {}; + + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + result[key] = value.__getValue(); + } else { + result[key] = value; + } + } + + return result; + }); + } + }, { + key: "__getAnimatedValue", + value: function __getAnimatedValue() { + return this._transforms.map(function (transform) { + var result = {}; + + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + result[key] = value.__getAnimatedValue(); + } else { + result[key] = value; + } + } + + return result; + }); + } + }, { + key: "__attach", + value: function __attach() { + var _this2 = this; + + this._transforms.forEach(function (transform) { + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + value.__addChild(_this2); + } + } + }); + } + }, { + key: "__detach", + value: function __detach() { + var _this3 = this; + + this._transforms.forEach(function (transform) { + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + value.__removeChild(_this3); + } + } + }); + + _get(_getPrototypeOf(AnimatedTransform.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + var transConfigs = []; + + this._transforms.forEach(function (transform) { + for (var key in transform) { + var value = transform[key]; + + if (value instanceof AnimatedNode) { + transConfigs.push({ + type: 'animated', + property: key, + nodeTag: value.__getNativeTag() + }); + } else { + transConfigs.push({ + type: 'static', + property: key, + value: value + }); + } + } + }); + + NativeAnimatedHelper.validateTransform(transConfigs); + return { + type: 'transform', + transforms: transConfigs + }; + } + }]); + + _inherits(AnimatedTransform, _AnimatedWithChildren); + + return AnimatedTransform; + }(AnimatedWithChildren); + + module.exports = AnimatedTransform; +},349,[337,339,338],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedTransform.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedInterpolation = _$$_REQUIRE(_dependencyMap[0], './AnimatedInterpolation'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[2], './AnimatedValue'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[3], './AnimatedWithChildren'); + + var AnimatedSubtraction = function (_AnimatedWithChildren) { + function AnimatedSubtraction(a, b) { + var _this; + + _classCallCheck(this, AnimatedSubtraction); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedSubtraction).call(this)); + _this._a = typeof a === 'number' ? new AnimatedValue(a) : a; + _this._b = typeof b === 'number' ? new AnimatedValue(b) : b; + return _this; + } + + _createClass(AnimatedSubtraction, [{ + key: "__makeNative", + value: function __makeNative() { + this._a.__makeNative(); + + this._b.__makeNative(); + + _get(_getPrototypeOf(AnimatedSubtraction.prototype), "__makeNative", this).call(this); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._a.__getValue() - this._b.__getValue(); + } + }, { + key: "interpolate", + value: function interpolate(config) { + return new AnimatedInterpolation(this, config); + } + }, { + key: "__attach", + value: function __attach() { + this._a.__addChild(this); + + this._b.__addChild(this); + } + }, { + key: "__detach", + value: function __detach() { + this._a.__removeChild(this); + + this._b.__removeChild(this); + + _get(_getPrototypeOf(AnimatedSubtraction.prototype), "__detach", this).call(this); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + return { + type: 'subtraction', + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }]); + + _inherits(AnimatedSubtraction, _AnimatedWithChildren); + + return AnimatedSubtraction; + }(AnimatedWithChildren); + + module.exports = AnimatedSubtraction; +},350,[336,337,335,339],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedSubtraction.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[0], './AnimatedValue'); + + var AnimatedNode = _$$_REQUIRE(_dependencyMap[1], './AnimatedNode'); + + var _require = _$$_REQUIRE(_dependencyMap[2], '../NativeAnimatedHelper'), + generateNewAnimationId = _require.generateNewAnimationId, + shouldUseNativeDriver = _require.shouldUseNativeDriver; + + var AnimatedTracking = function (_AnimatedNode) { + function AnimatedTracking(value, parent, animationClass, animationConfig, callback) { + var _this; + + _classCallCheck(this, AnimatedTracking); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedTracking).call(this)); + _this._value = value; + _this._parent = parent; + _this._animationClass = animationClass; + _this._animationConfig = animationConfig; + _this._useNativeDriver = shouldUseNativeDriver(animationConfig); + _this._callback = callback; + + _this.__attach(); + + return _this; + } + + _createClass(AnimatedTracking, [{ + key: "__makeNative", + value: function __makeNative() { + this.__isNative = true; + + this._parent.__makeNative(); + + _get(_getPrototypeOf(AnimatedTracking.prototype), "__makeNative", this).call(this); + + this._value.__makeNative(); + } + }, { + key: "__getValue", + value: function __getValue() { + return this._parent.__getValue(); + } + }, { + key: "__attach", + value: function __attach() { + this._parent.__addChild(this); + + if (this._useNativeDriver) { + this.__makeNative(); + } + } + }, { + key: "__detach", + value: function __detach() { + this._parent.__removeChild(this); + + _get(_getPrototypeOf(AnimatedTracking.prototype), "__detach", this).call(this); + } + }, { + key: "update", + value: function update() { + this._value.animate(new this._animationClass(_objectSpread({}, this._animationConfig, { + toValue: this._animationConfig.toValue.__getValue() + })), this._callback); + } + }, { + key: "__getNativeConfig", + value: function __getNativeConfig() { + var animation = new this._animationClass(_objectSpread({}, this._animationConfig, { + toValue: undefined + })); + + var animationConfig = animation.__getNativeAnimationConfig(); + + return { + type: 'tracking', + animationId: generateNewAnimationId(), + animationConfig: animationConfig, + toValue: this._parent.__getNativeTag(), + value: this._value.__getNativeTag() + }; + } + }]); + + _inherits(AnimatedTracking, _AnimatedNode); + + return AnimatedTracking; + }(AnimatedNode); + + module.exports = AnimatedTracking; +},351,[335,337,338],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedTracking.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[0], './AnimatedValue'); + + var AnimatedWithChildren = _$$_REQUIRE(_dependencyMap[1], './AnimatedWithChildren'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var _uniqueId = 1; + + var AnimatedValueXY = function (_AnimatedWithChildren) { + function AnimatedValueXY(valueIn) { + var _this; + + _classCallCheck(this, AnimatedValueXY); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedValueXY).call(this)); + var value = valueIn || { + x: 0, + y: 0 + }; + + if (typeof value.x === 'number' && typeof value.y === 'number') { + _this.x = new AnimatedValue(value.x); + _this.y = new AnimatedValue(value.y); + } else { + invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.'); + _this.x = value.x; + _this.y = value.y; + } + + _this._listeners = {}; + return _this; + } + + _createClass(AnimatedValueXY, [{ + key: "setValue", + value: function setValue(value) { + this.x.setValue(value.x); + this.y.setValue(value.y); + } + }, { + key: "setOffset", + value: function setOffset(offset) { + this.x.setOffset(offset.x); + this.y.setOffset(offset.y); + } + }, { + key: "flattenOffset", + value: function flattenOffset() { + this.x.flattenOffset(); + this.y.flattenOffset(); + } + }, { + key: "extractOffset", + value: function extractOffset() { + this.x.extractOffset(); + this.y.extractOffset(); + } + }, { + key: "__getValue", + value: function __getValue() { + return { + x: this.x.__getValue(), + y: this.y.__getValue() + }; + } + }, { + key: "resetAnimation", + value: function resetAnimation(callback) { + this.x.resetAnimation(); + this.y.resetAnimation(); + callback && callback(this.__getValue()); + } + }, { + key: "stopAnimation", + value: function stopAnimation(callback) { + this.x.stopAnimation(); + this.y.stopAnimation(); + callback && callback(this.__getValue()); + } + }, { + key: "addListener", + value: function addListener(callback) { + var _this2 = this; + + var id = String(_uniqueId++); + + var jointCallback = function jointCallback(_ref) { + var number = _ref.value; + callback(_this2.__getValue()); + }; + + this._listeners[id] = { + x: this.x.addListener(jointCallback), + y: this.y.addListener(jointCallback) + }; + return id; + } + }, { + key: "removeListener", + value: function removeListener(id) { + this.x.removeListener(this._listeners[id].x); + this.y.removeListener(this._listeners[id].y); + delete this._listeners[id]; + } + }, { + key: "removeAllListeners", + value: function removeAllListeners() { + this.x.removeAllListeners(); + this.y.removeAllListeners(); + this._listeners = {}; + } + }, { + key: "getLayout", + value: function getLayout() { + return { + left: this.x, + top: this.y + }; + } + }, { + key: "getTranslateTransform", + value: function getTranslateTransform() { + return [{ + translateX: this.x + }, { + translateY: this.y + }]; + } + }]); + + _inherits(AnimatedValueXY, _AnimatedWithChildren); + + return AnimatedValueXY; + }(AnimatedWithChildren); + + module.exports = AnimatedValueXY; +},352,[335,339,166],"node_modules/react-native/Libraries/Animated/src/nodes/AnimatedValueXY.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var Animation = _$$_REQUIRE(_dependencyMap[0], './Animation'); + + var _require = _$$_REQUIRE(_dependencyMap[1], '../NativeAnimatedHelper'), + shouldUseNativeDriver = _require.shouldUseNativeDriver; + + var DecayAnimation = function (_Animation) { + function DecayAnimation(config) { + var _this; + + _classCallCheck(this, DecayAnimation); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(DecayAnimation).call(this)); + _this._deceleration = config.deceleration !== undefined ? config.deceleration : 0.998; + _this._velocity = config.velocity; + _this._useNativeDriver = shouldUseNativeDriver(config); + _this.__isInteraction = config.isInteraction !== undefined ? config.isInteraction : true; + _this.__iterations = config.iterations !== undefined ? config.iterations : 1; + return _this; + } + + _createClass(DecayAnimation, [{ + key: "__getNativeAnimationConfig", + value: function __getNativeAnimationConfig() { + return { + type: 'decay', + deceleration: this._deceleration, + velocity: this._velocity, + iterations: this.__iterations + }; + } + }, { + key: "start", + value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + this.__active = true; + this._lastValue = fromValue; + this._fromValue = fromValue; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + this._startTime = Date.now(); + + if (this._useNativeDriver) { + this.__startNativeAnimation(animatedValue); + } else { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + }, { + key: "onUpdate", + value: function onUpdate() { + var now = Date.now(); + var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime))); + + this._onUpdate(value); + + if (Math.abs(this._lastValue - value) < 0.1) { + this.__debouncedOnEnd({ + finished: true + }); + + return; + } + + this._lastValue = value; + + if (this.__active) { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + }, { + key: "stop", + value: function stop() { + _get(_getPrototypeOf(DecayAnimation.prototype), "stop", this).call(this); + + this.__active = false; + global.cancelAnimationFrame(this._animationFrame); + + this.__debouncedOnEnd({ + finished: false + }); + } + }]); + + _inherits(DecayAnimation, _Animation); + + return DecayAnimation; + }(Animation); + + module.exports = DecayAnimation; +},353,[354,338],"node_modules/react-native/Libraries/Animated/src/animations/DecayAnimation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var NativeAnimatedHelper = _$$_REQUIRE(_dependencyMap[0], 'NativeAnimatedHelper'); + + var Animation = function () { + function Animation() { + _classCallCheck(this, Animation); + } + + _createClass(Animation, [{ + key: "start", + value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {} + }, { + key: "stop", + value: function stop() { + if (this.__nativeId) { + NativeAnimatedHelper.API.stopAnimation(this.__nativeId); + } + } + }, { + key: "__getNativeAnimationConfig", + value: function __getNativeAnimationConfig() { + throw new Error('This animation type cannot be offloaded to native'); + } + }, { + key: "__debouncedOnEnd", + value: function __debouncedOnEnd(result) { + var onEnd = this.__onEnd; + this.__onEnd = null; + onEnd && onEnd(result); + } + }, { + key: "__startNativeAnimation", + value: function __startNativeAnimation(animatedValue) { + animatedValue.__makeNative(); + + this.__nativeId = NativeAnimatedHelper.generateNewAnimationId(); + NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this)); + } + }]); + + return Animation; + }(); + + module.exports = Animation; +},354,[338],"node_modules/react-native/Libraries/Animated/src/animations/Animation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[0], '../nodes/AnimatedValue'); + + var AnimatedValueXY = _$$_REQUIRE(_dependencyMap[1], '../nodes/AnimatedValueXY'); + + var Animation = _$$_REQUIRE(_dependencyMap[2], './Animation'); + + var SpringConfig = _$$_REQUIRE(_dependencyMap[3], '../SpringConfig'); + + var invariant = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/invariant'); + + var _require = _$$_REQUIRE(_dependencyMap[5], '../NativeAnimatedHelper'), + shouldUseNativeDriver = _require.shouldUseNativeDriver; + + function withDefault(value, defaultValue) { + if (value === undefined || value === null) { + return defaultValue; + } + + return value; + } + + var SpringAnimation = function (_Animation) { + function SpringAnimation(config) { + var _this; + + _classCallCheck(this, SpringAnimation); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(SpringAnimation).call(this)); + _this._overshootClamping = withDefault(config.overshootClamping, false); + _this._restDisplacementThreshold = withDefault(config.restDisplacementThreshold, 0.001); + _this._restSpeedThreshold = withDefault(config.restSpeedThreshold, 0.001); + _this._initialVelocity = withDefault(config.velocity, 0); + _this._lastVelocity = withDefault(config.velocity, 0); + _this._toValue = config.toValue; + _this._delay = withDefault(config.delay, 0); + _this._useNativeDriver = shouldUseNativeDriver(config); + _this.__isInteraction = config.isInteraction !== undefined ? config.isInteraction : true; + _this.__iterations = config.iterations !== undefined ? config.iterations : 1; + + if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) { + invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one'); + _this._stiffness = withDefault(config.stiffness, 100); + _this._damping = withDefault(config.damping, 10); + _this._mass = withDefault(config.mass, 1); + } else if (config.bounciness !== undefined || config.speed !== undefined) { + invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one'); + var springConfig = SpringConfig.fromBouncinessAndSpeed(withDefault(config.bounciness, 8), withDefault(config.speed, 12)); + _this._stiffness = springConfig.stiffness; + _this._damping = springConfig.damping; + _this._mass = 1; + } else { + var _springConfig = SpringConfig.fromOrigamiTensionAndFriction(withDefault(config.tension, 40), withDefault(config.friction, 7)); + + _this._stiffness = _springConfig.stiffness; + _this._damping = _springConfig.damping; + _this._mass = 1; + } + + invariant(_this._stiffness > 0, 'Stiffness value must be greater than 0'); + invariant(_this._damping > 0, 'Damping value must be greater than 0'); + invariant(_this._mass > 0, 'Mass value must be greater than 0'); + return _this; + } + + _createClass(SpringAnimation, [{ + key: "__getNativeAnimationConfig", + value: function __getNativeAnimationConfig() { + return { + type: 'spring', + overshootClamping: this._overshootClamping, + restDisplacementThreshold: this._restDisplacementThreshold, + restSpeedThreshold: this._restSpeedThreshold, + stiffness: this._stiffness, + damping: this._damping, + mass: this._mass, + initialVelocity: withDefault(this._initialVelocity, this._lastVelocity), + toValue: this._toValue, + iterations: this.__iterations + }; + } + }, { + key: "start", + value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + var _this2 = this; + + this.__active = true; + this._startPosition = fromValue; + this._lastPosition = this._startPosition; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + this._lastTime = Date.now(); + this._frameTime = 0.0; + + if (previousAnimation instanceof SpringAnimation) { + var internalState = previousAnimation.getInternalState(); + this._lastPosition = internalState.lastPosition; + this._lastVelocity = internalState.lastVelocity; + this._initialVelocity = this._lastVelocity; + this._lastTime = internalState.lastTime; + } + + var start = function start() { + if (_this2._useNativeDriver) { + _this2.__startNativeAnimation(animatedValue); + } else { + _this2.onUpdate(); + } + }; + + if (this._delay) { + this._timeout = setTimeout(start, this._delay); + } else { + start(); + } + } + }, { + key: "getInternalState", + value: function getInternalState() { + return { + lastPosition: this._lastPosition, + lastVelocity: this._lastVelocity, + lastTime: this._lastTime + }; + } + }, { + key: "onUpdate", + value: function onUpdate() { + var MAX_STEPS = 64; + var now = Date.now(); + + if (now > this._lastTime + MAX_STEPS) { + now = this._lastTime + MAX_STEPS; + } + + var deltaTime = (now - this._lastTime) / 1000; + this._frameTime += deltaTime; + var c = this._damping; + var m = this._mass; + var k = this._stiffness; + var v0 = -this._initialVelocity; + var zeta = c / (2 * Math.sqrt(k * m)); + var omega0 = Math.sqrt(k / m); + var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); + var x0 = this._toValue - this._startPosition; + var position = 0.0; + var velocity = 0.0; + var t = this._frameTime; + + if (zeta < 1) { + var envelope = Math.exp(-zeta * omega0 * t); + position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t)); + velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t)); + } else { + var _envelope = Math.exp(-omega0 * t); + + position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t); + velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0)); + } + + this._lastTime = now; + this._lastPosition = position; + this._lastVelocity = velocity; + + this._onUpdate(position); + + if (!this.__active) { + return; + } + + var isOvershooting = false; + + if (this._overshootClamping && this._stiffness !== 0) { + if (this._startPosition < this._toValue) { + isOvershooting = position > this._toValue; + } else { + isOvershooting = position < this._toValue; + } + } + + var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold; + + var isDisplacement = true; + + if (this._stiffness !== 0) { + isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold; + } + + if (isOvershooting || isVelocity && isDisplacement) { + if (this._stiffness !== 0) { + this._lastPosition = this._toValue; + this._lastVelocity = 0; + + this._onUpdate(this._toValue); + } + + this.__debouncedOnEnd({ + finished: true + }); + + return; + } + + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + }, { + key: "stop", + value: function stop() { + _get(_getPrototypeOf(SpringAnimation.prototype), "stop", this).call(this); + + this.__active = false; + clearTimeout(this._timeout); + global.cancelAnimationFrame(this._animationFrame); + + this.__debouncedOnEnd({ + finished: false + }); + } + }]); + + _inherits(SpringAnimation, _Animation); + + return SpringAnimation; + }(Animation); + + module.exports = SpringAnimation; +},355,[335,352,354,356,166,338],"node_modules/react-native/Libraries/Animated/src/animations/SpringAnimation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function stiffnessFromOrigamiValue(oValue) { + return (oValue - 30) * 3.62 + 194; + } + + function dampingFromOrigamiValue(oValue) { + return (oValue - 8) * 3 + 25; + } + + function fromOrigamiTensionAndFriction(tension, friction) { + return { + stiffness: stiffnessFromOrigamiValue(tension), + damping: dampingFromOrigamiValue(friction) + }; + } + + function fromBouncinessAndSpeed(bounciness, speed) { + function normalize(value, startValue, endValue) { + return (value - startValue) / (endValue - startValue); + } + + function projectNormal(n, start, end) { + return start + n * (end - start); + } + + function linearInterpolation(t, start, end) { + return t * end + (1 - t) * start; + } + + function quadraticOutInterpolation(t, start, end) { + return linearInterpolation(2 * t - t * t, start, end); + } + + function b3Friction1(x) { + return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28; + } + + function b3Friction2(x) { + return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2; + } + + function b3Friction3(x) { + return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84; + } + + function b3Nobounce(tension) { + if (tension <= 18) { + return b3Friction1(tension); + } else if (tension > 18 && tension <= 44) { + return b3Friction2(tension); + } else { + return b3Friction3(tension); + } + } + + var b = normalize(bounciness / 1.7, 0, 20); + b = projectNormal(b, 0, 0.8); + var s = normalize(speed / 1.7, 0, 20); + var bouncyTension = projectNormal(s, 0.5, 200); + var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01); + return { + stiffness: stiffnessFromOrigamiValue(bouncyTension), + damping: dampingFromOrigamiValue(bouncyFriction) + }; + } + + module.exports = { + fromOrigamiTensionAndFriction: fromOrigamiTensionAndFriction, + fromBouncinessAndSpeed: fromBouncinessAndSpeed + }; +},356,[],"node_modules/react-native/Libraries/Animated/src/SpringConfig.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + + function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var AnimatedValue = _$$_REQUIRE(_dependencyMap[0], '../nodes/AnimatedValue'); + + var AnimatedValueXY = _$$_REQUIRE(_dependencyMap[1], '../nodes/AnimatedValueXY'); + + var Animation = _$$_REQUIRE(_dependencyMap[2], './Animation'); + + var _require = _$$_REQUIRE(_dependencyMap[3], '../NativeAnimatedHelper'), + shouldUseNativeDriver = _require.shouldUseNativeDriver; + + var _easeInOut; + + function easeInOut() { + if (!_easeInOut) { + var Easing = _$$_REQUIRE(_dependencyMap[4], 'Easing'); + + _easeInOut = Easing.inOut(Easing.ease); + } + + return _easeInOut; + } + + var TimingAnimation = function (_Animation) { + function TimingAnimation(config) { + var _this; + + _classCallCheck(this, TimingAnimation); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(TimingAnimation).call(this)); + _this._toValue = config.toValue; + _this._easing = config.easing !== undefined ? config.easing : easeInOut(); + _this._duration = config.duration !== undefined ? config.duration : 500; + _this._delay = config.delay !== undefined ? config.delay : 0; + _this.__iterations = config.iterations !== undefined ? config.iterations : 1; + _this.__isInteraction = config.isInteraction !== undefined ? config.isInteraction : true; + _this._useNativeDriver = shouldUseNativeDriver(config); + return _this; + } + + _createClass(TimingAnimation, [{ + key: "__getNativeAnimationConfig", + value: function __getNativeAnimationConfig() { + var frameDuration = 1000.0 / 60.0; + var frames = []; + + for (var dt = 0.0; dt < this._duration; dt += frameDuration) { + frames.push(this._easing(dt / this._duration)); + } + + frames.push(this._easing(1)); + return { + type: 'frames', + frames: frames, + toValue: this._toValue, + iterations: this.__iterations + }; + } + }, { + key: "start", + value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + var _this2 = this; + + this.__active = true; + this._fromValue = fromValue; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + + var start = function start() { + if (_this2._duration === 0 && !_this2._useNativeDriver) { + _this2._onUpdate(_this2._toValue); + + _this2.__debouncedOnEnd({ + finished: true + }); + } else { + _this2._startTime = Date.now(); + + if (_this2._useNativeDriver) { + _this2.__startNativeAnimation(animatedValue); + } else { + _this2._animationFrame = requestAnimationFrame(_this2.onUpdate.bind(_this2)); + } + } + }; + + if (this._delay) { + this._timeout = setTimeout(start, this._delay); + } else { + start(); + } + } + }, { + key: "onUpdate", + value: function onUpdate() { + var now = Date.now(); + + if (now >= this._startTime + this._duration) { + if (this._duration === 0) { + this._onUpdate(this._toValue); + } else { + this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue)); + } + + this.__debouncedOnEnd({ + finished: true + }); + + return; + } + + this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue)); + + if (this.__active) { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + }, { + key: "stop", + value: function stop() { + _get(_getPrototypeOf(TimingAnimation.prototype), "stop", this).call(this); + + this.__active = false; + clearTimeout(this._timeout); + global.cancelAnimationFrame(this._animationFrame); + + this.__debouncedOnEnd({ + finished: false + }); + } + }]); + + _inherits(TimingAnimation, _Animation); + + return TimingAnimation; + }(Animation); + + module.exports = TimingAnimation; +},357,[335,352,354,338,358],"node_modules/react-native/Libraries/Animated/src/animations/TimingAnimation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var _ease; + + var Easing = function () { + function Easing() { + _classCallCheck(this, Easing); + } + + _createClass(Easing, null, [{ + key: "step0", + value: function step0(n) { + return n > 0 ? 1 : 0; + } + }, { + key: "step1", + value: function step1(n) { + return n >= 1 ? 1 : 0; + } + }, { + key: "linear", + value: function linear(t) { + return t; + } + }, { + key: "ease", + value: function ease(t) { + if (!_ease) { + _ease = Easing.bezier(0.42, 0, 1, 1); + } + + return _ease(t); + } + }, { + key: "quad", + value: function quad(t) { + return t * t; + } + }, { + key: "cubic", + value: function cubic(t) { + return t * t * t; + } + }, { + key: "poly", + value: function poly(n) { + return function (t) { + return Math.pow(t, n); + }; + } + }, { + key: "sin", + value: function sin(t) { + return 1 - Math.cos(t * Math.PI / 2); + } + }, { + key: "circle", + value: function circle(t) { + return 1 - Math.sqrt(1 - t * t); + } + }, { + key: "exp", + value: function exp(t) { + return Math.pow(2, 10 * (t - 1)); + } + }, { + key: "elastic", + value: function elastic() { + var bounciness = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + var p = bounciness * Math.PI; + return function (t) { + return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p); + }; + } + }, { + key: "back", + value: function back(s) { + if (s === undefined) { + s = 1.70158; + } + + return function (t) { + return t * t * ((s + 1) * t - s); + }; + } + }, { + key: "bounce", + value: function bounce(t) { + if (t < 1 / 2.75) { + return 7.5625 * t * t; + } + + if (t < 2 / 2.75) { + t -= 1.5 / 2.75; + return 7.5625 * t * t + 0.75; + } + + if (t < 2.5 / 2.75) { + t -= 2.25 / 2.75; + return 7.5625 * t * t + 0.9375; + } + + t -= 2.625 / 2.75; + return 7.5625 * t * t + 0.984375; + } + }, { + key: "bezier", + value: function bezier(x1, y1, x2, y2) { + var _bezier = _$$_REQUIRE(_dependencyMap[0], 'bezier'); + + return _bezier(x1, y1, x2, y2); + } + }, { + key: "in", + value: function _in(easing) { + return easing; + } + }, { + key: "out", + value: function out(easing) { + return function (t) { + return 1 - easing(1 - t); + }; + } + }, { + key: "inOut", + value: function inOut(easing) { + return function (t) { + if (t < 0.5) { + return easing(t * 2) / 2; + } + + return 1 - easing((1 - t) * 2) / 2; + }; + } + }]); + + return Easing; + }(); + + module.exports = Easing; +},358,[359],"node_modules/react-native/Libraries/Animated/src/Easing.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NEWTON_ITERATIONS = 4; + var NEWTON_MIN_SLOPE = 0.001; + var SUBDIVISION_PRECISION = 0.0000001; + var SUBDIVISION_MAX_ITERATIONS = 10; + var kSplineTableSize = 11; + var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); + var float32ArraySupported = typeof Float32Array === 'function'; + + function A(aA1, aA2) { + return 1.0 - 3.0 * aA2 + 3.0 * aA1; + } + + function B(aA1, aA2) { + return 3.0 * aA2 - 6.0 * aA1; + } + + function C(aA1) { + return 3.0 * aA1; + } + + function calcBezier(aT, aA1, aA2) { + return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; + } + + function getSlope(aT, aA1, aA2) { + return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); + } + + function binarySubdivide(aX, aA, aB, mX1, mX2) { + var currentX, + currentT, + i = 0; + + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + + return currentT; + } + + function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + + if (currentSlope === 0.0) { + return aGuessT; + } + + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + + return aGuessT; + } + + module.exports = function bezier(mX1, mY1, mX2, mY2) { + if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { + throw new Error('bezier x values must be in [0, 1] range'); + } + + var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + + if (mX1 !== mY1 || mX2 !== mY2) { + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + + function getTForX(aX) { + var intervalStart = 0.0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + + --currentSample; + var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + var initialSlope = getSlope(guessForT, mX1, mX2); + + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + + return function BezierEasing(x) { + if (mX1 === mY1 && mX2 === mY2) { + return x; + } + + if (x === 0) { + return 0; + } + + if (x === 1) { + return 1; + } + + return calcBezier(getTForX(x), mY1, mY2); + }; + }; +},359,[],"node_modules/react-native/Libraries/Animated/src/bezier.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Animated/src/createAnimatedComponent.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + var _components = { + AnimatedComponent: { + displayName: "AnimatedComponent", + isInFunction: true + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Animated/src/createAnimatedComponent.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _require = _$$_REQUIRE(_dependencyMap[2], './AnimatedEvent'), + AnimatedEvent = _require.AnimatedEvent; + + var AnimatedProps = _$$_REQUIRE(_dependencyMap[3], './nodes/AnimatedProps'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[5], 'ViewStylePropTypes'); + + var invariant = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/invariant'); + + function createAnimatedComponent(Component) { + invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, '`createAnimatedComponent` does not support stateless functional components; ' + 'use a class component instead.'); + + var AnimatedComponent = function (_React$Component) { + function AnimatedComponent(props) { + var _this; + + _classCallCheck(this, AnimatedComponent); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(AnimatedComponent).call(this, props)); + _this._invokeAnimatedPropsCallbackOnMount = false; + _this._eventDetachers = []; + + _this._animatedPropsCallback = function () { + if (_this._component == null) { + _this._invokeAnimatedPropsCallbackOnMount = true; + } else if (AnimatedComponent.__skipSetNativeProps_FOR_TESTS_ONLY || typeof _this._component.setNativeProps !== 'function') { + _this.forceUpdate(); + } else if (!_this._propsAnimated.__isNative) { + _this._component.setNativeProps(_this._propsAnimated.__getAnimatedValue()); + } else { + throw new Error('Attempting to run JS driven animation on animated ' + 'node that has been moved to "native" earlier by starting an ' + 'animation with `useNativeDriver: true`'); + } + }; + + _this._setComponentRef = _this._setComponentRef.bind(_assertThisInitialized(_assertThisInitialized(_this))); + return _this; + } + + _createClass(AnimatedComponent, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + this._propsAnimated && this._propsAnimated.__detach(); + + this._detachNativeEvents(); + } + }, { + key: "setNativeProps", + value: function setNativeProps(props) { + this._component.setNativeProps(props); + } + }, { + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + this._attachProps(this.props); + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + if (this._invokeAnimatedPropsCallbackOnMount) { + this._invokeAnimatedPropsCallbackOnMount = false; + + this._animatedPropsCallback(); + } + + this._propsAnimated.setNativeView(this._component); + + this._attachNativeEvents(); + } + }, { + key: "_attachNativeEvents", + value: function _attachNativeEvents() { + var _this2 = this; + + var scrollableNode = this._component.getScrollableNode ? this._component.getScrollableNode() : this._component; + + var _loop = function _loop(key) { + var prop = _this2.props[key]; + + if (prop instanceof AnimatedEvent && prop.__isNative) { + prop.__attach(scrollableNode, key); + + _this2._eventDetachers.push(function () { + return prop.__detach(scrollableNode, key); + }); + } + }; + + for (var key in this.props) { + _loop(key); + } + } + }, { + key: "_detachNativeEvents", + value: function _detachNativeEvents() { + this._eventDetachers.forEach(function (remove) { + return remove(); + }); + + this._eventDetachers = []; + } + }, { + key: "_attachProps", + value: function _attachProps(nextProps) { + var oldPropsAnimated = this._propsAnimated; + this._propsAnimated = new AnimatedProps(nextProps, this._animatedPropsCallback); + oldPropsAnimated && oldPropsAnimated.__detach(); + } + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(newProps) { + this._attachProps(newProps); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (this._component !== this._prevComponent) { + this._propsAnimated.setNativeView(this._component); + } + + if (this._component !== this._prevComponent || prevProps !== this.props) { + this._detachNativeEvents(); + + this._attachNativeEvents(); + } + } + }, { + key: "render", + value: function render() { + var props = this._propsAnimated.__getValue(); + + return React.createElement(Component, _extends({}, props, { + ref: this._setComponentRef, + collapsable: this._propsAnimated.__isNative ? false : props.collapsable, + __source: { + fileName: _jsxFileName, + lineNumber: 153 + } + })); + } + }, { + key: "_setComponentRef", + value: function _setComponentRef(c) { + this._prevComponent = this._component; + this._component = c; + } + }, { + key: "getNode", + value: function getNode() { + return this._component; + } + }]); + + _inherits(AnimatedComponent, _React$Component); + + return AnimatedComponent; + }(React.Component); + + AnimatedComponent.__skipSetNativeProps_FOR_TESTS_ONLY = false; + AnimatedComponent = _wrapComponent("AnimatedComponent")(AnimatedComponent); + var propTypes = Component.propTypes; + AnimatedComponent.propTypes = { + style: function style(props, propName, componentName) { + if (!propTypes) { + return; + } + + for (var key in ViewStylePropTypes) { + if (!propTypes[key] && props[key] !== undefined) { + console.warn('You are setting the style `{ ' + key + ': ... }` as a prop. You ' + 'should nest it in a style object. ' + 'E.g. `{ style: { ' + key + ': ... } }`'); + } + } + } + }; + return AnimatedComponent; + } + + module.exports = createAnimatedComponent; +},360,[1,11,334,347,200,220,166],"node_modules/react-native/Libraries/Animated/src/createAnimatedComponent.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Image/Image.ios.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var ImageProps = _$$_REQUIRE(_dependencyMap[0], 'ImageProps'); + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[1], 'NativeMethodsMixin'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var ReactNativeViewAttributes = _$$_REQUIRE(_dependencyMap[4], 'ReactNativeViewAttributes'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[6], 'create-react-class'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[7], 'flattenStyle'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[8], 'requireNativeComponent'); + + var resolveAssetSource = _$$_REQUIRE(_dependencyMap[9], 'resolveAssetSource'); + + var ImageViewManager = NativeModules.ImageViewManager; + var RCTImageView = requireNativeComponent('RCTImageView'); + var Image = createReactClass({ + displayName: 'Image', + propTypes: ImageProps, + statics: { + getSize: function getSize(uri, success, failure) { + ImageViewManager.getSize(uri, success, failure || function () { + console.warn('Failed to get size for image: ' + uri); + }); + }, + prefetch: function prefetch(url) { + return ImageViewManager.prefetchImage(url); + }, + resolveAssetSource: resolveAssetSource + }, + mixins: [NativeMethodsMixin], + viewConfig: { + uiViewClassName: 'UIView', + validAttributes: ReactNativeViewAttributes.UIView + }, + render: function render() { + var source = resolveAssetSource(this.props.source) || { + uri: undefined, + width: undefined, + height: undefined + }; + var sources; + var style; + + if (Array.isArray(source)) { + style = flattenStyle([styles.base, this.props.style]) || {}; + sources = source; + } else { + var _width = source.width, + _height = source.height, + uri = source.uri; + style = flattenStyle([{ + width: _width, + height: _height + }, styles.base, this.props.style]) || {}; + sources = [source]; + + if (uri === '') { + console.warn('source.uri should not be an empty string'); + } + } + + var resizeMode = this.props.resizeMode || (style || {}).resizeMode || 'cover'; + var tintColor = (style || {}).tintColor; + + if (this.props.src) { + console.warn('The component requires a `source` property rather than `src`.'); + } + + if (this.props.children) { + throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.'); + } + + return React.createElement(RCTImageView, _extends({}, this.props, { + style: style, + resizeMode: resizeMode, + tintColor: tintColor, + source: sources, + __source: { + fileName: _jsxFileName, + lineNumber: 127 + } + })); + } + }); + var styles = StyleSheet.create({ + base: { + overflow: 'hidden' + } + }); + module.exports = Image; +},361,[362,364,168,200,247,201,365,226,229,235],"node_modules/react-native/Libraries/Image/Image.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[0], 'EdgeInsetsPropType'); + + var ImageSourcePropType = _$$_REQUIRE(_dependencyMap[1], 'ImageSourcePropType'); + + var ImageStylePropTypes = _$$_REQUIRE(_dependencyMap[2], 'ImageStylePropTypes'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var StyleSheetPropType = _$$_REQUIRE(_dependencyMap[4], 'StyleSheetPropType'); + + module.exports = { + style: StyleSheetPropType(ImageStylePropTypes), + source: ImageSourcePropType, + defaultSource: PropTypes.oneOfType([PropTypes.shape({ + uri: PropTypes.string, + width: PropTypes.number, + height: PropTypes.number, + scale: PropTypes.number + }), PropTypes.number]), + accessible: PropTypes.bool, + accessibilityLabel: PropTypes.node, + blurRadius: PropTypes.number, + capInsets: EdgeInsetsPropType, + resizeMethod: PropTypes.oneOf(['auto', 'resize', 'scale']), + resizeMode: PropTypes.oneOf(['cover', 'contain', 'stretch', 'repeat', 'center']), + testID: PropTypes.string, + onLayout: PropTypes.func, + onLoadStart: PropTypes.func, + onProgress: PropTypes.func, + onError: PropTypes.func, + onPartialLoad: PropTypes.func, + onLoad: PropTypes.func, + onLoadEnd: PropTypes.func + }; +},362,[254,363,206,212,255],"node_modules/react-native/Libraries/Image/ImageProps.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var ImageURISourcePropType = PropTypes.shape({ + uri: PropTypes.string, + bundle: PropTypes.string, + method: PropTypes.string, + headers: PropTypes.objectOf(PropTypes.string), + body: PropTypes.string, + cache: PropTypes.oneOf(['default', 'reload', 'force-cache', 'only-if-cached']), + width: PropTypes.number, + height: PropTypes.number, + scale: PropTypes.number + }); + var ImageSourcePropType = PropTypes.oneOfType([ImageURISourcePropType, PropTypes.number, PropTypes.arrayOf(ImageURISourcePropType)]); + module.exports = ImageSourcePropType; +},363,[212],"node_modules/react-native/Libraries/Image/ImageSourcePropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _require = _$$_REQUIRE(_dependencyMap[0], 'ReactNative'), + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = _require.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + + var NativeMethodsMixin = __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.NativeMethodsMixin; + module.exports = NativeMethodsMixin; +},364,[261],"node_modules/react-native/Libraries/Renderer/shims/NativeMethodsMixin.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var React = _$$_REQUIRE(_dependencyMap[0], 'react'); + + var factory = _$$_REQUIRE(_dependencyMap[1], './factory'); + + if (typeof React === 'undefined') { + throw Error('create-react-class could not find the React object. If you are using script tags, ' + 'make sure that React is being loaded before create-react-class.'); + } + + var ReactNoopUpdateQueue = new React.Component().updater; + module.exports = factory(React.Component, React.isValidElement, ReactNoopUpdateQueue); +},365,[1,366],"node_modules/create-react-class/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _assign = _$$_REQUIRE(_dependencyMap[0], 'object-assign'); + + var emptyObject = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/emptyObject'); + + var _invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + if (process.env.NODE_ENV !== 'production') { + var warning = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/warning'); + } + + var MIXINS_KEY = 'mixins'; + + function identity(fn) { + return fn; + } + + var ReactPropTypeLocationNames; + + if (process.env.NODE_ENV !== 'production') { + ReactPropTypeLocationNames = { + prop: 'prop', + context: 'context', + childContext: 'child context' + }; + } else { + ReactPropTypeLocationNames = {}; + } + + function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { + var injectedMixins = []; + var ReactClassInterface = { + mixins: 'DEFINE_MANY', + statics: 'DEFINE_MANY', + propTypes: 'DEFINE_MANY', + contextTypes: 'DEFINE_MANY', + childContextTypes: 'DEFINE_MANY', + getDefaultProps: 'DEFINE_MANY_MERGED', + getInitialState: 'DEFINE_MANY_MERGED', + getChildContext: 'DEFINE_MANY_MERGED', + render: 'DEFINE_ONCE', + componentWillMount: 'DEFINE_MANY', + componentDidMount: 'DEFINE_MANY', + componentWillReceiveProps: 'DEFINE_MANY', + shouldComponentUpdate: 'DEFINE_ONCE', + componentWillUpdate: 'DEFINE_MANY', + componentDidUpdate: 'DEFINE_MANY', + componentWillUnmount: 'DEFINE_MANY', + UNSAFE_componentWillMount: 'DEFINE_MANY', + UNSAFE_componentWillReceiveProps: 'DEFINE_MANY', + UNSAFE_componentWillUpdate: 'DEFINE_MANY', + updateComponent: 'OVERRIDE_BASE' + }; + var ReactClassStaticInterface = { + getDerivedStateFromProps: 'DEFINE_MANY_MERGED' + }; + var RESERVED_SPEC_KEYS = { + displayName: function displayName(Constructor, _displayName) { + Constructor.displayName = _displayName; + }, + mixins: function mixins(Constructor, _mixins) { + if (_mixins) { + for (var i = 0; i < _mixins.length; i++) { + mixSpecIntoComponent(Constructor, _mixins[i]); + } + } + }, + childContextTypes: function childContextTypes(Constructor, _childContextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, _childContextTypes, 'childContext'); + } + + Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, _childContextTypes); + }, + contextTypes: function contextTypes(Constructor, _contextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, _contextTypes, 'context'); + } + + Constructor.contextTypes = _assign({}, Constructor.contextTypes, _contextTypes); + }, + getDefaultProps: function getDefaultProps(Constructor, _getDefaultProps) { + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps); + } else { + Constructor.getDefaultProps = _getDefaultProps; + } + }, + propTypes: function propTypes(Constructor, _propTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, _propTypes, 'prop'); + } + + Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes); + }, + statics: function statics(Constructor, _statics) { + mixStaticSpecIntoComponent(Constructor, _statics); + }, + autobind: function autobind() {} + }; + + function validateTypeDef(Constructor, typeDef, location) { + for (var propName in typeDef) { + if (typeDef.hasOwnProperty(propName)) { + if (process.env.NODE_ENV !== 'production') { + warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName); + } + } + } + } + + function validateMethodOverride(isAlreadyDefined, name) { + var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; + + if (ReactClassMixin.hasOwnProperty(name)) { + _invariant(specPolicy === 'OVERRIDE_BASE', 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name); + } + + if (isAlreadyDefined) { + _invariant(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name); + } + } + + function mixSpecIntoComponent(Constructor, spec) { + if (!spec) { + if (process.env.NODE_ENV !== 'production') { + var typeofSpec = typeof spec; + var isMixinValid = typeofSpec === 'object' && spec !== null; + + if (process.env.NODE_ENV !== 'production') { + warning(isMixinValid, "%s: You're attempting to include a mixin that is either null " + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec); + } + } + + return; + } + + _invariant(typeof spec !== 'function', "ReactClass: You're attempting to " + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.'); + + _invariant(!isValidElement(spec), "ReactClass: You're attempting to " + 'use a component as a mixin. Instead, just use a regular object.'); + + var proto = Constructor.prototype; + var autoBindPairs = proto.__reactAutoBindPairs; + + if (spec.hasOwnProperty(MIXINS_KEY)) { + RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); + } + + for (var name in spec) { + if (!spec.hasOwnProperty(name)) { + continue; + } + + if (name === MIXINS_KEY) { + continue; + } + + var property = spec[name]; + var isAlreadyDefined = proto.hasOwnProperty(name); + validateMethodOverride(isAlreadyDefined, name); + + if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { + RESERVED_SPEC_KEYS[name](Constructor, property); + } else { + var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); + var isFunction = typeof property === 'function'; + var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; + + if (shouldAutoBind) { + autoBindPairs.push(name, property); + proto[name] = property; + } else { + if (isAlreadyDefined) { + var specPolicy = ReactClassInterface[name]; + + _invariant(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY'), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name); + + if (specPolicy === 'DEFINE_MANY_MERGED') { + proto[name] = createMergedResultFunction(proto[name], property); + } else if (specPolicy === 'DEFINE_MANY') { + proto[name] = createChainedFunction(proto[name], property); + } + } else { + proto[name] = property; + + if (process.env.NODE_ENV !== 'production') { + if (typeof property === 'function' && spec.displayName) { + proto[name].displayName = spec.displayName + '_' + name; + } + } + } + } + } + } + } + + function mixStaticSpecIntoComponent(Constructor, statics) { + if (!statics) { + return; + } + + for (var name in statics) { + var property = statics[name]; + + if (!statics.hasOwnProperty(name)) { + continue; + } + + var isReserved = name in RESERVED_SPEC_KEYS; + + _invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name); + + var isAlreadyDefined = name in Constructor; + + if (isAlreadyDefined) { + var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) ? ReactClassStaticInterface[name] : null; + + _invariant(specPolicy === 'DEFINE_MANY_MERGED', 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name); + + Constructor[name] = createMergedResultFunction(Constructor[name], property); + return; + } + + Constructor[name] = property; + } + } + + function mergeIntoWithNoDuplicateKeys(one, two) { + _invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'); + + for (var key in two) { + if (two.hasOwnProperty(key)) { + _invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key); + + one[key] = two[key]; + } + } + + return one; + } + + function createMergedResultFunction(one, two) { + return function mergedResult() { + var a = one.apply(this, arguments); + var b = two.apply(this, arguments); + + if (a == null) { + return b; + } else if (b == null) { + return a; + } + + var c = {}; + mergeIntoWithNoDuplicateKeys(c, a); + mergeIntoWithNoDuplicateKeys(c, b); + return c; + }; + } + + function createChainedFunction(one, two) { + return function chainedFunction() { + one.apply(this, arguments); + two.apply(this, arguments); + }; + } + + function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + + if (process.env.NODE_ENV !== 'production') { + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + var componentName = component.constructor.displayName; + var _bind = boundMethod.bind; + + boundMethod.bind = function (newThis) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (newThis !== component && newThis !== null) { + if (process.env.NODE_ENV !== 'production') { + warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName); + } + } else if (!args.length) { + if (process.env.NODE_ENV !== 'production') { + warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName); + } + + return boundMethod; + } + + var reboundMethod = _bind.apply(boundMethod, arguments); + + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + return reboundMethod; + }; + } + + return boundMethod; + } + + function bindAutoBindMethods(component) { + var pairs = component.__reactAutoBindPairs; + + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + var method = pairs[i + 1]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } + + var IsMountedPreMixin = { + componentDidMount: function componentDidMount() { + this.__isMounted = true; + } + }; + var IsMountedPostMixin = { + componentWillUnmount: function componentWillUnmount() { + this.__isMounted = false; + } + }; + var ReactClassMixin = { + replaceState: function replaceState(newState, callback) { + this.updater.enqueueReplaceState(this, newState, callback); + }, + isMounted: function isMounted() { + if (process.env.NODE_ENV !== 'production') { + warning(this.__didWarnIsMounted, '%s: isMounted is deprecated. Instead, make sure to clean up ' + 'subscriptions and pending requests in componentWillUnmount to ' + 'prevent memory leaks.', this.constructor && this.constructor.displayName || this.name || 'Component'); + this.__didWarnIsMounted = true; + } + + return !!this.__isMounted; + } + }; + + var ReactClassComponent = function ReactClassComponent() {}; + + _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); + + function createClass(spec) { + var Constructor = identity(function (props, context, updater) { + if (process.env.NODE_ENV !== 'production') { + warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory'); + } + + if (this.__reactAutoBindPairs.length) { + bindAutoBindMethods(this); + } + + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + this.state = null; + var initialState = this.getInitialState ? this.getInitialState() : null; + + if (process.env.NODE_ENV !== 'production') { + if (initialState === undefined && this.getInitialState._isMockFunction) { + initialState = null; + } + } + + _invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent'); + + this.state = initialState; + }); + Constructor.prototype = new ReactClassComponent(); + Constructor.prototype.constructor = Constructor; + Constructor.prototype.__reactAutoBindPairs = []; + injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); + mixSpecIntoComponent(Constructor, IsMountedPreMixin); + mixSpecIntoComponent(Constructor, spec); + mixSpecIntoComponent(Constructor, IsMountedPostMixin); + + if (Constructor.getDefaultProps) { + Constructor.defaultProps = Constructor.getDefaultProps(); + } + + if (process.env.NODE_ENV !== 'production') { + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps.isReactClassApproved = {}; + } + + if (Constructor.prototype.getInitialState) { + Constructor.prototype.getInitialState.isReactClassApproved = {}; + } + } + + _invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.'); + + if (process.env.NODE_ENV !== 'production') { + warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component'); + warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component'); + warning(!Constructor.prototype.UNSAFE_componentWillRecieveProps, '%s has a method called UNSAFE_componentWillRecieveProps(). ' + 'Did you mean UNSAFE_componentWillReceiveProps()?', spec.displayName || 'A component'); + } + + for (var methodName in ReactClassInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } + + return Constructor; + } + + return createClass; + } + + module.exports = factory; +},366,[3,5,4,8],"node_modules/create-react-class/factory.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var AnimatedImplementation = _$$_REQUIRE(_dependencyMap[0], 'AnimatedImplementation'); + + var ColorPropType = _$$_REQUIRE(_dependencyMap[1], 'ColorPropType'); + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[2], 'EdgeInsetsPropType'); + + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var PointPropType = _$$_REQUIRE(_dependencyMap[4], 'PointPropType'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[5], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[6], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[7], 'ReactNative'); + + var ScrollResponder = _$$_REQUIRE(_dependencyMap[8], 'ScrollResponder'); + + var ScrollViewStickyHeader = _$$_REQUIRE(_dependencyMap[9], 'ScrollViewStickyHeader'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[10], 'StyleSheet'); + + var StyleSheetPropType = _$$_REQUIRE(_dependencyMap[11], 'StyleSheetPropType'); + + var View = _$$_REQUIRE(_dependencyMap[12], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[13], 'ViewPropTypes'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[14], 'ViewStylePropTypes'); + + var InternalScrollViewType = _$$_REQUIRE(_dependencyMap[15], 'InternalScrollViewType'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[16], 'create-react-class'); + + var dismissKeyboard = _$$_REQUIRE(_dependencyMap[17], 'dismissKeyboard'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[18], 'flattenStyle'); + + var invariant = _$$_REQUIRE(_dependencyMap[19], 'fbjs/lib/invariant'); + + var processDecelerationRate = _$$_REQUIRE(_dependencyMap[20], 'processDecelerationRate'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[21], 'requireNativeComponent'); + + var warning = _$$_REQUIRE(_dependencyMap[22], 'fbjs/lib/warning'); + + var resolveAssetSource = _$$_REQUIRE(_dependencyMap[23], 'resolveAssetSource'); + + var AndroidScrollView; + var AndroidHorizontalScrollContentView; + var AndroidHorizontalScrollView; + var RCTScrollView; + var RCTScrollContentView; + + if (Platform.OS === 'android') { + AndroidScrollView = requireNativeComponent('RCTScrollView'); + AndroidHorizontalScrollView = requireNativeComponent('AndroidHorizontalScrollView'); + AndroidHorizontalScrollContentView = requireNativeComponent('AndroidHorizontalScrollContentView'); + } else if (Platform.OS === 'ios') { + RCTScrollView = requireNativeComponent('RCTScrollView'); + RCTScrollContentView = requireNativeComponent('RCTScrollContentView'); + } else { + RCTScrollView = requireNativeComponent('RCTScrollView'); + RCTScrollContentView = requireNativeComponent('RCTScrollContentView'); + } + + var ScrollView = createReactClass({ + displayName: 'ScrollView', + propTypes: _objectSpread({}, ViewPropTypes, { + automaticallyAdjustContentInsets: PropTypes.bool, + contentInset: EdgeInsetsPropType, + contentOffset: PointPropType, + bounces: PropTypes.bool, + bouncesZoom: PropTypes.bool, + alwaysBounceHorizontal: PropTypes.bool, + alwaysBounceVertical: PropTypes.bool, + centerContent: PropTypes.bool, + contentContainerStyle: StyleSheetPropType(ViewStylePropTypes), + decelerationRate: PropTypes.oneOfType([PropTypes.oneOf(['fast', 'normal']), PropTypes.number]), + horizontal: PropTypes.bool, + indicatorStyle: PropTypes.oneOf(['default', 'black', 'white']), + invertStickyHeaders: PropTypes.bool, + directionalLockEnabled: PropTypes.bool, + canCancelContentTouches: PropTypes.bool, + keyboardDismissMode: PropTypes.oneOf(['none', 'on-drag', 'interactive']), + keyboardShouldPersistTaps: PropTypes.oneOf(['always', 'never', 'handled', false, true]), + maintainVisibleContentPosition: PropTypes.shape({ + minIndexForVisible: PropTypes.number.isRequired, + autoscrollToTopThreshold: PropTypes.number + }), + maximumZoomScale: PropTypes.number, + minimumZoomScale: PropTypes.number, + nestedScrollEnabled: PropTypes.bool, + onMomentumScrollBegin: PropTypes.func, + onMomentumScrollEnd: PropTypes.func, + onScroll: PropTypes.func, + onScrollBeginDrag: PropTypes.func, + onScrollEndDrag: PropTypes.func, + onContentSizeChange: PropTypes.func, + pagingEnabled: PropTypes.bool, + pinchGestureEnabled: PropTypes.bool, + scrollEnabled: PropTypes.bool, + scrollEventThrottle: PropTypes.number, + scrollIndicatorInsets: EdgeInsetsPropType, + scrollsToTop: PropTypes.bool, + showsHorizontalScrollIndicator: PropTypes.bool, + showsVerticalScrollIndicator: PropTypes.bool, + stickyHeaderIndices: PropTypes.arrayOf(PropTypes.number), + snapToInterval: PropTypes.number, + snapToAlignment: PropTypes.oneOf(['start', 'center', 'end']), + removeClippedSubviews: PropTypes.bool, + zoomScale: PropTypes.number, + contentInsetAdjustmentBehavior: PropTypes.oneOf(['automatic', 'scrollableAxes', 'never', 'always']), + refreshControl: PropTypes.element, + endFillColor: ColorPropType, + scrollPerfTag: PropTypes.string, + overScrollMode: PropTypes.oneOf(['auto', 'always', 'never']), + DEPRECATED_sendUpdatedChildFrames: PropTypes.bool, + scrollBarThumbImage: PropTypes.oneOfType([PropTypes.shape({ + uri: PropTypes.string + }), PropTypes.number]) + }), + mixins: [ScrollResponder.Mixin], + _scrollAnimatedValue: new AnimatedImplementation.Value(0), + _scrollAnimatedValueAttachment: null, + _stickyHeaderRefs: new Map(), + _headerLayoutYs: new Map(), + getInitialState: function getInitialState() { + return _objectSpread({}, this.scrollResponderMixinGetInitialState(), { + layoutHeight: null + }); + }, + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + this._scrollAnimatedValue = new AnimatedImplementation.Value(this.props.contentOffset ? this.props.contentOffset.y : 0); + + this._scrollAnimatedValue.setOffset(this.props.contentInset ? this.props.contentInset.top : 0); + + this._stickyHeaderRefs = new Map(); + this._headerLayoutYs = new Map(); + }, + componentDidMount: function componentDidMount() { + this._updateAnimatedNodeAttachment(); + }, + componentDidUpdate: function componentDidUpdate() { + this._updateAnimatedNodeAttachment(); + }, + componentWillUnmount: function componentWillUnmount() { + if (this._scrollAnimatedValueAttachment) { + this._scrollAnimatedValueAttachment.detach(); + } + }, + setNativeProps: function setNativeProps(props) { + this._scrollViewRef && this._scrollViewRef.setNativeProps(props); + }, + getScrollResponder: function getScrollResponder() { + return this; + }, + getScrollableNode: function getScrollableNode() { + return ReactNative.findNodeHandle(this._scrollViewRef); + }, + getInnerViewNode: function getInnerViewNode() { + return ReactNative.findNodeHandle(this._innerViewRef); + }, + scrollTo: function scrollTo(y, x, animated) { + if (typeof y === 'number') { + console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, ' + 'animated: true})` instead.'); + } else { + var _ref = y || {}; + + x = _ref.x; + y = _ref.y; + animated = _ref.animated; + } + + this.getScrollResponder().scrollResponderScrollTo({ + x: x || 0, + y: y || 0, + animated: animated !== false + }); + }, + scrollToEnd: function scrollToEnd(options) { + var animated = (options && options.animated) !== false; + this.getScrollResponder().scrollResponderScrollToEnd({ + animated: animated + }); + }, + scrollWithoutAnimationTo: function scrollWithoutAnimationTo() { + var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + console.warn('`scrollWithoutAnimationTo` is deprecated. Use `scrollTo` instead'); + this.scrollTo({ + x: x, + y: y, + animated: false + }); + }, + flashScrollIndicators: function flashScrollIndicators() { + this.getScrollResponder().scrollResponderFlashScrollIndicators(); + }, + _getKeyForIndex: function _getKeyForIndex(index, childArray) { + var child = childArray[index]; + return child && child.key; + }, + _updateAnimatedNodeAttachment: function _updateAnimatedNodeAttachment() { + if (this._scrollAnimatedValueAttachment) { + this._scrollAnimatedValueAttachment.detach(); + } + + if (this.props.stickyHeaderIndices && this.props.stickyHeaderIndices.length > 0) { + this._scrollAnimatedValueAttachment = AnimatedImplementation.attachNativeEvent(this._scrollViewRef, 'onScroll', [{ + nativeEvent: { + contentOffset: { + y: this._scrollAnimatedValue + } + } + }]); + } + }, + _setStickyHeaderRef: function _setStickyHeaderRef(key, ref) { + if (ref) { + this._stickyHeaderRefs.set(key, ref); + } else { + this._stickyHeaderRefs.delete(key); + } + }, + _onStickyHeaderLayout: function _onStickyHeaderLayout(index, event, key) { + if (!this.props.stickyHeaderIndices) { + return; + } + + var childArray = React.Children.toArray(this.props.children); + + if (key !== this._getKeyForIndex(index, childArray)) { + return; + } + + var layoutY = event.nativeEvent.layout.y; + + this._headerLayoutYs.set(key, layoutY); + + var indexOfIndex = this.props.stickyHeaderIndices.indexOf(index); + var previousHeaderIndex = this.props.stickyHeaderIndices[indexOfIndex - 1]; + + if (previousHeaderIndex != null) { + var previousHeader = this._stickyHeaderRefs.get(this._getKeyForIndex(previousHeaderIndex, childArray)); + + previousHeader && previousHeader.setNextHeaderY(layoutY); + } + }, + _handleScroll: function _handleScroll(e) { + if (__DEV__) { + if (this.props.onScroll && this.props.scrollEventThrottle == null && Platform.OS === 'ios') { + console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + "cause frame drops, use a bigger number if you don't need as " + 'much precision.'); + } + } + + if (Platform.OS === 'android') { + if (this.props.keyboardDismissMode === 'on-drag' && this.state.isTouching) { + dismissKeyboard(); + } + } + + this.scrollResponderHandleScroll(e); + }, + _handleLayout: function _handleLayout(e) { + if (this.props.invertStickyHeaders) { + this.setState({ + layoutHeight: e.nativeEvent.layout.height + }); + } + + if (this.props.onLayout) { + this.props.onLayout(e); + } + }, + _handleContentOnLayout: function _handleContentOnLayout(e) { + var _e$nativeEvent$layout = e.nativeEvent.layout, + width = _e$nativeEvent$layout.width, + height = _e$nativeEvent$layout.height; + this.props.onContentSizeChange && this.props.onContentSizeChange(width, height); + }, + _scrollViewRef: null, + _setScrollViewRef: function _setScrollViewRef(ref) { + this._scrollViewRef = ref; + }, + _innerViewRef: null, + _setInnerViewRef: function _setInnerViewRef(ref) { + this._innerViewRef = ref; + }, + render: function render() { + var _this = this; + + var ScrollViewClass; + var ScrollContentContainerViewClass; + + if (Platform.OS === 'android') { + if (this.props.horizontal) { + ScrollViewClass = AndroidHorizontalScrollView; + ScrollContentContainerViewClass = AndroidHorizontalScrollContentView; + } else { + ScrollViewClass = AndroidScrollView; + ScrollContentContainerViewClass = View; + } + } else { + ScrollViewClass = RCTScrollView; + ScrollContentContainerViewClass = RCTScrollContentView; + warning(!this.props.snapToInterval || !this.props.pagingEnabled, 'snapToInterval is currently ignored when pagingEnabled is true.'); + } + + invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined'); + invariant(ScrollContentContainerViewClass !== undefined, 'ScrollContentContainerViewClass must not be undefined'); + var contentContainerStyle = [this.props.horizontal && styles.contentContainerHorizontal, this.props.contentContainerStyle]; + + if (__DEV__ && this.props.style) { + var _style = flattenStyle(this.props.style); + + var childLayoutProps = ['alignItems', 'justifyContent'].filter(function (prop) { + return _style && _style[prop] !== undefined; + }); + invariant(childLayoutProps.length === 0, 'ScrollView child layout (' + JSON.stringify(childLayoutProps) + ') must be applied through the contentContainerStyle prop.'); + } + + var contentSizeChangeProps = {}; + + if (this.props.onContentSizeChange) { + contentSizeChangeProps = { + onLayout: this._handleContentOnLayout + }; + } + + var stickyHeaderIndices = this.props.stickyHeaderIndices; + var hasStickyHeaders = stickyHeaderIndices && stickyHeaderIndices.length > 0; + var childArray = hasStickyHeaders && React.Children.toArray(this.props.children); + var children = hasStickyHeaders ? childArray.map(function (child, index) { + var indexOfIndex = child ? stickyHeaderIndices.indexOf(index) : -1; + + if (indexOfIndex > -1) { + var key = child.key; + var nextIndex = stickyHeaderIndices[indexOfIndex + 1]; + return React.createElement(ScrollViewStickyHeader, { + key: key, + ref: function ref(_ref2) { + return _this._setStickyHeaderRef(key, _ref2); + }, + nextHeaderLayoutY: _this._headerLayoutYs.get(_this._getKeyForIndex(nextIndex, childArray)), + onLayout: function onLayout(event) { + return _this._onStickyHeaderLayout(index, event, key); + }, + scrollAnimatedValue: _this._scrollAnimatedValue, + inverted: _this.props.invertStickyHeaders, + scrollViewHeight: _this.state.layoutHeight, + __source: { + fileName: _jsxFileName, + lineNumber: 933 + } + }, child); + } else { + return child; + } + }) : this.props.children; + var contentContainer = React.createElement(ScrollContentContainerViewClass, _extends({}, contentSizeChangeProps, { + ref: this._setInnerViewRef, + style: contentContainerStyle, + removeClippedSubviews: Platform.OS === 'android' && hasStickyHeaders ? false : this.props.removeClippedSubviews, + collapsable: false, + __source: { + fileName: _jsxFileName, + lineNumber: 955 + } + }), children); + var alwaysBounceHorizontal = this.props.alwaysBounceHorizontal !== undefined ? this.props.alwaysBounceHorizontal : this.props.horizontal; + var alwaysBounceVertical = this.props.alwaysBounceVertical !== undefined ? this.props.alwaysBounceVertical : !this.props.horizontal; + var DEPRECATED_sendUpdatedChildFrames = !!this.props.DEPRECATED_sendUpdatedChildFrames; + var baseStyle = this.props.horizontal ? styles.baseHorizontal : styles.baseVertical; + + var props = _objectSpread({}, this.props, { + alwaysBounceHorizontal: alwaysBounceHorizontal, + alwaysBounceVertical: alwaysBounceVertical, + style: [baseStyle, this.props.style], + onContentSizeChange: null, + onLayout: this._handleLayout, + onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin, + onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd, + onResponderGrant: this.scrollResponderHandleResponderGrant, + onResponderReject: this.scrollResponderHandleResponderReject, + onResponderRelease: this.scrollResponderHandleResponderRelease, + onResponderTerminate: this.scrollResponderHandleTerminate, + onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest, + onScroll: this._handleScroll, + onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag, + onScrollEndDrag: this.scrollResponderHandleScrollEndDrag, + onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder, + onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder, + onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture, + onTouchEnd: this.scrollResponderHandleTouchEnd, + onTouchMove: this.scrollResponderHandleTouchMove, + onTouchStart: this.scrollResponderHandleTouchStart, + onTouchCancel: this.scrollResponderHandleTouchCancel, + scrollBarThumbImage: resolveAssetSource(this.props.scrollBarThumbImage), + scrollEventThrottle: hasStickyHeaders ? 1 : this.props.scrollEventThrottle, + sendMomentumEvents: this.props.onMomentumScrollBegin || this.props.onMomentumScrollEnd ? true : false, + DEPRECATED_sendUpdatedChildFrames: DEPRECATED_sendUpdatedChildFrames + }); + + var decelerationRate = this.props.decelerationRate; + + if (decelerationRate) { + props.decelerationRate = processDecelerationRate(decelerationRate); + } + + var refreshControl = this.props.refreshControl; + + if (refreshControl) { + if (Platform.OS === 'ios') { + return React.createElement(ScrollViewClass, _extends({}, props, { + ref: this._setScrollViewRef, + __source: { + fileName: _jsxFileName, + lineNumber: 1043 + } + }), Platform.isTV ? null : refreshControl, contentContainer); + } else if (Platform.OS === 'android') { + return React.cloneElement(refreshControl, { + style: props.style + }, React.createElement(ScrollViewClass, _extends({}, props, { + style: baseStyle, + ref: this._setScrollViewRef, + __source: { + fileName: _jsxFileName, + lineNumber: 1058 + } + }), contentContainer)); + } + } + + return React.createElement(ScrollViewClass, _extends({}, props, { + ref: this._setScrollViewRef, + __source: { + fileName: _jsxFileName, + lineNumber: 1070 + } + }), contentContainer); + } + }); + var TypedScrollView = ScrollView; + var styles = StyleSheet.create({ + baseVertical: { + flexGrow: 1, + flexShrink: 1, + flexDirection: 'column', + overflow: 'scroll' + }, + baseHorizontal: { + flexGrow: 1, + flexShrink: 1, + flexDirection: 'row', + overflow: 'scroll' + }, + contentContainerHorizontal: { + flexDirection: 'row' + } + }); + module.exports = TypedScrollView; +},367,[333,207,254,176,368,212,200,261,369,375,201,255,227,376,220,380,365,373,226,166,381,229,183,235],"node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var PointPropType = PropTypes.shape({ + x: PropTypes.number, + y: PropTypes.number + }); + module.exports = PointPropType; +},368,[212],"node_modules/react-native/Libraries/StyleSheet/PointPropType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Dimensions = _$$_REQUIRE(_dependencyMap[0], 'Dimensions'); + + var FrameRateLogger = _$$_REQUIRE(_dependencyMap[1], 'FrameRateLogger'); + + var Keyboard = _$$_REQUIRE(_dependencyMap[2], 'Keyboard'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[3], 'ReactNative'); + + var Subscribable = _$$_REQUIRE(_dependencyMap[4], 'Subscribable'); + + var TextInputState = _$$_REQUIRE(_dependencyMap[5], 'TextInputState'); + + var UIManager = _$$_REQUIRE(_dependencyMap[6], 'UIManager'); + + var invariant = _$$_REQUIRE(_dependencyMap[7], 'fbjs/lib/invariant'); + + var nullthrows = _$$_REQUIRE(_dependencyMap[8], 'fbjs/lib/nullthrows'); + + var performanceNow = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/performanceNow'); + + var warning = _$$_REQUIRE(_dependencyMap[10], 'fbjs/lib/warning'); + + var _require = _$$_REQUIRE(_dependencyMap[11], 'NativeModules'), + ScrollViewManager = _require.ScrollViewManager; + + var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16; + var ScrollResponderMixin = { + mixins: [Subscribable.Mixin], + scrollResponderMixinGetInitialState: function scrollResponderMixinGetInitialState() { + return { + isTouching: false, + lastMomentumScrollBeginTime: 0, + lastMomentumScrollEndTime: 0, + observedScrollSinceBecomingResponder: false, + becameResponderWhileAnimating: false + }; + }, + scrollResponderHandleScrollShouldSetResponder: function scrollResponderHandleScrollShouldSetResponder() { + return this.state.isTouching; + }, + scrollResponderHandleStartShouldSetResponder: function scrollResponderHandleStartShouldSetResponder(e) { + var currentlyFocusedTextInput = TextInputState.currentlyFocusedField(); + + if (this.props.keyboardShouldPersistTaps === 'handled' && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput) { + return true; + } + + return false; + }, + scrollResponderHandleStartShouldSetResponderCapture: function scrollResponderHandleStartShouldSetResponderCapture(e) { + if (this.scrollResponderIsAnimating()) { + return true; + } + + var currentlyFocusedTextInput = TextInputState.currentlyFocusedField(); + var keyboardShouldPersistTaps = this.props.keyboardShouldPersistTaps; + var keyboardNeverPersistTaps = !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never'; + + if (keyboardNeverPersistTaps && currentlyFocusedTextInput != null && !TextInputState.isTextInput(e.target)) { + return true; + } + + return false; + }, + scrollResponderHandleResponderReject: function scrollResponderHandleResponderReject() {}, + scrollResponderHandleTerminationRequest: function scrollResponderHandleTerminationRequest() { + return !this.state.observedScrollSinceBecomingResponder; + }, + scrollResponderHandleTouchEnd: function scrollResponderHandleTouchEnd(e) { + var nativeEvent = e.nativeEvent; + this.state.isTouching = nativeEvent.touches.length !== 0; + this.props.onTouchEnd && this.props.onTouchEnd(e); + }, + scrollResponderHandleTouchCancel: function scrollResponderHandleTouchCancel(e) { + this.state.isTouching = false; + this.props.onTouchCancel && this.props.onTouchCancel(e); + }, + scrollResponderHandleResponderRelease: function scrollResponderHandleResponderRelease(e) { + this.props.onResponderRelease && this.props.onResponderRelease(e); + var currentlyFocusedTextInput = TextInputState.currentlyFocusedField(); + + if (this.props.keyboardShouldPersistTaps !== true && this.props.keyboardShouldPersistTaps !== 'always' && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.state.observedScrollSinceBecomingResponder && !this.state.becameResponderWhileAnimating) { + this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e); + TextInputState.blurTextInput(currentlyFocusedTextInput); + } + }, + scrollResponderHandleScroll: function scrollResponderHandleScroll(e) { + this.state.observedScrollSinceBecomingResponder = true; + this.props.onScroll && this.props.onScroll(e); + }, + scrollResponderHandleResponderGrant: function scrollResponderHandleResponderGrant(e) { + this.state.observedScrollSinceBecomingResponder = false; + this.props.onResponderGrant && this.props.onResponderGrant(e); + this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating(); + }, + scrollResponderHandleScrollBeginDrag: function scrollResponderHandleScrollBeginDrag(e) { + FrameRateLogger.beginScroll(); + this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e); + }, + scrollResponderHandleScrollEndDrag: function scrollResponderHandleScrollEndDrag(e) { + var velocity = e.nativeEvent.velocity; + + if (!this.scrollResponderIsAnimating() && (!velocity || velocity.x === 0 && velocity.y === 0)) { + FrameRateLogger.endScroll(); + } + + this.props.onScrollEndDrag && this.props.onScrollEndDrag(e); + }, + scrollResponderHandleMomentumScrollBegin: function scrollResponderHandleMomentumScrollBegin(e) { + this.state.lastMomentumScrollBeginTime = performanceNow(); + this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e); + }, + scrollResponderHandleMomentumScrollEnd: function scrollResponderHandleMomentumScrollEnd(e) { + FrameRateLogger.endScroll(); + this.state.lastMomentumScrollEndTime = performanceNow(); + this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e); + }, + scrollResponderHandleTouchStart: function scrollResponderHandleTouchStart(e) { + this.state.isTouching = true; + this.props.onTouchStart && this.props.onTouchStart(e); + }, + scrollResponderHandleTouchMove: function scrollResponderHandleTouchMove(e) { + this.props.onTouchMove && this.props.onTouchMove(e); + }, + scrollResponderIsAnimating: function scrollResponderIsAnimating() { + var now = performanceNow(); + var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime; + var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime; + return isAnimating; + }, + scrollResponderGetScrollableNode: function scrollResponderGetScrollableNode() { + return this.getScrollableNode ? this.getScrollableNode() : ReactNative.findNodeHandle(this); + }, + scrollResponderScrollTo: function scrollResponderScrollTo(x, y, animated) { + if (typeof x === 'number') { + console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.'); + } else { + var _ref = x || {}; + + x = _ref.x; + y = _ref.y; + animated = _ref.animated; + } + + UIManager.dispatchViewManagerCommand(nullthrows(this.scrollResponderGetScrollableNode()), UIManager.RCTScrollView.Commands.scrollTo, [x || 0, y || 0, animated !== false]); + }, + scrollResponderScrollToEnd: function scrollResponderScrollToEnd(options) { + var animated = (options && options.animated) !== false; + UIManager.dispatchViewManagerCommand(this.scrollResponderGetScrollableNode(), UIManager.RCTScrollView.Commands.scrollToEnd, [animated]); + }, + scrollResponderScrollWithoutAnimationTo: function scrollResponderScrollWithoutAnimationTo(offsetX, offsetY) { + console.warn('`scrollResponderScrollWithoutAnimationTo` is deprecated. Use `scrollResponderScrollTo` instead'); + this.scrollResponderScrollTo({ + x: offsetX, + y: offsetY, + animated: false + }); + }, + scrollResponderZoomTo: function scrollResponderZoomTo(rect, animated) { + invariant(ScrollViewManager && ScrollViewManager.zoomToRect, 'zoomToRect is not implemented'); + + if ('animated' in rect) { + animated = rect.animated; + delete rect.animated; + } else if (typeof animated !== 'undefined') { + console.warn('`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead'); + } + + ScrollViewManager.zoomToRect(this.scrollResponderGetScrollableNode(), rect, animated !== false); + }, + scrollResponderFlashScrollIndicators: function scrollResponderFlashScrollIndicators() { + UIManager.dispatchViewManagerCommand(this.scrollResponderGetScrollableNode(), UIManager.RCTScrollView.Commands.flashScrollIndicators, []); + }, + scrollResponderScrollNativeHandleToKeyboard: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) { + this.additionalScrollOffset = additionalOffset || 0; + this.preventNegativeScrollOffset = !!preventNegativeScrollOffset; + UIManager.measureLayout(nodeHandle, ReactNative.findNodeHandle(this.getInnerViewNode()), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard); + }, + scrollResponderInputMeasureAndScrollToKeyboard: function scrollResponderInputMeasureAndScrollToKeyboard(left, top, width, height) { + var keyboardScreenY = Dimensions.get('window').height; + + if (this.keyboardWillOpenTo) { + keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY; + } + + var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset; + + if (this.preventNegativeScrollOffset) { + scrollOffsetY = Math.max(0, scrollOffsetY); + } + + this.scrollResponderScrollTo({ + x: 0, + y: scrollOffsetY, + animated: true + }); + this.additionalOffset = 0; + this.preventNegativeScrollOffset = false; + }, + scrollResponderTextInputFocusError: function scrollResponderTextInputFocusError(e) { + console.error('Error measuring text field: ', e); + }, + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + var keyboardShouldPersistTaps = this.props.keyboardShouldPersistTaps; + warning(typeof keyboardShouldPersistTaps !== 'boolean', "'keyboardShouldPersistTaps={" + keyboardShouldPersistTaps + "}' is deprecated. " + ("Use 'keyboardShouldPersistTaps=\"" + (keyboardShouldPersistTaps ? 'always' : 'never') + "\"' instead")); + this.keyboardWillOpenTo = null; + this.additionalScrollOffset = 0; + this.addListenerOn(Keyboard, 'keyboardWillShow', this.scrollResponderKeyboardWillShow); + this.addListenerOn(Keyboard, 'keyboardWillHide', this.scrollResponderKeyboardWillHide); + this.addListenerOn(Keyboard, 'keyboardDidShow', this.scrollResponderKeyboardDidShow); + this.addListenerOn(Keyboard, 'keyboardDidHide', this.scrollResponderKeyboardDidHide); + }, + scrollResponderKeyboardWillShow: function scrollResponderKeyboardWillShow(e) { + this.keyboardWillOpenTo = e; + this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e); + }, + scrollResponderKeyboardWillHide: function scrollResponderKeyboardWillHide(e) { + this.keyboardWillOpenTo = null; + this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e); + }, + scrollResponderKeyboardDidShow: function scrollResponderKeyboardDidShow(e) { + if (e) { + this.keyboardWillOpenTo = e; + } + + this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e); + }, + scrollResponderKeyboardDidHide: function scrollResponderKeyboardDidHide(e) { + this.keyboardWillOpenTo = null; + this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e); + } + }; + var ScrollResponder = { + Mixin: ScrollResponderMixin + }; + module.exports = ScrollResponder; +},369,[203,370,371,261,374,325,218,166,329,177,183,168],"node_modules/react-native/Libraries/Components/ScrollResponder.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var FrameRateLogger = { + setGlobalOptions: function setGlobalOptions(options) { + if (options.debug !== undefined) { + invariant(NativeModules.FrameRateLogger, 'Trying to debug FrameRateLogger without the native module!'); + } + + if (NativeModules.FrameRateLogger) { + var optionsClone = { + debug: !!options.debug, + reportStackTraces: !!options.reportStackTraces + }; + Object.freeze(optionsClone); + Object.seal(optionsClone); + NativeModules.FrameRateLogger.setGlobalOptions(optionsClone); + } + }, + setContext: function setContext(context) { + NativeModules.FrameRateLogger && NativeModules.FrameRateLogger.setContext(context); + }, + beginScroll: function beginScroll() { + NativeModules.FrameRateLogger && NativeModules.FrameRateLogger.beginScroll(); + }, + endScroll: function endScroll() { + NativeModules.FrameRateLogger && NativeModules.FrameRateLogger.endScroll(); + } + }; + module.exports = FrameRateLogger; +},370,[168,166],"node_modules/react-native/Libraries/Interaction/FrameRateLogger.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var LayoutAnimation = _$$_REQUIRE(_dependencyMap[0], 'LayoutAnimation'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[2], 'NativeEventEmitter'); + + var KeyboardObserver = _$$_REQUIRE(_dependencyMap[3], 'NativeModules').KeyboardObserver; + + var dismissKeyboard = _$$_REQUIRE(_dependencyMap[4], 'dismissKeyboard'); + + var KeyboardEventEmitter = new NativeEventEmitter(KeyboardObserver); + var Keyboard = { + addListener: function addListener(eventName, callback) { + invariant(false, 'Dummy method used for documentation'); + }, + removeListener: function removeListener(eventName, callback) { + invariant(false, 'Dummy method used for documentation'); + }, + removeAllListeners: function removeAllListeners(eventName) { + invariant(false, 'Dummy method used for documentation'); + }, + dismiss: function dismiss() { + invariant(false, 'Dummy method used for documentation'); + }, + scheduleLayoutAnimation: function scheduleLayoutAnimation(event) { + invariant(false, 'Dummy method used for documentation'); + } + }; + Keyboard = KeyboardEventEmitter; + Keyboard.dismiss = dismissKeyboard; + + Keyboard.scheduleLayoutAnimation = function (event) { + var duration = event.duration, + easing = event.easing; + + if (duration) { + LayoutAnimation.configureNext({ + duration: duration, + update: { + duration: duration, + type: easing && LayoutAnimation.Types[easing] || 'keyboard' + } + }); + } + }; + + module.exports = Keyboard; +},371,[372,166,286,168,373],"node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var UIManager = _$$_REQUIRE(_dependencyMap[1], 'UIManager'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/keyMirror'); + + var checkPropTypes = PropTypes.checkPropTypes; + var TypesEnum = { + spring: true, + linear: true, + easeInEaseOut: true, + easeIn: true, + easeOut: true, + keyboard: true + }; + var Types = keyMirror(TypesEnum); + var PropertiesEnum = { + opacity: true, + scaleX: true, + scaleY: true, + scaleXY: true + }; + var Properties = keyMirror(PropertiesEnum); + var animType = PropTypes.shape({ + duration: PropTypes.number, + delay: PropTypes.number, + springDamping: PropTypes.number, + initialVelocity: PropTypes.number, + type: PropTypes.oneOf(Object.keys(Types)).isRequired, + property: PropTypes.oneOf(Object.keys(Properties)) + }); + var configType = PropTypes.shape({ + duration: PropTypes.number.isRequired, + create: animType, + update: animType, + delete: animType + }); + + function checkConfig(config, location, name) { + checkPropTypes({ + config: configType + }, { + config: config + }, location, name); + } + + function configureNext(config, onAnimationDidEnd) { + if (__DEV__) { + checkConfig(config, 'config', 'LayoutAnimation.configureNext'); + } + + UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd || function () {}, function () {}); + } + + function create(duration, type, creationProp) { + return { + duration: duration, + create: { + type: type, + property: creationProp + }, + update: { + type: type + }, + delete: { + type: type, + property: creationProp + } + }; + } + + var Presets = { + easeInEaseOut: create(300, Types.easeInEaseOut, Properties.opacity), + linear: create(500, Types.linear, Properties.opacity), + spring: { + duration: 700, + create: { + type: Types.linear, + property: Properties.opacity + }, + update: { + type: Types.spring, + springDamping: 0.4 + }, + delete: { + type: Types.linear, + property: Properties.opacity + } + } + }; + var LayoutAnimation = { + configureNext: configureNext, + create: create, + Types: Types, + Properties: Properties, + checkConfig: checkConfig, + Presets: Presets, + easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut), + linear: configureNext.bind(null, Presets.linear), + spring: configureNext.bind(null, Presets.spring) + }; + module.exports = LayoutAnimation; +},372,[212,218,210],"node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var TextInputState = _$$_REQUIRE(_dependencyMap[0], 'TextInputState'); + + function dismissKeyboard() { + TextInputState.blurTextInput(TextInputState.currentlyFocusedField()); + } + + module.exports = dismissKeyboard; +},373,[325],"node_modules/react-native/Libraries/Utilities/dismissKeyboard.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Subscribable = {}; + Subscribable.Mixin = { + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + this._subscribableSubscriptions = []; + }, + componentWillUnmount: function componentWillUnmount() { + this._subscribableSubscriptions && this._subscribableSubscriptions.forEach(function (subscription) { + return subscription.remove(); + }); + this._subscribableSubscriptions = null; + }, + addListenerOn: function addListenerOn(eventEmitter, eventType, listener, context) { + this._subscribableSubscriptions.push(eventEmitter.addListener(eventType, listener, context)); + } + }; + module.exports = Subscribable; +},374,[],"node_modules/react-native/Libraries/Components/Subscribable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + ScrollViewStickyHeader: { + displayName: "ScrollViewStickyHeader" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var AnimatedImplementation = _$$_REQUIRE(_dependencyMap[2], 'AnimatedImplementation'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var AnimatedView = AnimatedImplementation.createAnimatedComponent(View); + + var ScrollViewStickyHeader = function (_React$Component) { + function ScrollViewStickyHeader() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, ScrollViewStickyHeader); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ScrollViewStickyHeader)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + measured: false, + layoutY: 0, + layoutHeight: 0, + nextHeaderLayoutY: _this.props.nextHeaderLayoutY + }, _this._onLayout = function (event) { + _this.setState({ + measured: true, + layoutY: event.nativeEvent.layout.y, + layoutHeight: event.nativeEvent.layout.height + }); + + _this.props.onLayout(event); + + var child = React.Children.only(_this.props.children); + + if (child.props.onLayout) { + child.props.onLayout(event); + } + }, _temp)); + } + + _createClass(ScrollViewStickyHeader, [{ + key: "setNextHeaderY", + value: function setNextHeaderY(y) { + this.setState({ + nextHeaderLayoutY: y + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + inverted = _this$props.inverted, + scrollViewHeight = _this$props.scrollViewHeight; + var _this$state = this.state, + measured = _this$state.measured, + layoutHeight = _this$state.layoutHeight, + layoutY = _this$state.layoutY, + nextHeaderLayoutY = _this$state.nextHeaderLayoutY; + var inputRange = [-1, 0]; + var outputRange = [0, 0]; + + if (measured) { + if (inverted) { + if (scrollViewHeight != null) { + var stickStartPoint = layoutY + layoutHeight - scrollViewHeight; + + if (stickStartPoint > 0) { + inputRange.push(stickStartPoint); + outputRange.push(0); + inputRange.push(stickStartPoint + 1); + outputRange.push(1); + var collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight - scrollViewHeight; + + if (collisionPoint > stickStartPoint) { + inputRange.push(collisionPoint, collisionPoint + 1); + outputRange.push(collisionPoint - stickStartPoint, collisionPoint - stickStartPoint); + } + } + } + } else { + inputRange.push(layoutY); + outputRange.push(0); + + var _collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight; + + if (_collisionPoint >= layoutY) { + inputRange.push(_collisionPoint, _collisionPoint + 1); + outputRange.push(_collisionPoint - layoutY, _collisionPoint - layoutY); + } else { + inputRange.push(layoutY + 1); + outputRange.push(1); + } + } + } + + var translateY = this.props.scrollAnimatedValue.interpolate({ + inputRange: inputRange, + outputRange: outputRange + }); + var child = React.Children.only(this.props.children); + return React.createElement(AnimatedView, { + collapsable: false, + onLayout: this._onLayout, + style: [child.props.style, styles.header, { + transform: [{ + translateY: translateY + }] + }], + __source: { + fileName: _jsxFileName, + lineNumber: 141 + } + }, React.cloneElement(child, { + style: styles.fill, + onLayout: undefined + })); + } + }]); + + _inherits(ScrollViewStickyHeader, _React$Component); + + return ScrollViewStickyHeader; + }(React.Component); + + ScrollViewStickyHeader = _wrapComponent("ScrollViewStickyHeader")(ScrollViewStickyHeader); + var styles = StyleSheet.create({ + header: { + zIndex: 10 + }, + fill: { + flex: 1 + } + }); + module.exports = ScrollViewStickyHeader; +},375,[1,11,333,200,201,227],"node_modules/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[1], 'EdgeInsetsPropType'); + + var PlatformViewPropTypes = _$$_REQUIRE(_dependencyMap[2], 'PlatformViewPropTypes'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var StyleSheetPropType = _$$_REQUIRE(_dependencyMap[4], 'StyleSheetPropType'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[5], 'ViewStylePropTypes'); + + var _require = _$$_REQUIRE(_dependencyMap[6], 'ViewAccessibility'), + AccessibilityComponentTypes = _require.AccessibilityComponentTypes, + AccessibilityTraits = _require.AccessibilityTraits; + + var stylePropType = StyleSheetPropType(ViewStylePropTypes); + module.exports = _objectSpread({ + accessible: PropTypes.bool, + accessibilityLabel: PropTypes.node, + accessibilityActions: PropTypes.arrayOf(PropTypes.string), + accessibilityComponentType: PropTypes.oneOf(AccessibilityComponentTypes), + accessibilityLiveRegion: PropTypes.oneOf(['none', 'polite', 'assertive']), + importantForAccessibility: PropTypes.oneOf(['auto', 'yes', 'no', 'no-hide-descendants']), + accessibilityTraits: PropTypes.oneOfType([PropTypes.oneOf(AccessibilityTraits), PropTypes.arrayOf(PropTypes.oneOf(AccessibilityTraits))]), + accessibilityViewIsModal: PropTypes.bool, + accessibilityElementsHidden: PropTypes.bool, + onAccessibilityAction: PropTypes.func, + onAccessibilityTap: PropTypes.func, + onMagicTap: PropTypes.func, + testID: PropTypes.string, + nativeID: PropTypes.string, + onResponderGrant: PropTypes.func, + onResponderMove: PropTypes.func, + onResponderReject: PropTypes.func, + onResponderRelease: PropTypes.func, + onResponderTerminate: PropTypes.func, + onResponderTerminationRequest: PropTypes.func, + onStartShouldSetResponder: PropTypes.func, + onStartShouldSetResponderCapture: PropTypes.func, + onMoveShouldSetResponder: PropTypes.func, + onMoveShouldSetResponderCapture: PropTypes.func, + hitSlop: EdgeInsetsPropType, + onLayout: PropTypes.func, + pointerEvents: PropTypes.oneOf(['box-none', 'none', 'box-only', 'auto']), + style: stylePropType, + removeClippedSubviews: PropTypes.bool, + renderToHardwareTextureAndroid: PropTypes.bool, + shouldRasterizeIOS: PropTypes.bool, + collapsable: PropTypes.bool, + needsOffscreenAlphaCompositing: PropTypes.bool + }, PlatformViewPropTypes); +},376,[200,254,377,212,255,220,379],"node_modules/react-native/Libraries/Components/View/ViewPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var TVViewPropTypes = {}; + + if (Platform.isTV || Platform.OS === 'android') { + TVViewPropTypes = _$$_REQUIRE(_dependencyMap[1], 'TVViewPropTypes'); + } + + module.exports = TVViewPropTypes; +},377,[176,378],"node_modules/react-native/Libraries/Components/View/PlatformViewPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var TVViewPropTypes = { + isTVSelectable: PropTypes.bool, + hasTVPreferredFocus: PropTypes.bool, + tvParallaxProperties: PropTypes.object, + tvParallaxShiftDistanceX: PropTypes.number, + tvParallaxShiftDistanceY: PropTypes.number, + tvParallaxTiltAngle: PropTypes.number, + tvParallaxMagnification: PropTypes.number + }; + module.exports = TVViewPropTypes; +},378,[212],"node_modules/react-native/Libraries/Components/AppleTV/TVViewPropTypes.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = { + AccessibilityTraits: ['none', 'button', 'link', 'header', 'search', 'image', 'selected', 'plays', 'key', 'text', 'summary', 'disabled', 'frequentUpdates', 'startsMedia', 'adjustable', 'allowsDirectInteraction', 'pageTurn'], + AccessibilityComponentTypes: ['none', 'button', 'radiobutton_checked', 'radiobutton_unchecked'] + }; +},379,[],"node_modules/react-native/Libraries/Components/View/ViewAccessibility.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var ReactNative = _$$_REQUIRE(_dependencyMap[0], 'ReactNative'); + + var InternalScrollViewType = function (_ReactNative$NativeCo) { + "use strict"; + + function InternalScrollViewType() { + _classCallCheck(this, InternalScrollViewType); + + return _possibleConstructorReturn(this, _getPrototypeOf(InternalScrollViewType).apply(this, arguments)); + } + + _createClass(InternalScrollViewType, [{ + key: "scrollTo", + value: function scrollTo(y, x, animated) {} + }, { + key: "flashScrollIndicators", + value: function flashScrollIndicators() {} + }, { + key: "scrollToEnd", + value: function scrollToEnd(options) {} + }, { + key: "scrollWithoutAnimationTo", + value: function scrollWithoutAnimationTo() { + var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + } + }, { + key: "getScrollResponder", + value: function getScrollResponder() {} + }, { + key: "getScrollableNode", + value: function getScrollableNode() {} + }, { + key: "getInnerViewNode", + value: function getInnerViewNode() {} + }, { + key: "scrollResponderScrollNativeHandleToKeyboard", + value: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) {} + }, { + key: "scrollResponderScrollTo", + value: function scrollResponderScrollTo(x, y, animated) {} + }]); + + _inherits(InternalScrollViewType, _ReactNative$NativeCo); + + return InternalScrollViewType; + }(ReactNative.NativeComponent); + + module.exports = InternalScrollViewType; +},380,[261],"node_modules/react-native/Libraries/Components/ScrollView/InternalScrollViewType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function processDecelerationRate(decelerationRate) { + if (decelerationRate === 'normal') { + decelerationRate = 0.998; + } else if (decelerationRate === 'fast') { + decelerationRate = 0.99; + } + + return decelerationRate; + } + + module.exports = processDecelerationRate; +},381,[],"node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var GLOBAL = typeof window === 'undefined' ? global : window; + + var setter = function setter(_setter, _clearer, array) { + return function (callback, delta) { + var id = _setter(function () { + _clearer.call(this, id); + + callback.apply(this, arguments); + }.bind(this), delta); + + if (!this[array]) { + this[array] = [id]; + } else { + this[array].push(id); + } + + return id; + }; + }; + + var clearer = function clearer(_clearer, array) { + return function (id) { + if (this[array]) { + var index = this[array].indexOf(id); + + if (index !== -1) { + this[array].splice(index, 1); + } + } + + _clearer(id); + }; + }; + + var _timeouts = 'TimerMixin_timeouts'; + + var _clearTimeout = clearer(GLOBAL.clearTimeout, _timeouts); + + var _setTimeout = setter(GLOBAL.setTimeout, _clearTimeout, _timeouts); + + var _intervals = 'TimerMixin_intervals'; + + var _clearInterval = clearer(GLOBAL.clearInterval, _intervals); + + var _setInterval = setter(GLOBAL.setInterval, function () {}, _intervals); + + var _immediates = 'TimerMixin_immediates'; + + var _clearImmediate = clearer(GLOBAL.clearImmediate, _immediates); + + var _setImmediate = setter(GLOBAL.setImmediate, _clearImmediate, _immediates); + + var _rafs = 'TimerMixin_rafs'; + + var _cancelAnimationFrame = clearer(GLOBAL.cancelAnimationFrame, _rafs); + + var _requestAnimationFrame = setter(GLOBAL.requestAnimationFrame, _cancelAnimationFrame, _rafs); + + var TimerMixin = { + componentWillUnmount: function componentWillUnmount() { + this[_timeouts] && this[_timeouts].forEach(function (id) { + GLOBAL.clearTimeout(id); + }); + this[_timeouts] = null; + this[_intervals] && this[_intervals].forEach(function (id) { + GLOBAL.clearInterval(id); + }); + this[_intervals] = null; + this[_immediates] && this[_immediates].forEach(function (id) { + GLOBAL.clearImmediate(id); + }); + this[_immediates] = null; + this[_rafs] && this[_rafs].forEach(function (id) { + GLOBAL.cancelAnimationFrame(id); + }); + this[_rafs] = null; + }, + setTimeout: _setTimeout, + clearTimeout: _clearTimeout, + setInterval: _setInterval, + clearInterval: _clearInterval, + setImmediate: _setImmediate, + clearImmediate: _clearImmediate, + requestAnimationFrame: _requestAnimationFrame, + cancelAnimationFrame: _cancelAnimationFrame + }; + module.exports = TimerMixin; +},382,[],"node_modules/react-timer-mixin/TimerMixin.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[0], 'EdgeInsetsPropType'); + + var React = _$$_REQUIRE(_dependencyMap[1], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var TimerMixin = _$$_REQUIRE(_dependencyMap[3], 'react-timer-mixin'); + + var Touchable = _$$_REQUIRE(_dependencyMap[4], 'Touchable'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[5], 'create-react-class'); + + var ensurePositiveDelayProps = _$$_REQUIRE(_dependencyMap[6], 'ensurePositiveDelayProps'); + + var warning = _$$_REQUIRE(_dependencyMap[7], 'fbjs/lib/warning'); + + var _require = _$$_REQUIRE(_dependencyMap[8], 'ViewAccessibility'), + AccessibilityComponentTypes = _require.AccessibilityComponentTypes, + AccessibilityTraits = _require.AccessibilityTraits; + + var PRESS_RETENTION_OFFSET = { + top: 20, + left: 20, + right: 20, + bottom: 30 + }; + var TouchableWithoutFeedback = createReactClass({ + displayName: 'TouchableWithoutFeedback', + mixins: [TimerMixin, Touchable.Mixin], + propTypes: { + accessible: PropTypes.bool, + accessibilityLabel: PropTypes.node, + accessibilityComponentType: PropTypes.oneOf(AccessibilityComponentTypes), + accessibilityTraits: PropTypes.oneOfType([PropTypes.oneOf(AccessibilityTraits), PropTypes.arrayOf(PropTypes.oneOf(AccessibilityTraits))]), + disabled: PropTypes.bool, + onPress: PropTypes.func, + onPressIn: PropTypes.func, + onPressOut: PropTypes.func, + onLayout: PropTypes.func, + onLongPress: PropTypes.func, + nativeID: PropTypes.string, + testID: PropTypes.string, + delayPressIn: PropTypes.number, + delayPressOut: PropTypes.number, + delayLongPress: PropTypes.number, + pressRetentionOffset: EdgeInsetsPropType, + hitSlop: EdgeInsetsPropType + }, + getInitialState: function getInitialState() { + return this.touchableGetInitialState(); + }, + componentDidMount: function componentDidMount() { + ensurePositiveDelayProps(this.props); + }, + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + ensurePositiveDelayProps(nextProps); + }, + touchableHandlePress: function touchableHandlePress(e) { + this.props.onPress && this.props.onPress(e); + }, + touchableHandleActivePressIn: function touchableHandleActivePressIn(e) { + this.props.onPressIn && this.props.onPressIn(e); + }, + touchableHandleActivePressOut: function touchableHandleActivePressOut(e) { + this.props.onPressOut && this.props.onPressOut(e); + }, + touchableHandleLongPress: function touchableHandleLongPress(e) { + this.props.onLongPress && this.props.onLongPress(e); + }, + touchableGetPressRectOffset: function touchableGetPressRectOffset() { + return this.props.pressRetentionOffset || PRESS_RETENTION_OFFSET; + }, + touchableGetHitSlop: function touchableGetHitSlop() { + return this.props.hitSlop; + }, + touchableGetHighlightDelayMS: function touchableGetHighlightDelayMS() { + return this.props.delayPressIn || 0; + }, + touchableGetLongPressDelayMS: function touchableGetLongPressDelayMS() { + return this.props.delayLongPress === 0 ? 0 : this.props.delayLongPress || 500; + }, + touchableGetPressOutDelayMS: function touchableGetPressOutDelayMS() { + return this.props.delayPressOut || 0; + }, + render: function render() { + var child = React.Children.only(this.props.children); + var children = child.props.children; + warning(!child.type || child.type.displayName !== 'Text', 'TouchableWithoutFeedback does not work well with Text children. Wrap children in a View instead. See ' + (child._owner && child._owner.getName && child._owner.getName() || '')); + + if (Touchable.TOUCH_TARGET_DEBUG && child.type && child.type.displayName === 'View') { + children = React.Children.toArray(children); + children.push(Touchable.renderDebugView({ + color: 'red', + hitSlop: this.props.hitSlop + })); + } + + var style = Touchable.TOUCH_TARGET_DEBUG && child.type && child.type.displayName === 'Text' ? [child.props.style, { + color: 'red' + }] : child.props.style; + return React.cloneElement(child, { + accessible: this.props.accessible !== false, + accessibilityLabel: this.props.accessibilityLabel, + accessibilityComponentType: this.props.accessibilityComponentType, + accessibilityTraits: this.props.accessibilityTraits, + nativeID: this.props.nativeID, + testID: this.props.testID, + onLayout: this.props.onLayout, + hitSlop: this.props.hitSlop, + onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder, + onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest, + onResponderGrant: this.touchableHandleResponderGrant, + onResponderMove: this.touchableHandleResponderMove, + onResponderRelease: this.touchableHandleResponderRelease, + onResponderTerminate: this.touchableHandleResponderTerminate, + style: style, + children: children + }); + } + }); + module.exports = TouchableWithoutFeedback; +},383,[254,200,212,382,257,365,384,183,379],"node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var ensurePositiveDelayProps = function ensurePositiveDelayProps(props) { + invariant(!(props.delayPressIn < 0 || props.delayPressOut < 0 || props.delayLongPress < 0), 'Touchable components cannot have negative delay properties'); + }; + + module.exports = ensurePositiveDelayProps; +},384,[166],"node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},385,[240],"node_modules/react-native/Libraries/Components/CheckBox/CheckBox.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + DatePickerIOS: { + displayName: "DatePickerIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[6], 'requireNativeComponent'); + + var RCTDatePickerIOS = requireNativeComponent('RCTDatePicker'); + + var DatePickerIOS = function (_React$Component) { + function DatePickerIOS() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, DatePickerIOS); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DatePickerIOS)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._picker = null, _this._onChange = function (event) { + var nativeTimeStamp = event.nativeEvent.timestamp; + _this.props.onDateChange && _this.props.onDateChange(new Date(nativeTimeStamp)); + _this.props.onChange && _this.props.onChange(event); + }, _temp)); + } + + _createClass(DatePickerIOS, [{ + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.props.date) { + var propsTimeStamp = this.props.date.getTime(); + + if (this._picker) { + this._picker.setNativeProps({ + date: propsTimeStamp + }); + } + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var props = this.props; + invariant(props.date || props.initialDate, 'A selected date or initial date should be specified.'); + return React.createElement(View, { + style: props.style, + __source: { + fileName: _jsxFileName, + lineNumber: 144 + } + }, React.createElement(RCTDatePickerIOS, { + ref: function ref(picker) { + _this2._picker = picker; + }, + style: styles.datePickerIOS, + date: props.date ? props.date.getTime() : props.initialDate ? props.initialDate.getTime() : undefined, + locale: props.locale ? props.locale : undefined, + maximumDate: props.maximumDate ? props.maximumDate.getTime() : undefined, + minimumDate: props.minimumDate ? props.minimumDate.getTime() : undefined, + mode: props.mode, + minuteInterval: props.minuteInterval, + timeZoneOffsetInMinutes: props.timeZoneOffsetInMinutes, + onChange: this._onChange, + onStartShouldSetResponder: function onStartShouldSetResponder() { + return true; + }, + onResponderTerminationRequest: function onResponderTerminationRequest() { + return false; + }, + __source: { + fileName: _jsxFileName, + lineNumber: 145 + } + })); + } + }]); + + _inherits(DatePickerIOS, _React$Component); + + return DatePickerIOS; + }(React.Component); + + DatePickerIOS.DefaultProps = { + mode: 'datetime' + }; + DatePickerIOS = _wrapComponent("DatePickerIOS")(DatePickerIOS); + var styles = StyleSheet.create({ + datePickerIOS: { + height: 216 + } + }); + module.exports = DatePickerIOS; +},386,[1,11,200,166,201,227,229],"node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},387,[240],"node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/FlatList.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _components = { + FlatList: { + displayName: "FlatList" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/FlatList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var MetroListView = _$$_REQUIRE(_dependencyMap[2], 'MetroListView'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var View = _$$_REQUIRE(_dependencyMap[4], 'View'); + + var VirtualizedList = _$$_REQUIRE(_dependencyMap[5], 'VirtualizedList'); + + var ListView = _$$_REQUIRE(_dependencyMap[6], 'ListView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[7], 'StyleSheet'); + + var invariant = _$$_REQUIRE(_dependencyMap[8], 'fbjs/lib/invariant'); + + var defaultProps = _objectSpread({}, VirtualizedList.defaultProps, { + numColumns: 1 + }); + + var FlatList = function (_React$PureComponent) { + _createClass(FlatList, [{ + key: "scrollToEnd", + value: function scrollToEnd(params) { + if (this._listRef) { + this._listRef.scrollToEnd(params); + } + } + }, { + key: "scrollToIndex", + value: function scrollToIndex(params) { + if (this._listRef) { + this._listRef.scrollToIndex(params); + } + } + }, { + key: "scrollToItem", + value: function scrollToItem(params) { + if (this._listRef) { + this._listRef.scrollToItem(params); + } + } + }, { + key: "scrollToOffset", + value: function scrollToOffset(params) { + if (this._listRef) { + this._listRef.scrollToOffset(params); + } + } + }, { + key: "recordInteraction", + value: function recordInteraction() { + if (this._listRef) { + this._listRef.recordInteraction(); + } + } + }, { + key: "flashScrollIndicators", + value: function flashScrollIndicators() { + if (this._listRef) { + this._listRef.flashScrollIndicators(); + } + } + }, { + key: "getScrollResponder", + value: function getScrollResponder() { + if (this._listRef) { + return this._listRef.getScrollResponder(); + } + } + }, { + key: "getScrollableNode", + value: function getScrollableNode() { + if (this._listRef) { + return this._listRef.getScrollableNode(); + } + } + }, { + key: "setNativeProps", + value: function setNativeProps(props) { + if (this._listRef) { + this._listRef.setNativeProps(props); + } + } + }]); + + function FlatList(props) { + var _this; + + _classCallCheck(this, FlatList); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(FlatList).call(this, props)); + _this._hasWarnedLegacy = false; + _this._virtualizedListPairs = []; + + _this._captureRef = function (ref) { + _this._listRef = ref; + }; + + _this._getItem = function (data, index) { + var numColumns = _this.props.numColumns; + + if (numColumns > 1) { + var ret = []; + + for (var kk = 0; kk < numColumns; kk++) { + var _item = data[index * numColumns + kk]; + + if (_item != null) { + ret.push(_item); + } + } + + return ret; + } else { + return data[index]; + } + }; + + _this._getItemCount = function (data) { + return data ? Math.ceil(data.length / _this.props.numColumns) : 0; + }; + + _this._keyExtractor = function (items, index) { + var _this$props = _this.props, + keyExtractor = _this$props.keyExtractor, + numColumns = _this$props.numColumns; + + if (numColumns > 1) { + invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns); + return items.map(function (it, kk) { + return keyExtractor(it, index * numColumns + kk); + }).join(':'); + } else { + return keyExtractor(items, index); + } + }; + + _this._renderItem = function (info) { + var _this$props2 = _this.props, + renderItem = _this$props2.renderItem, + numColumns = _this$props2.numColumns, + columnWrapperStyle = _this$props2.columnWrapperStyle; + + if (numColumns > 1) { + var _item2 = info.item, + _index = info.index; + invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1'); + return React.createElement(View, { + style: StyleSheet.compose(styles.row, columnWrapperStyle), + __source: { + fileName: _jsxFileName, + lineNumber: 617 + } + }, _item2.map(function (it, kk) { + var element = renderItem({ + item: it, + index: _index * numColumns + kk, + separators: info.separators + }); + return element && React.cloneElement(element, { + key: kk + }); + })); + } else { + return renderItem(info); + } + }; + + _this._checkProps(_this.props); + + if (_this.props.viewabilityConfigCallbackPairs) { + _this._virtualizedListPairs = _this.props.viewabilityConfigCallbackPairs.map(function (pair) { + return { + viewabilityConfig: pair.viewabilityConfig, + onViewableItemsChanged: _this._createOnViewableItemsChanged(pair.onViewableItemsChanged) + }; + }); + } else if (_this.props.onViewableItemsChanged) { + _this._virtualizedListPairs.push({ + viewabilityConfig: _this.props.viewabilityConfig, + onViewableItemsChanged: _this._createOnViewableItemsChanged(_this.props.onViewableItemsChanged) + }); + } + + return _this; + } + + _createClass(FlatList, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.'); + invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported'); + invariant(prevProps.viewabilityConfig === this.props.viewabilityConfig, 'Changing viewabilityConfig on the fly is not supported'); + invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported'); + + this._checkProps(this.props); + } + }, { + key: "_checkProps", + value: function _checkProps(props) { + var getItem = props.getItem, + getItemCount = props.getItemCount, + horizontal = props.horizontal, + legacyImplementation = props.legacyImplementation, + numColumns = props.numColumns, + columnWrapperStyle = props.columnWrapperStyle, + onViewableItemsChanged = props.onViewableItemsChanged, + viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs; + invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.'); + + if (numColumns > 1) { + invariant(!horizontal, 'numColumns does not support horizontal.'); + } else { + invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists'); + } + + if (legacyImplementation) { + invariant(numColumns === 1, 'Legacy list does not support multiple columns.'); + + if (!this._hasWarnedLegacy) { + console.warn('FlatList: Using legacyImplementation - some features not supported and performance ' + 'may suffer'); + this._hasWarnedLegacy = true; + } + } + + invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.'); + } + }, { + key: "_pushMultiColumnViewable", + value: function _pushMultiColumnViewable(arr, v) { + var _this$props3 = this.props, + numColumns = _this$props3.numColumns, + keyExtractor = _this$props3.keyExtractor; + v.item.forEach(function (item, ii) { + invariant(v.index != null, 'Missing index!'); + var index = v.index * numColumns + ii; + arr.push(_objectSpread({}, v, { + item: item, + key: keyExtractor(item, index), + index: index + })); + }); + } + }, { + key: "_createOnViewableItemsChanged", + value: function _createOnViewableItemsChanged(onViewableItemsChanged) { + var _this2 = this; + + return function (info) { + var numColumns = _this2.props.numColumns; + + if (onViewableItemsChanged) { + if (numColumns > 1) { + var _changed = []; + var _viewableItems = []; + info.viewableItems.forEach(function (v) { + return _this2._pushMultiColumnViewable(_viewableItems, v); + }); + info.changed.forEach(function (v) { + return _this2._pushMultiColumnViewable(_changed, v); + }); + onViewableItemsChanged({ + viewableItems: _viewableItems, + changed: _changed + }); + } else { + onViewableItemsChanged(info); + } + } + }; + } + }, { + key: "render", + value: function render() { + if (this.props.legacyImplementation) { + return React.createElement(MetroListView, _extends({}, this.props, { + items: this.props.data, + ref: this._captureRef, + __source: { + fileName: _jsxFileName, + lineNumber: 643 + } + })); + } else { + return React.createElement(VirtualizedList, _extends({}, this.props, { + renderItem: this._renderItem, + getItem: this._getItem, + getItemCount: this._getItemCount, + keyExtractor: this._keyExtractor, + ref: this._captureRef, + viewabilityConfigCallbackPairs: this._virtualizedListPairs, + __source: { + fileName: _jsxFileName, + lineNumber: 654 + } + })); + } + } + }]); + + _inherits(FlatList, _React$PureComponent); + + return FlatList; + }(React.PureComponent); + + FlatList.defaultProps = defaultProps; + FlatList = _wrapComponent("FlatList")(FlatList); + var styles = StyleSheet.create({ + row: { + flexDirection: 'row' + } + }); + module.exports = FlatList; +},388,[1,11,389,200,227,397,390,201,166],"node_modules/react-native/Libraries/Lists/FlatList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/MetroListView.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + MetroListView: { + displayName: "MetroListView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/MetroListView.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ListView = _$$_REQUIRE(_dependencyMap[2], 'ListView'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var RefreshControl = _$$_REQUIRE(_dependencyMap[4], 'RefreshControl'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[5], 'ScrollView'); + + var invariant = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/invariant'); + + var MetroListView = function (_React$Component) { + function MetroListView() { + var _getPrototypeOf2, + _this2 = this; + + var _temp, _this; + + _classCallCheck(this, MetroListView); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MetroListView)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = _this._computeState(_this.props, { + ds: new ListView.DataSource({ + rowHasChanged: function rowHasChanged(itemA, itemB) { + return true; + }, + sectionHeaderHasChanged: function sectionHeaderHasChanged() { + return true; + }, + getSectionHeaderData: function getSectionHeaderData(dataBlob, sectionID) { + return _this.state.sectionHeaderData[sectionID]; + } + }), + sectionHeaderData: {} + }), _this._captureRef = function (ref) { + _this._listRef = ref; + }, _this._renderFooter = function () { + return React.createElement(_this2.props.FooterComponent, { + key: "$footer", + __source: { + fileName: _jsxFileName, + lineNumber: 183 + } + }); + }, _this._renderRow = function (item, sectionID, rowID, highlightRow) { + return _this.props.renderItem({ + item: item, + index: rowID + }); + }, _this._renderSectionHeader = function (section, sectionID) { + var renderSectionHeader = _this.props.renderSectionHeader; + invariant(renderSectionHeader, 'Must provide renderSectionHeader with sections prop'); + return renderSectionHeader({ + section: section + }); + }, _this._renderSeparator = function (sID, rID) { + return React.createElement(_this2.props.SeparatorComponent, { + key: sID + rID, + __source: { + fileName: _jsxFileName, + lineNumber: 199 + } + }); + }, _temp)); + } + + _createClass(MetroListView, [{ + key: "scrollToEnd", + value: function scrollToEnd(params) { + throw new Error('scrollToEnd not supported in legacy ListView.'); + } + }, { + key: "scrollToIndex", + value: function scrollToIndex(params) { + throw new Error('scrollToIndex not supported in legacy ListView.'); + } + }, { + key: "scrollToItem", + value: function scrollToItem(params) { + throw new Error('scrollToItem not supported in legacy ListView.'); + } + }, { + key: "scrollToLocation", + value: function scrollToLocation(params) { + throw new Error('scrollToLocation not supported in legacy ListView.'); + } + }, { + key: "scrollToOffset", + value: function scrollToOffset(params) { + var animated = params.animated, + offset = params.offset; + + this._listRef.scrollTo(this.props.horizontal ? { + x: offset, + animated: animated + } : { + y: offset, + animated: animated + }); + } + }, { + key: "getListRef", + value: function getListRef() { + return this._listRef; + } + }, { + key: "setNativeProps", + value: function setNativeProps(props) { + if (this._listRef) { + this._listRef.setNativeProps(props); + } + } + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(newProps) { + var _this3 = this; + + this.setState(function (state) { + return _this3._computeState(newProps, state); + }); + } + }, { + key: "render", + value: function render() { + return React.createElement(ListView, _extends({}, this.props, { + dataSource: this.state.ds, + ref: this._captureRef, + renderRow: this._renderRow, + renderFooter: this.props.FooterComponent && this._renderFooter, + renderSectionHeader: this.props.sections && this._renderSectionHeader, + renderSeparator: this.props.SeparatorComponent && this._renderSeparator, + __source: { + fileName: _jsxFileName, + lineNumber: 142 + } + })); + } + }, { + key: "_computeState", + value: function _computeState(props, state) { + var sectionHeaderData = {}; + + if (props.sections) { + invariant(!props.items, 'Cannot have both sections and items props.'); + var _sections = {}; + props.sections.forEach(function (sectionIn, ii) { + var sectionID = 's' + ii; + _sections[sectionID] = sectionIn.data; + sectionHeaderData[sectionID] = sectionIn; + }); + return { + ds: state.ds.cloneWithRowsAndSections(_sections), + sectionHeaderData: sectionHeaderData + }; + } else { + invariant(!props.sections, 'Cannot have both sections and items props.'); + return { + ds: state.ds.cloneWithRows(props.items), + sectionHeaderData: sectionHeaderData + }; + } + } + }]); + + _inherits(MetroListView, _React$Component); + + return MetroListView; + }(React.Component); + + MetroListView.defaultProps = { + keyExtractor: function keyExtractor(item, index) { + return item.key || String(index); + }, + renderScrollComponent: function renderScrollComponent(props) { + if (props.onRefresh) { + return React.createElement(ScrollView, _extends({}, props, { + refreshControl: React.createElement(RefreshControl, { + refreshing: props.refreshing, + onRefresh: props.onRefresh, + __source: { + fileName: _jsxFileName, + lineNumber: 114 + } + }), + __source: { + fileName: _jsxFileName, + lineNumber: 107 + } + })); + } else { + return React.createElement(ScrollView, _extends({}, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 123 + } + })); + } + } + }; + MetroListView = _wrapComponent("MetroListView")(MetroListView); + module.exports = MetroListView; +},389,[1,11,390,200,396,367,166],"node_modules/react-native/Libraries/Lists/MetroListView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/ListView/ListView.js"; + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var InternalListViewType = _$$_REQUIRE(_dependencyMap[0], 'InternalListViewType'); + + var ListViewDataSource = _$$_REQUIRE(_dependencyMap[1], 'ListViewDataSource'); + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[5], 'ReactNative'); + + var RCTScrollViewManager = _$$_REQUIRE(_dependencyMap[6], 'NativeModules').ScrollViewManager; + + var ScrollView = _$$_REQUIRE(_dependencyMap[7], 'ScrollView'); + + var ScrollResponder = _$$_REQUIRE(_dependencyMap[8], 'ScrollResponder'); + + var StaticRenderer = _$$_REQUIRE(_dependencyMap[9], 'StaticRenderer'); + + var TimerMixin = _$$_REQUIRE(_dependencyMap[10], 'react-timer-mixin'); + + var View = _$$_REQUIRE(_dependencyMap[11], 'View'); + + var cloneReferencedElement = _$$_REQUIRE(_dependencyMap[12], 'react-clone-referenced-element'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[13], 'create-react-class'); + + var isEmpty = _$$_REQUIRE(_dependencyMap[14], 'isEmpty'); + + var merge = _$$_REQUIRE(_dependencyMap[15], 'merge'); + + var DEFAULT_PAGE_SIZE = 1; + var DEFAULT_INITIAL_ROWS = 10; + var DEFAULT_SCROLL_RENDER_AHEAD = 1000; + var DEFAULT_END_REACHED_THRESHOLD = 1000; + var DEFAULT_SCROLL_CALLBACK_THROTTLE = 50; + var ListView = createReactClass({ + displayName: 'ListView', + _childFrames: [], + _sentEndForContentLength: null, + _scrollComponent: null, + _prevRenderedRowsCount: 0, + _visibleRows: {}, + scrollProperties: {}, + mixins: [ScrollResponder.Mixin, TimerMixin], + statics: { + DataSource: ListViewDataSource + }, + propTypes: _objectSpread({}, ScrollView.propTypes, { + dataSource: PropTypes.instanceOf(ListViewDataSource).isRequired, + renderSeparator: PropTypes.func, + renderRow: PropTypes.func.isRequired, + initialListSize: PropTypes.number.isRequired, + onEndReached: PropTypes.func, + onEndReachedThreshold: PropTypes.number.isRequired, + pageSize: PropTypes.number.isRequired, + renderFooter: PropTypes.func, + renderHeader: PropTypes.func, + renderSectionHeader: PropTypes.func, + renderScrollComponent: PropTypes.func.isRequired, + scrollRenderAheadDistance: PropTypes.number.isRequired, + onChangeVisibleRows: PropTypes.func, + removeClippedSubviews: PropTypes.bool, + stickySectionHeadersEnabled: PropTypes.bool, + stickyHeaderIndices: PropTypes.arrayOf(PropTypes.number).isRequired, + enableEmptySections: PropTypes.bool + }), + getMetrics: function getMetrics() { + return { + contentLength: this.scrollProperties.contentLength, + totalRows: this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount(), + renderedRows: this.state.curRenderedRowsCount, + visibleRows: Object.keys(this._visibleRows).length + }; + }, + getScrollResponder: function getScrollResponder() { + if (this._scrollComponent && this._scrollComponent.getScrollResponder) { + return this._scrollComponent.getScrollResponder(); + } + }, + getScrollableNode: function getScrollableNode() { + if (this._scrollComponent && this._scrollComponent.getScrollableNode) { + return this._scrollComponent.getScrollableNode(); + } else { + return ReactNative.findNodeHandle(this._scrollComponent); + } + }, + scrollTo: function scrollTo() { + if (this._scrollComponent && this._scrollComponent.scrollTo) { + var _this$_scrollComponen; + + (_this$_scrollComponen = this._scrollComponent).scrollTo.apply(_this$_scrollComponen, arguments); + } + }, + scrollToEnd: function scrollToEnd(options) { + if (this._scrollComponent) { + if (this._scrollComponent.scrollToEnd) { + this._scrollComponent.scrollToEnd(options); + } else { + console.warn('The scroll component used by the ListView does not support ' + 'scrollToEnd. Check the renderScrollComponent prop of your ListView.'); + } + } + }, + flashScrollIndicators: function flashScrollIndicators() { + if (this._scrollComponent && this._scrollComponent.flashScrollIndicators) { + this._scrollComponent.flashScrollIndicators(); + } + }, + setNativeProps: function setNativeProps(props) { + if (this._scrollComponent) { + this._scrollComponent.setNativeProps(props); + } + }, + getDefaultProps: function getDefaultProps() { + return { + initialListSize: DEFAULT_INITIAL_ROWS, + pageSize: DEFAULT_PAGE_SIZE, + renderScrollComponent: function renderScrollComponent(props) { + return React.createElement(ScrollView, _extends({}, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 353 + } + })); + }, + scrollRenderAheadDistance: DEFAULT_SCROLL_RENDER_AHEAD, + onEndReachedThreshold: DEFAULT_END_REACHED_THRESHOLD, + stickySectionHeadersEnabled: Platform.OS === 'ios', + stickyHeaderIndices: [] + }; + }, + getInitialState: function getInitialState() { + return { + curRenderedRowsCount: this.props.initialListSize, + highlightedRow: {} + }; + }, + getInnerViewNode: function getInnerViewNode() { + return this._scrollComponent.getInnerViewNode(); + }, + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + this.scrollProperties = { + visibleLength: null, + contentLength: null, + offset: 0 + }; + this._childFrames = []; + this._visibleRows = {}; + this._prevRenderedRowsCount = 0; + this._sentEndForContentLength = null; + }, + componentDidMount: function componentDidMount() { + var _this = this; + + this.requestAnimationFrame(function () { + _this._measureAndUpdateScrollProps(); + }); + }, + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + var _this2 = this; + + if (this.props.dataSource !== nextProps.dataSource || this.props.initialListSize !== nextProps.initialListSize) { + this.setState(function (state, props) { + _this2._prevRenderedRowsCount = 0; + return { + curRenderedRowsCount: Math.min(Math.max(state.curRenderedRowsCount, props.initialListSize), props.enableEmptySections ? props.dataSource.getRowAndSectionCount() : props.dataSource.getRowCount()) + }; + }, function () { + return _this2._renderMoreRowsIfNeeded(); + }); + } + }, + componentDidUpdate: function componentDidUpdate() { + var _this3 = this; + + this.requestAnimationFrame(function () { + _this3._measureAndUpdateScrollProps(); + }); + }, + _onRowHighlighted: function _onRowHighlighted(sectionID, rowID) { + this.setState({ + highlightedRow: { + sectionID: sectionID, + rowID: rowID + } + }); + }, + render: function render() { + var bodyComponents = []; + var dataSource = this.props.dataSource; + var allRowIDs = dataSource.rowIdentities; + var rowCount = 0; + var stickySectionHeaderIndices = []; + var renderSectionHeader = this.props.renderSectionHeader; + var header = this.props.renderHeader && this.props.renderHeader(); + var footer = this.props.renderFooter && this.props.renderFooter(); + var totalIndex = header ? 1 : 0; + + for (var sectionIdx = 0; sectionIdx < allRowIDs.length; sectionIdx++) { + var sectionID = dataSource.sectionIdentities[sectionIdx]; + var rowIDs = allRowIDs[sectionIdx]; + + if (rowIDs.length === 0) { + if (this.props.enableEmptySections === undefined) { + var warning = _$$_REQUIRE(_dependencyMap[16], 'fbjs/lib/warning'); + + warning(false, 'In next release empty section headers will be rendered.' + " In this release you can use 'enableEmptySections' flag to render empty section headers."); + continue; + } else { + var invariant = _$$_REQUIRE(_dependencyMap[17], 'fbjs/lib/invariant'); + + invariant(this.props.enableEmptySections, "In next release 'enableEmptySections' flag will be deprecated, empty section headers will always be rendered." + ' If empty section headers are not desirable their indices should be excluded from sectionIDs object.' + " In this release 'enableEmptySections' may only have value 'true' to allow empty section headers rendering."); + } + } + + if (renderSectionHeader) { + var element = renderSectionHeader(dataSource.getSectionHeaderData(sectionIdx), sectionID); + + if (element) { + bodyComponents.push(React.cloneElement(element, { + key: 's_' + sectionID + })); + + if (this.props.stickySectionHeadersEnabled) { + stickySectionHeaderIndices.push(totalIndex); + } + + totalIndex++; + } + } + + for (var rowIdx = 0; rowIdx < rowIDs.length; rowIdx++) { + var rowID = rowIDs[rowIdx]; + var comboID = sectionID + '_' + rowID; + var shouldUpdateRow = rowCount >= this._prevRenderedRowsCount && dataSource.rowShouldUpdate(sectionIdx, rowIdx); + var row = React.createElement(StaticRenderer, { + key: 'r_' + comboID, + shouldUpdate: !!shouldUpdateRow, + render: this.props.renderRow.bind(null, dataSource.getRowData(sectionIdx, rowIdx), sectionID, rowID, this._onRowHighlighted), + __source: { + fileName: _jsxFileName, + lineNumber: 485 + } + }); + bodyComponents.push(row); + totalIndex++; + + if (this.props.renderSeparator && (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1)) { + var adjacentRowHighlighted = this.state.highlightedRow.sectionID === sectionID && (this.state.highlightedRow.rowID === rowID || this.state.highlightedRow.rowID === rowIDs[rowIdx + 1]); + var separator = this.props.renderSeparator(sectionID, rowID, adjacentRowHighlighted); + + if (separator) { + bodyComponents.push(React.createElement(View, { + key: 's_' + comboID, + __source: { + fileName: _jsxFileName, + lineNumber: 514 + } + }, separator)); + totalIndex++; + } + } + + if (++rowCount === this.state.curRenderedRowsCount) { + break; + } + } + + if (rowCount >= this.state.curRenderedRowsCount) { + break; + } + } + + var _this$props = this.props, + renderScrollComponent = _this$props.renderScrollComponent, + props = _objectWithoutProperties(_this$props, ["renderScrollComponent"]); + + if (!props.scrollEventThrottle) { + props.scrollEventThrottle = DEFAULT_SCROLL_CALLBACK_THROTTLE; + } + + if (props.removeClippedSubviews === undefined) { + props.removeClippedSubviews = true; + } + + _extends(props, { + onScroll: this._onScroll, + stickyHeaderIndices: this.props.stickyHeaderIndices.concat(stickySectionHeaderIndices), + onKeyboardWillShow: undefined, + onKeyboardWillHide: undefined, + onKeyboardDidShow: undefined, + onKeyboardDidHide: undefined + }); + + return cloneReferencedElement(renderScrollComponent(props), { + ref: this._setScrollComponentRef, + onContentSizeChange: this._onContentSizeChange, + onLayout: this._onLayout, + DEPRECATED_sendUpdatedChildFrames: typeof props.onChangeVisibleRows !== undefined + }, header, bodyComponents, footer); + }, + _measureAndUpdateScrollProps: function _measureAndUpdateScrollProps() { + var scrollComponent = this.getScrollResponder(); + + if (!scrollComponent || !scrollComponent.getInnerViewNode) { + return; + } + + RCTScrollViewManager && RCTScrollViewManager.calculateChildFrames && RCTScrollViewManager.calculateChildFrames(ReactNative.findNodeHandle(scrollComponent), this._updateVisibleRows); + }, + _setScrollComponentRef: function _setScrollComponentRef(scrollComponent) { + this._scrollComponent = scrollComponent; + }, + _onContentSizeChange: function _onContentSizeChange(width, height) { + var contentLength = !this.props.horizontal ? height : width; + + if (contentLength !== this.scrollProperties.contentLength) { + this.scrollProperties.contentLength = contentLength; + + this._updateVisibleRows(); + + this._renderMoreRowsIfNeeded(); + } + + this.props.onContentSizeChange && this.props.onContentSizeChange(width, height); + }, + _onLayout: function _onLayout(event) { + var _event$nativeEvent$la = event.nativeEvent.layout, + width = _event$nativeEvent$la.width, + height = _event$nativeEvent$la.height; + var visibleLength = !this.props.horizontal ? height : width; + + if (visibleLength !== this.scrollProperties.visibleLength) { + this.scrollProperties.visibleLength = visibleLength; + + this._updateVisibleRows(); + + this._renderMoreRowsIfNeeded(); + } + + this.props.onLayout && this.props.onLayout(event); + }, + _maybeCallOnEndReached: function _maybeCallOnEndReached(event) { + if (this.props.onEndReached && this.scrollProperties.contentLength !== this._sentEndForContentLength && this._getDistanceFromEnd(this.scrollProperties) < this.props.onEndReachedThreshold && this.state.curRenderedRowsCount === (this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount())) { + this._sentEndForContentLength = this.scrollProperties.contentLength; + this.props.onEndReached(event); + return true; + } + + return false; + }, + _renderMoreRowsIfNeeded: function _renderMoreRowsIfNeeded() { + if (this.scrollProperties.contentLength === null || this.scrollProperties.visibleLength === null || this.state.curRenderedRowsCount === (this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount())) { + this._maybeCallOnEndReached(); + + return; + } + + var distanceFromEnd = this._getDistanceFromEnd(this.scrollProperties); + + if (distanceFromEnd < this.props.scrollRenderAheadDistance) { + this._pageInNewRows(); + } + }, + _pageInNewRows: function _pageInNewRows() { + var _this4 = this; + + this.setState(function (state, props) { + var rowsToRender = Math.min(state.curRenderedRowsCount + props.pageSize, props.enableEmptySections ? props.dataSource.getRowAndSectionCount() : props.dataSource.getRowCount()); + _this4._prevRenderedRowsCount = state.curRenderedRowsCount; + return { + curRenderedRowsCount: rowsToRender + }; + }, function () { + _this4._measureAndUpdateScrollProps(); + + _this4._prevRenderedRowsCount = _this4.state.curRenderedRowsCount; + }); + }, + _getDistanceFromEnd: function _getDistanceFromEnd(scrollProperties) { + return scrollProperties.contentLength - scrollProperties.visibleLength - scrollProperties.offset; + }, + _updateVisibleRows: function _updateVisibleRows(updatedFrames) { + var _this5 = this; + + if (!this.props.onChangeVisibleRows) { + return; + } + + if (updatedFrames) { + updatedFrames.forEach(function (newFrame) { + _this5._childFrames[newFrame.index] = merge(newFrame); + }); + } + + var isVertical = !this.props.horizontal; + var dataSource = this.props.dataSource; + var visibleMin = this.scrollProperties.offset; + var visibleMax = visibleMin + this.scrollProperties.visibleLength; + var allRowIDs = dataSource.rowIdentities; + var header = this.props.renderHeader && this.props.renderHeader(); + var totalIndex = header ? 1 : 0; + var visibilityChanged = false; + var changedRows = {}; + + for (var sectionIdx = 0; sectionIdx < allRowIDs.length; sectionIdx++) { + var rowIDs = allRowIDs[sectionIdx]; + + if (rowIDs.length === 0) { + continue; + } + + var sectionID = dataSource.sectionIdentities[sectionIdx]; + + if (this.props.renderSectionHeader) { + totalIndex++; + } + + var visibleSection = this._visibleRows[sectionID]; + + if (!visibleSection) { + visibleSection = {}; + } + + for (var rowIdx = 0; rowIdx < rowIDs.length; rowIdx++) { + var rowID = rowIDs[rowIdx]; + var frame = this._childFrames[totalIndex]; + totalIndex++; + + if (this.props.renderSeparator && (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1)) { + totalIndex++; + } + + if (!frame) { + break; + } + + var rowVisible = visibleSection[rowID]; + var min = isVertical ? frame.y : frame.x; + var max = min + (isVertical ? frame.height : frame.width); + + if (!min && !max || min === max) { + break; + } + + if (min > visibleMax || max < visibleMin) { + if (rowVisible) { + visibilityChanged = true; + delete visibleSection[rowID]; + + if (!changedRows[sectionID]) { + changedRows[sectionID] = {}; + } + + changedRows[sectionID][rowID] = false; + } + } else if (!rowVisible) { + visibilityChanged = true; + visibleSection[rowID] = true; + + if (!changedRows[sectionID]) { + changedRows[sectionID] = {}; + } + + changedRows[sectionID][rowID] = true; + } + } + + if (!isEmpty(visibleSection)) { + this._visibleRows[sectionID] = visibleSection; + } else if (this._visibleRows[sectionID]) { + delete this._visibleRows[sectionID]; + } + } + + visibilityChanged && this.props.onChangeVisibleRows(this._visibleRows, changedRows); + }, + _onScroll: function _onScroll(e) { + var isVertical = !this.props.horizontal; + this.scrollProperties.visibleLength = e.nativeEvent.layoutMeasurement[isVertical ? 'height' : 'width']; + this.scrollProperties.contentLength = e.nativeEvent.contentSize[isVertical ? 'height' : 'width']; + this.scrollProperties.offset = e.nativeEvent.contentOffset[isVertical ? 'y' : 'x']; + + this._updateVisibleRows(e.nativeEvent.updatedChildFrames); + + if (!this._maybeCallOnEndReached(e)) { + this._renderMoreRowsIfNeeded(); + } + + if (this.props.onEndReached && this._getDistanceFromEnd(this.scrollProperties) > this.props.onEndReachedThreshold) { + this._sentEndForContentLength = null; + } + + this.props.onScroll && this.props.onScroll(e); + } + }); + module.exports = ListView; +},390,[391,392,176,200,212,261,168,367,369,394,382,227,395,365,393,248,183,166],"node_modules/react-native/Libraries/Lists/ListView/ListView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var ListViewDataSource = _$$_REQUIRE(_dependencyMap[1], 'ListViewDataSource'); + + var InternalListViewType = function (_React$Component) { + "use strict"; + + function InternalListViewType() { + _classCallCheck(this, InternalListViewType); + + return _possibleConstructorReturn(this, _getPrototypeOf(InternalListViewType).apply(this, arguments)); + } + + _createClass(InternalListViewType, [{ + key: "setNativeProps", + value: function setNativeProps(props) {} + }, { + key: "flashScrollIndicators", + value: function flashScrollIndicators() {} + }, { + key: "getScrollResponder", + value: function getScrollResponder() {} + }, { + key: "getScrollableNode", + value: function getScrollableNode() {} + }, { + key: "getMetrics", + value: function getMetrics() {} + }, { + key: "scrollTo", + value: function scrollTo() {} + }, { + key: "scrollToEnd", + value: function scrollToEnd(options) {} + }]); + + _inherits(InternalListViewType, _React$Component); + + return InternalListViewType; + }(React.Component); + + InternalListViewType.DataSource = ListViewDataSource; + module.exports = InternalListViewType; +},391,[200,392],"node_modules/react-native/Libraries/Lists/ListView/InternalListViewType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var isEmpty = _$$_REQUIRE(_dependencyMap[1], 'isEmpty'); + + var warning = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/warning'); + + function defaultGetRowData(dataBlob, sectionID, rowID) { + return dataBlob[sectionID][rowID]; + } + + function defaultGetSectionHeaderData(dataBlob, sectionID) { + return dataBlob[sectionID]; + } + + var ListViewDataSource = function () { + function ListViewDataSource(params) { + _classCallCheck(this, ListViewDataSource); + + invariant(params && typeof params.rowHasChanged === 'function', 'Must provide a rowHasChanged function.'); + this._rowHasChanged = params.rowHasChanged; + this._getRowData = params.getRowData || defaultGetRowData; + this._sectionHeaderHasChanged = params.sectionHeaderHasChanged; + this._getSectionHeaderData = params.getSectionHeaderData || defaultGetSectionHeaderData; + this._dataBlob = null; + this._dirtyRows = []; + this._dirtySections = []; + this._cachedRowCount = 0; + this.rowIdentities = []; + this.sectionIdentities = []; + } + + _createClass(ListViewDataSource, [{ + key: "cloneWithRows", + value: function cloneWithRows(dataBlob, rowIdentities) { + var rowIds = rowIdentities ? [_toConsumableArray(rowIdentities)] : null; + + if (!this._sectionHeaderHasChanged) { + this._sectionHeaderHasChanged = function () { + return false; + }; + } + + return this.cloneWithRowsAndSections({ + s1: dataBlob + }, ['s1'], rowIds); + } + }, { + key: "cloneWithRowsAndSections", + value: function cloneWithRowsAndSections(dataBlob, sectionIdentities, rowIdentities) { + invariant(typeof this._sectionHeaderHasChanged === 'function', 'Must provide a sectionHeaderHasChanged function with section data.'); + invariant(!sectionIdentities || !rowIdentities || sectionIdentities.length === rowIdentities.length, 'row and section ids lengths must be the same'); + var newSource = new ListViewDataSource({ + getRowData: this._getRowData, + getSectionHeaderData: this._getSectionHeaderData, + rowHasChanged: this._rowHasChanged, + sectionHeaderHasChanged: this._sectionHeaderHasChanged + }); + newSource._dataBlob = dataBlob; + + if (sectionIdentities) { + newSource.sectionIdentities = sectionIdentities; + } else { + newSource.sectionIdentities = Object.keys(dataBlob); + } + + if (rowIdentities) { + newSource.rowIdentities = rowIdentities; + } else { + newSource.rowIdentities = []; + newSource.sectionIdentities.forEach(function (sectionID) { + newSource.rowIdentities.push(Object.keys(dataBlob[sectionID])); + }); + } + + newSource._cachedRowCount = countRows(newSource.rowIdentities); + + newSource._calculateDirtyArrays(this._dataBlob, this.sectionIdentities, this.rowIdentities); + + return newSource; + } + }, { + key: "getRowCount", + value: function getRowCount() { + return this._cachedRowCount; + } + }, { + key: "getRowAndSectionCount", + value: function getRowAndSectionCount() { + return this._cachedRowCount + this.sectionIdentities.length; + } + }, { + key: "rowShouldUpdate", + value: function rowShouldUpdate(sectionIndex, rowIndex) { + var needsUpdate = this._dirtyRows[sectionIndex][rowIndex]; + warning(needsUpdate !== undefined, 'missing dirtyBit for section, row: ' + sectionIndex + ', ' + rowIndex); + return needsUpdate; + } + }, { + key: "getRowData", + value: function getRowData(sectionIndex, rowIndex) { + var sectionID = this.sectionIdentities[sectionIndex]; + var rowID = this.rowIdentities[sectionIndex][rowIndex]; + warning(sectionID !== undefined && rowID !== undefined, 'rendering invalid section, row: ' + sectionIndex + ', ' + rowIndex); + return this._getRowData(this._dataBlob, sectionID, rowID); + } + }, { + key: "getRowIDForFlatIndex", + value: function getRowIDForFlatIndex(index) { + var accessIndex = index; + + for (var ii = 0; ii < this.sectionIdentities.length; ii++) { + if (accessIndex >= this.rowIdentities[ii].length) { + accessIndex -= this.rowIdentities[ii].length; + } else { + return this.rowIdentities[ii][accessIndex]; + } + } + + return null; + } + }, { + key: "getSectionIDForFlatIndex", + value: function getSectionIDForFlatIndex(index) { + var accessIndex = index; + + for (var ii = 0; ii < this.sectionIdentities.length; ii++) { + if (accessIndex >= this.rowIdentities[ii].length) { + accessIndex -= this.rowIdentities[ii].length; + } else { + return this.sectionIdentities[ii]; + } + } + + return null; + } + }, { + key: "getSectionLengths", + value: function getSectionLengths() { + var results = []; + + for (var ii = 0; ii < this.sectionIdentities.length; ii++) { + results.push(this.rowIdentities[ii].length); + } + + return results; + } + }, { + key: "sectionHeaderShouldUpdate", + value: function sectionHeaderShouldUpdate(sectionIndex) { + var needsUpdate = this._dirtySections[sectionIndex]; + warning(needsUpdate !== undefined, 'missing dirtyBit for section: ' + sectionIndex); + return needsUpdate; + } + }, { + key: "getSectionHeaderData", + value: function getSectionHeaderData(sectionIndex) { + if (!this._getSectionHeaderData) { + return null; + } + + var sectionID = this.sectionIdentities[sectionIndex]; + warning(sectionID !== undefined, 'renderSection called on invalid section: ' + sectionIndex); + return this._getSectionHeaderData(this._dataBlob, sectionID); + } + }, { + key: "_calculateDirtyArrays", + value: function _calculateDirtyArrays(prevDataBlob, prevSectionIDs, prevRowIDs) { + var prevSectionsHash = keyedDictionaryFromArray(prevSectionIDs); + var prevRowsHash = {}; + + for (var ii = 0; ii < prevRowIDs.length; ii++) { + var sectionID = prevSectionIDs[ii]; + warning(!prevRowsHash[sectionID], 'SectionID appears more than once: ' + sectionID); + prevRowsHash[sectionID] = keyedDictionaryFromArray(prevRowIDs[ii]); + } + + this._dirtySections = []; + this._dirtyRows = []; + var dirty; + + for (var sIndex = 0; sIndex < this.sectionIdentities.length; sIndex++) { + var sectionID = this.sectionIdentities[sIndex]; + dirty = !prevSectionsHash[sectionID]; + var _sectionHeaderHasChanged = this._sectionHeaderHasChanged; + + if (!dirty && _sectionHeaderHasChanged) { + dirty = _sectionHeaderHasChanged(this._getSectionHeaderData(prevDataBlob, sectionID), this._getSectionHeaderData(this._dataBlob, sectionID)); + } + + this._dirtySections.push(!!dirty); + + this._dirtyRows[sIndex] = []; + + for (var rIndex = 0; rIndex < this.rowIdentities[sIndex].length; rIndex++) { + var rowID = this.rowIdentities[sIndex][rIndex]; + dirty = !prevSectionsHash[sectionID] || !prevRowsHash[sectionID][rowID] || this._rowHasChanged(this._getRowData(prevDataBlob, sectionID, rowID), this._getRowData(this._dataBlob, sectionID, rowID)); + + this._dirtyRows[sIndex].push(!!dirty); + } + } + } + }]); + + return ListViewDataSource; + }(); + + function countRows(allRowIDs) { + var totalRows = 0; + + for (var sectionIdx = 0; sectionIdx < allRowIDs.length; sectionIdx++) { + var rowIDs = allRowIDs[sectionIdx]; + totalRows += rowIDs.length; + } + + return totalRows; + } + + function keyedDictionaryFromArray(arr) { + if (isEmpty(arr)) { + return {}; + } + + var result = {}; + + for (var ii = 0; ii < arr.length; ii++) { + var _key = arr[ii]; + warning(!result[_key], 'Value appears more than once in array: ' + _key); + result[_key] = true; + } + + return result; + } + + module.exports = ListViewDataSource; +},392,[166,393,183],"node_modules/react-native/Libraries/Lists/ListView/ListViewDataSource.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function isEmpty(obj) { + if (Array.isArray(obj)) { + return obj.length === 0; + } else if (typeof obj === 'object') { + for (var i in obj) { + return false; + } + + return true; + } else { + return !obj; + } + } + + module.exports = isEmpty; +},393,[],"node_modules/react-native/Libraries/vendor/core/isEmpty.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + StaticRenderer: { + displayName: "StaticRenderer" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/StaticRenderer.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var StaticRenderer = function (_React$Component) { + function StaticRenderer() { + _classCallCheck(this, StaticRenderer); + + return _possibleConstructorReturn(this, _getPrototypeOf(StaticRenderer).apply(this, arguments)); + } + + _createClass(StaticRenderer, [{ + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + return nextProps.shouldUpdate; + } + }, { + key: "render", + value: function render() { + return this.props.render(); + } + }]); + + _inherits(StaticRenderer, _React$Component); + + return StaticRenderer; + }(React.Component); + + StaticRenderer.propTypes = { + shouldUpdate: PropTypes.bool.isRequired, + render: PropTypes.func.isRequired + }; + StaticRenderer = _wrapComponent("StaticRenderer")(StaticRenderer); + module.exports = StaticRenderer; +},394,[1,11,200,212],"node_modules/react-native/Libraries/Components/StaticRenderer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var React = _$$_REQUIRE(_dependencyMap[0], 'react'); + + function cloneReferencedElement(element, config) { + var cloneRef = config.ref; + var originalRef = element.ref; + + for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + children[_key - 2] = arguments[_key]; + } + + if (originalRef == null || cloneRef == null) { + return React.cloneElement.apply(React, [element, config].concat(children)); + } + + if (typeof originalRef !== 'function') { + if (__DEV__) { + console.warn('Cloning an element with a ref that will be overwritten because it ' + 'is not a function. Use a composable callback-style ref instead. ' + 'Ignoring ref: ' + originalRef); + } + + return React.cloneElement.apply(React, [element, config].concat(children)); + } + + return React.cloneElement.apply(React, [element, _objectSpread({}, config, { + ref: function ref(component) { + cloneRef(component); + originalRef(component); + } + })].concat(children)); + } + + module.exports = cloneReferencedElement; +},395,[1],"node_modules/react-clone-referenced-element/cloneReferencedElement.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + RefreshControl: { + displayName: "RefreshControl" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var _require = _$$_REQUIRE(_dependencyMap[4], 'ReactNative'), + NativeComponent = _require.NativeComponent; + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[5], 'requireNativeComponent'); + + var nullthrows = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/nullthrows'); + + if (Platform.OS === 'android') { + var AndroidSwipeRefreshLayout = _$$_REQUIRE(_dependencyMap[7], 'UIManager').AndroidSwipeRefreshLayout; + + var RefreshLayoutConsts = AndroidSwipeRefreshLayout ? AndroidSwipeRefreshLayout.Constants : { + SIZE: {} + }; + } else { + var RefreshLayoutConsts = { + SIZE: {} + }; + } + + var NativeRefreshControl = Platform.OS === 'ios' ? requireNativeComponent('RCTRefreshControl') : requireNativeComponent('AndroidSwipeRefreshLayout'); + + var RefreshControl = function (_React$Component) { + function RefreshControl() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, RefreshControl); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(RefreshControl)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._nativeRef = null, _this._lastNativeRefreshing = false, _this._onRefresh = function () { + _this._lastNativeRefreshing = true; + _this.props.onRefresh && _this.props.onRefresh(); + + _this.forceUpdate(); + }, _temp)); + } + + _createClass(RefreshControl, [{ + key: "componentDidMount", + value: function componentDidMount() { + this._lastNativeRefreshing = this.props.refreshing; + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (this.props.refreshing !== prevProps.refreshing) { + this._lastNativeRefreshing = this.props.refreshing; + } else if (this.props.refreshing !== this._lastNativeRefreshing) { + nullthrows(this._nativeRef).setNativeProps({ + refreshing: this.props.refreshing + }); + this._lastNativeRefreshing = this.props.refreshing; + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return React.createElement(NativeRefreshControl, _extends({}, this.props, { + ref: function ref(_ref) { + _this2._nativeRef = _ref; + }, + onRefresh: this._onRefresh, + __source: { + fileName: _jsxFileName, + lineNumber: 167 + } + })); + } + }]); + + _inherits(RefreshControl, _React$Component); + + return RefreshControl; + }(React.Component); + + RefreshControl.SIZE = RefreshLayoutConsts.SIZE; + RefreshControl = _wrapComponent("RefreshControl")(RefreshControl); + module.exports = RefreshControl; +},396,[1,11,176,200,261,229,329,218],"node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/VirtualizedList.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + var _components = { + VirtualizedList: { + displayName: "VirtualizedList" + }, + CellRenderer: { + displayName: "CellRenderer" + }, + VirtualizedCellWrapper: { + displayName: "VirtualizedCellWrapper" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/VirtualizedList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Batchinator = _$$_REQUIRE(_dependencyMap[2], 'Batchinator'); + + var FillRateHelper = _$$_REQUIRE(_dependencyMap[3], 'FillRateHelper'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[6], 'ReactNative'); + + var RefreshControl = _$$_REQUIRE(_dependencyMap[7], 'RefreshControl'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[8], 'ScrollView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[9], 'StyleSheet'); + + var UIManager = _$$_REQUIRE(_dependencyMap[10], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[11], 'View'); + + var ViewabilityHelper = _$$_REQUIRE(_dependencyMap[12], 'ViewabilityHelper'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[13], 'flattenStyle'); + + var infoLog = _$$_REQUIRE(_dependencyMap[14], 'infoLog'); + + var invariant = _$$_REQUIRE(_dependencyMap[15], 'fbjs/lib/invariant'); + + var warning = _$$_REQUIRE(_dependencyMap[16], 'fbjs/lib/warning'); + + var _require = _$$_REQUIRE(_dependencyMap[17], 'VirtualizeUtils'), + computeWindowedRenderLimits = _require.computeWindowedRenderLimits; + + var _usedIndexForKey = false; + var _keylessItemComponentName = ''; + + var VirtualizedList = function (_React$PureComponent) { + _createClass(VirtualizedList, [{ + key: "scrollToEnd", + value: function scrollToEnd(params) { + var animated = params ? params.animated : true; + var veryLast = this.props.getItemCount(this.props.data) - 1; + + var frame = this._getFrameMetricsApprox(veryLast); + + var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength); + + this._scrollRef.scrollTo(this.props.horizontal ? { + x: offset, + animated: animated + } : { + y: offset, + animated: animated + }); + } + }, { + key: "scrollToIndex", + value: function scrollToIndex(params) { + var _this$props = this.props, + data = _this$props.data, + horizontal = _this$props.horizontal, + getItemCount = _this$props.getItemCount, + getItemLayout = _this$props.getItemLayout, + onScrollToIndexFailed = _this$props.onScrollToIndexFailed; + var animated = params.animated, + index = params.index, + viewOffset = params.viewOffset, + viewPosition = params.viewPosition; + invariant(index >= 0 && index < getItemCount(data), "scrollToIndex out of range: " + index + " vs " + (getItemCount(data) - 1)); + + if (!getItemLayout && index > this._highestMeasuredFrameIndex) { + invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.'); + onScrollToIndexFailed({ + averageItemLength: this._averageCellLength, + highestMeasuredFrameIndex: this._highestMeasuredFrameIndex, + index: index + }); + return; + } + + var frame = this._getFrameMetricsApprox(index); + + var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0); + + this._scrollRef.scrollTo(horizontal ? { + x: offset, + animated: animated + } : { + y: offset, + animated: animated + }); + } + }, { + key: "scrollToItem", + value: function scrollToItem(params) { + var item = params.item; + var _this$props2 = this.props, + data = _this$props2.data, + getItem = _this$props2.getItem, + getItemCount = _this$props2.getItemCount; + var itemCount = getItemCount(data); + + for (var _index = 0; _index < itemCount; _index++) { + if (getItem(data, _index) === item) { + this.scrollToIndex(_objectSpread({}, params, { + index: _index + })); + break; + } + } + } + }, { + key: "scrollToOffset", + value: function scrollToOffset(params) { + var animated = params.animated, + offset = params.offset; + + this._scrollRef.scrollTo(this.props.horizontal ? { + x: offset, + animated: animated + } : { + y: offset, + animated: animated + }); + } + }, { + key: "recordInteraction", + value: function recordInteraction() { + this._nestedChildLists.forEach(function (childList) { + childList.ref && childList.ref.recordInteraction(); + }); + + this._viewabilityTuples.forEach(function (t) { + t.viewabilityHelper.recordInteraction(); + }); + + this._updateViewableItems(this.props.data); + } + }, { + key: "flashScrollIndicators", + value: function flashScrollIndicators() { + this._scrollRef.flashScrollIndicators(); + } + }, { + key: "getScrollResponder", + value: function getScrollResponder() { + if (this._scrollRef && this._scrollRef.getScrollResponder) { + return this._scrollRef.getScrollResponder(); + } + } + }, { + key: "getScrollableNode", + value: function getScrollableNode() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + return this._scrollRef.getScrollableNode(); + } else { + return ReactNative.findNodeHandle(this._scrollRef); + } + } + }, { + key: "setNativeProps", + value: function setNativeProps(props) { + if (this._scrollRef) { + this._scrollRef.setNativeProps(props); + } + } + }, { + key: "getChildContext", + value: function getChildContext() { + return { + virtualizedList: { + getScrollMetrics: this._getScrollMetrics, + horizontal: this.props.horizontal, + getOutermostParentListRef: this._getOutermostParentListRef, + getNestedChildState: this._getNestedChildState, + registerAsNestedChild: this._registerAsNestedChild, + unregisterAsNestedChild: this._unregisterAsNestedChild + } + }; + } + }, { + key: "_getCellKey", + value: function _getCellKey() { + return this.context.virtualizedCell && this.context.virtualizedCell.cellKey || 'rootList'; + } + }, { + key: "hasMore", + value: function hasMore() { + return this._hasMore; + } + }]); + + function VirtualizedList(_props, context) { + var _this; + + _classCallCheck(this, VirtualizedList); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(VirtualizedList).call(this, _props, context)); + + _this._getScrollMetrics = function () { + return _this._scrollMetrics; + }; + + _this._getOutermostParentListRef = function () { + if (_this._isNestedWithSameOrientation()) { + return _this.context.virtualizedList.getOutermostParentListRef(); + } else { + return _assertThisInitialized(_assertThisInitialized(_this)); + } + }; + + _this._getNestedChildState = function (key) { + var existingChildData = _this._nestedChildLists.get(key); + + return existingChildData && existingChildData.state; + }; + + _this._registerAsNestedChild = function (childList) { + var childListsInCell = _this._cellKeysToChildListKeys.get(childList.cellKey) || new Set(); + childListsInCell.add(childList.key); + + _this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell); + + var existingChildData = _this._nestedChildLists.get(childList.key); + + invariant(!(existingChildData && existingChildData.ref !== null), 'A VirtualizedList contains a cell which itself contains ' + 'more than one VirtualizedList of the same orientation as the parent ' + 'list. You must pass a unique listKey prop to each sibling list.'); + + _this._nestedChildLists.set(childList.key, { + ref: childList.ref, + state: null + }); + + if (_this._hasInteracted) { + childList.ref.recordInteraction(); + } + }; + + _this._unregisterAsNestedChild = function (childList) { + _this._nestedChildLists.set(childList.key, { + ref: null, + state: childList.state + }); + }; + + _this._onUpdateSeparators = function (keys, newProps) { + keys.forEach(function (key) { + var ref = key != null && _this._cellRefs[key]; + ref && ref.updateSeparatorProps(newProps); + }); + }; + + _this._averageCellLength = 0; + _this._cellKeysToChildListKeys = new Map(); + _this._cellRefs = {}; + _this._frames = {}; + _this._footerLength = 0; + _this._hasDataChangedSinceEndReached = true; + _this._hasInteracted = false; + _this._hasMore = false; + _this._hasWarned = {}; + _this._highestMeasuredFrameIndex = 0; + _this._headerLength = 0; + _this._indicesToKeys = new Map(); + _this._hasDoneInitialScroll = false; + _this._nestedChildLists = new Map(); + _this._offsetFromParentVirtualizedList = 0; + _this._prevParentOffset = 0; + _this._scrollMetrics = { + contentLength: 0, + dOffset: 0, + dt: 10, + offset: 0, + timestamp: 0, + velocity: 0, + visibleLength: 0 + }; + _this._scrollRef = null; + _this._sentEndForContentLength = 0; + _this._totalCellLength = 0; + _this._totalCellsMeasured = 0; + _this._viewabilityTuples = []; + + _this._captureScrollRef = function (ref) { + _this._scrollRef = ref; + }; + + _this._defaultRenderScrollComponent = function (props) { + var onRefresh = props.onRefresh; + + if (_this._isNestedWithSameOrientation()) { + return React.createElement(View, _extends({}, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 1018 + } + })); + } else if (onRefresh) { + invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify(props.refreshing) + '`'); + return React.createElement(ScrollView, _extends({}, props, { + refreshControl: props.refreshControl == null ? React.createElement(RefreshControl, { + refreshing: props.refreshing, + onRefresh: onRefresh, + progressViewOffset: props.progressViewOffset, + __source: { + fileName: _jsxFileName, + lineNumber: 1032 + } + }) : props.refreshControl, + __source: { + fileName: _jsxFileName, + lineNumber: 1028 + } + })); + } else { + return React.createElement(ScrollView, _extends({}, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 1045 + } + })); + } + }; + + _this._onCellUnmount = function (cellKey) { + var curr = _this._frames[cellKey]; + + if (curr) { + _this._frames[cellKey] = _objectSpread({}, curr, { + inLayout: false + }); + } + }; + + _this._onLayout = function (e) { + if (_this._isNestedWithSameOrientation()) { + _this.measureLayoutRelativeToContainingList(); + } else { + _this._scrollMetrics.visibleLength = _this._selectLength(e.nativeEvent.layout); + } + + _this.props.onLayout && _this.props.onLayout(e); + + _this._scheduleCellsToRenderUpdate(); + + _this._maybeCallOnEndReached(); + }; + + _this._onLayoutEmpty = function (e) { + _this.props.onLayout && _this.props.onLayout(e); + }; + + _this._onLayoutFooter = function (e) { + _this._footerLength = _this._selectLength(e.nativeEvent.layout); + }; + + _this._onLayoutHeader = function (e) { + _this._headerLength = _this._selectLength(e.nativeEvent.layout); + }; + + _this._onContentSizeChange = function (width, height) { + if (width > 0 && height > 0 && _this.props.initialScrollIndex != null && _this.props.initialScrollIndex > 0 && !_this._hasDoneInitialScroll) { + _this.scrollToIndex({ + animated: false, + index: _this.props.initialScrollIndex + }); + + _this._hasDoneInitialScroll = true; + } + + if (_this.props.onContentSizeChange) { + _this.props.onContentSizeChange(width, height); + } + + _this._scrollMetrics.contentLength = _this._selectLength({ + height: height, + width: width + }); + + _this._scheduleCellsToRenderUpdate(); + + _this._maybeCallOnEndReached(); + }; + + _this._convertParentScrollMetrics = function (metrics) { + var offset = metrics.offset - _this._offsetFromParentVirtualizedList; + var visibleLength = metrics.visibleLength; + var dOffset = offset - _this._scrollMetrics.offset; + var contentLength = _this._scrollMetrics.contentLength; + return { + visibleLength: visibleLength, + contentLength: contentLength, + offset: offset, + dOffset: dOffset + }; + }; + + _this._onScroll = function (e) { + _this._nestedChildLists.forEach(function (childList) { + childList.ref && childList.ref._onScroll(e); + }); + + if (_this.props.onScroll) { + _this.props.onScroll(e); + } + + var timestamp = e.timeStamp; + + var visibleLength = _this._selectLength(e.nativeEvent.layoutMeasurement); + + var contentLength = _this._selectLength(e.nativeEvent.contentSize); + + var offset = _this._selectOffset(e.nativeEvent.contentOffset); + + var dOffset = offset - _this._scrollMetrics.offset; + + if (_this._isNestedWithSameOrientation()) { + if (_this._scrollMetrics.contentLength === 0) { + return; + } + + var _this$_convertParentS = _this._convertParentScrollMetrics({ + visibleLength: visibleLength, + offset: offset + }); + + visibleLength = _this$_convertParentS.visibleLength; + contentLength = _this$_convertParentS.contentLength; + offset = _this$_convertParentS.offset; + dOffset = _this$_convertParentS.dOffset; + } + + var dt = _this._scrollMetrics.timestamp ? Math.max(1, timestamp - _this._scrollMetrics.timestamp) : 1; + var velocity = dOffset / dt; + + if (dt > 500 && _this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !_this._hasWarned.perf) { + infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', { + dt: dt, + prevDt: _this._scrollMetrics.dt, + contentLength: contentLength + }); + _this._hasWarned.perf = true; + } + + _this._scrollMetrics = { + contentLength: contentLength, + dt: dt, + dOffset: dOffset, + offset: offset, + timestamp: timestamp, + velocity: velocity, + visibleLength: visibleLength + }; + + _this._updateViewableItems(_this.props.data); + + if (!_this.props) { + return; + } + + _this._maybeCallOnEndReached(); + + if (velocity !== 0) { + _this._fillRateHelper.activate(); + } + + _this._computeBlankness(); + + _this._scheduleCellsToRenderUpdate(); + }; + + _this._onScrollBeginDrag = function (e) { + _this._nestedChildLists.forEach(function (childList) { + childList.ref && childList.ref._onScrollBeginDrag(e); + }); + + _this._viewabilityTuples.forEach(function (tuple) { + tuple.viewabilityHelper.recordInteraction(); + }); + + _this._hasInteracted = true; + _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e); + }; + + _this._onScrollEndDrag = function (e) { + var velocity = e.nativeEvent.velocity; + + if (velocity) { + _this._scrollMetrics.velocity = _this._selectOffset(velocity); + } + + _this._computeBlankness(); + + _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e); + }; + + _this._onMomentumScrollEnd = function (e) { + _this._scrollMetrics.velocity = 0; + + _this._computeBlankness(); + + _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e); + }; + + _this._updateCellsToRender = function () { + var _this$props3 = _this.props, + data = _this$props3.data, + getItemCount = _this$props3.getItemCount, + onEndReachedThreshold = _this$props3.onEndReachedThreshold; + + var isVirtualizationDisabled = _this._isVirtualizationDisabled(); + + _this._updateViewableItems(data); + + if (!data) { + return; + } + + _this.setState(function (state) { + var newState; + + if (!isVirtualizationDisabled) { + if (_this._scrollMetrics.visibleLength) { + if (!_this.props.initialScrollIndex || _this._scrollMetrics.offset) { + newState = computeWindowedRenderLimits(_this.props, state, _this._getFrameMetricsApprox, _this._scrollMetrics); + } + } + } else { + var _this$_scrollMetrics = _this._scrollMetrics, + contentLength = _this$_scrollMetrics.contentLength, + _offset = _this$_scrollMetrics.offset, + visibleLength = _this$_scrollMetrics.visibleLength; + + var _distanceFromEnd = contentLength - visibleLength - _offset; + + var renderAhead = _distanceFromEnd < onEndReachedThreshold * visibleLength ? _this.props.maxToRenderPerBatch : 0; + newState = { + first: 0, + last: Math.min(state.last + renderAhead, getItemCount(data) - 1) + }; + } + + if (newState && _this._nestedChildLists.size > 0) { + var newFirst = newState.first; + var newLast = newState.last; + + for (var ii = newFirst; ii <= newLast; ii++) { + var cellKeyForIndex = _this._indicesToKeys.get(ii); + + var childListKeys = cellKeyForIndex && _this._cellKeysToChildListKeys.get(cellKeyForIndex); + + if (!childListKeys) { + continue; + } + + var someChildHasMore = false; + + for (var _iterator = childListKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? typeof Symbol === "function" ? Symbol.iterator : "@@iterator" : "@@iterator"]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _childKey = _ref; + + var childList = _this._nestedChildLists.get(_childKey); + + if (childList && childList.ref && childList.ref.hasMore()) { + someChildHasMore = true; + break; + } + } + + if (someChildHasMore) { + newState.last = ii; + break; + } + } + } + + return newState; + }); + }; + + _this._createViewToken = function (index, isViewable) { + var _this$props4 = _this.props, + data = _this$props4.data, + getItem = _this$props4.getItem, + keyExtractor = _this$props4.keyExtractor; + var item = getItem(data, index); + return { + index: index, + item: item, + key: keyExtractor(item, index), + isViewable: isViewable + }; + }; + + _this._getFrameMetricsApprox = function (index) { + var frame = _this._getFrameMetrics(index); + + if (frame && frame.index === index) { + return frame; + } else { + var _getItemLayout = _this.props.getItemLayout; + invariant(!_getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided'); + return { + length: _this._averageCellLength, + offset: _this._averageCellLength * index + }; + } + }; + + _this._getFrameMetrics = function (index) { + var _this$props5 = _this.props, + data = _this$props5.data, + getItem = _this$props5.getItem, + getItemCount = _this$props5.getItemCount, + getItemLayout = _this$props5.getItemLayout, + keyExtractor = _this$props5.keyExtractor; + invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index); + var item = getItem(data, index); + + var frame = item && _this._frames[keyExtractor(item, index)]; + + if (!frame || frame.index !== index) { + if (getItemLayout) { + frame = getItemLayout(data, index); + + if (__DEV__) { + var frameType = PropTypes.shape({ + length: PropTypes.number.isRequired, + offset: PropTypes.number.isRequired, + index: PropTypes.number.isRequired + }).isRequired; + PropTypes.checkPropTypes({ + frame: frameType + }, { + frame: frame + }, 'frame', 'VirtualizedList.getItemLayout'); + } + } + } + + return frame; + }; + + invariant(!_props.onScroll || !_props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver'); + invariant(_props.windowSize > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.'); + _this._fillRateHelper = new FillRateHelper(_this._getFrameMetrics); + _this._updateCellsToRenderBatcher = new Batchinator(_this._updateCellsToRender, _this.props.updateCellsBatchingPeriod); + + if (_this.props.viewabilityConfigCallbackPairs) { + _this._viewabilityTuples = _this.props.viewabilityConfigCallbackPairs.map(function (pair) { + return { + viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig), + onViewableItemsChanged: pair.onViewableItemsChanged + }; + }); + } else if (_this.props.onViewableItemsChanged) { + _this._viewabilityTuples.push({ + viewabilityHelper: new ViewabilityHelper(_this.props.viewabilityConfig), + onViewableItemsChanged: _this.props.onViewableItemsChanged + }); + } + + var initialState = { + first: _this.props.initialScrollIndex || 0, + last: Math.min(_this.props.getItemCount(_this.props.data), (_this.props.initialScrollIndex || 0) + _this.props.initialNumToRender) - 1 + }; + + if (_this._isNestedWithSameOrientation()) { + var storedState = _this.context.virtualizedList.getNestedChildState(_this.props.listKey || _this._getCellKey()); + + if (storedState) { + initialState = storedState; + _this.state = storedState; + _this._frames = storedState.frames; + } + } + + _this.state = initialState; + return _this; + } + + _createClass(VirtualizedList, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this._isNestedWithSameOrientation()) { + this.context.virtualizedList.registerAsNestedChild({ + cellKey: this._getCellKey(), + key: this.props.listKey || this._getCellKey(), + ref: this + }); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._isNestedWithSameOrientation()) { + this.context.virtualizedList.unregisterAsNestedChild({ + key: this.props.listKey || this._getCellKey(), + state: { + first: this.state.first, + last: this.state.last, + frames: this._frames + } + }); + } + + this._updateViewableItems(null); + + this._updateCellsToRenderBatcher.dispose({ + abort: true + }); + + this._viewabilityTuples.forEach(function (tuple) { + tuple.viewabilityHelper.dispose(); + }); + + this._fillRateHelper.deactivateAndFlush(); + } + }, { + key: "_pushCells", + value: function _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) { + var _this2 = this; + + var _this$props6 = this.props, + CellRendererComponent = _this$props6.CellRendererComponent, + ItemSeparatorComponent = _this$props6.ItemSeparatorComponent, + data = _this$props6.data, + getItem = _this$props6.getItem, + getItemCount = _this$props6.getItemCount, + horizontal = _this$props6.horizontal, + keyExtractor = _this$props6.keyExtractor; + var stickyOffset = this.props.ListHeaderComponent ? 1 : 0; + var end = getItemCount(data) - 1; + var prevCellKey; + last = Math.min(end, last); + + var _loop = function _loop(ii) { + var item = getItem(data, ii); + var key = keyExtractor(item, ii); + + _this2._indicesToKeys.set(ii, key); + + if (stickyIndicesFromProps.has(ii + stickyOffset)) { + stickyHeaderIndices.push(cells.length); + } + + cells.push(React.createElement(CellRenderer, { + CellRendererComponent: CellRendererComponent, + ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined, + cellKey: key, + fillRateHelper: _this2._fillRateHelper, + horizontal: horizontal, + index: ii, + inversionStyle: inversionStyle, + item: item, + key: key, + prevCellKey: prevCellKey, + onUpdateSeparators: _this2._onUpdateSeparators, + onLayout: function onLayout(e) { + return _this2._onCellLayout(e, key, ii); + }, + onUnmount: _this2._onCellUnmount, + parentProps: _this2.props, + ref: function (_ref2) { + function ref(_x) { + return _ref2.apply(this, arguments); + } + + ref.toString = function () { + return _ref2.toString(); + }; + + return ref; + }(function (ref) { + _this2._cellRefs[key] = ref; + }), + __source: { + fileName: _jsxFileName, + lineNumber: 679 + } + })); + prevCellKey = key; + }; + + for (var ii = first; ii <= last; ii++) { + _loop(ii); + } + } + }, { + key: "_isVirtualizationDisabled", + value: function _isVirtualizationDisabled() { + return this.props.disableVirtualization; + } + }, { + key: "_isNestedWithSameOrientation", + value: function _isNestedWithSameOrientation() { + var nestedContext = this.context.virtualizedList; + return !!(nestedContext && !!nestedContext.horizontal === !!this.props.horizontal); + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + if (__DEV__) { + var flatStyles = flattenStyle(this.props.contentContainerStyle); + warning(flatStyles == null || flatStyles.flexWrap !== 'wrap', '`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.'); + } + + var _this$props7 = this.props, + ListEmptyComponent = _this$props7.ListEmptyComponent, + ListFooterComponent = _this$props7.ListFooterComponent, + ListHeaderComponent = _this$props7.ListHeaderComponent; + var _this$props8 = this.props, + data = _this$props8.data, + horizontal = _this$props8.horizontal; + + var isVirtualizationDisabled = this._isVirtualizationDisabled(); + + var inversionStyle = this.props.inverted ? this.props.horizontal ? styles.horizontallyInverted : styles.verticallyInverted : null; + var cells = []; + var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices); + var stickyHeaderIndices = []; + + if (ListHeaderComponent) { + if (stickyIndicesFromProps.has(0)) { + stickyHeaderIndices.push(0); + } + + var element = React.isValidElement(ListHeaderComponent) ? ListHeaderComponent : React.createElement(ListHeaderComponent, { + __source: { + fileName: _jsxFileName, + lineNumber: 753 + } + }); + cells.push(React.createElement(VirtualizedCellWrapper, { + cellKey: this._getCellKey() + '-header', + key: "$header", + __source: { + fileName: _jsxFileName, + lineNumber: 756 + } + }, React.createElement(View, { + onLayout: this._onLayoutHeader, + style: inversionStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 759 + } + }, element))); + } + + var itemCount = this.props.getItemCount(data); + + if (itemCount > 0) { + _usedIndexForKey = false; + _keylessItemComponentName = ''; + var spacerKey = !horizontal ? 'height' : 'width'; + var lastInitialIndex = this.props.initialScrollIndex ? -1 : this.props.initialNumToRender - 1; + var _this$state = this.state, + _first = _this$state.first, + _last = _this$state.last; + + this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle); + + var firstAfterInitial = Math.max(lastInitialIndex + 1, _first); + + if (!isVirtualizationDisabled && _first > lastInitialIndex + 1) { + var insertedStickySpacer = false; + + if (stickyIndicesFromProps.size > 0) { + var stickyOffset = ListHeaderComponent ? 1 : 0; + + for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) { + if (stickyIndicesFromProps.has(ii + stickyOffset)) { + var initBlock = this._getFrameMetricsApprox(lastInitialIndex); + + var stickyBlock = this._getFrameMetricsApprox(ii); + + var leadSpace = stickyBlock.offset - (initBlock.offset + initBlock.length); + cells.push(React.createElement(View, { + key: "$sticky_lead", + style: _defineProperty({}, spacerKey, leadSpace), + __source: { + fileName: _jsxFileName, + lineNumber: 798 + } + })); + + this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle); + + var trailSpace = this._getFrameMetricsApprox(_first).offset - (stickyBlock.offset + stickyBlock.length); + cells.push(React.createElement(View, { + key: "$sticky_trail", + style: _defineProperty({}, spacerKey, trailSpace), + __source: { + fileName: _jsxFileName, + lineNumber: 812 + } + })); + insertedStickySpacer = true; + break; + } + } + } + + if (!insertedStickySpacer) { + var _initBlock = this._getFrameMetricsApprox(lastInitialIndex); + + var firstSpace = this._getFrameMetricsApprox(_first).offset - (_initBlock.offset + _initBlock.length); + + cells.push(React.createElement(View, { + key: "$lead_spacer", + style: _defineProperty({}, spacerKey, firstSpace), + __source: { + fileName: _jsxFileName, + lineNumber: 825 + } + })); + } + } + + this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, _last, inversionStyle); + + if (!this._hasWarned.keys && _usedIndexForKey) { + console.warn('VirtualizedList: missing keys for items, make sure to specify a key property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName); + this._hasWarned.keys = true; + } + + if (!isVirtualizationDisabled && _last < itemCount - 1) { + var lastFrame = this._getFrameMetricsApprox(_last); + + var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex); + + var endFrame = this._getFrameMetricsApprox(end); + + var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length); + cells.push(React.createElement(View, { + key: "$tail_spacer", + style: _defineProperty({}, spacerKey, tailSpacerLength), + __source: { + fileName: _jsxFileName, + lineNumber: 859 + } + })); + } + } else if (ListEmptyComponent) { + var _element = React.isValidElement(ListEmptyComponent) ? ListEmptyComponent : React.createElement(ListEmptyComponent, { + __source: { + fileName: _jsxFileName, + lineNumber: 869 + } + }); + + cells.push(React.cloneElement(_element, { + key: '$empty', + onLayout: function onLayout(event) { + _this3._onLayoutEmpty(event); + + if (_element.props.onLayout) { + _element.props.onLayout(event); + } + }, + style: [_element.props.style, inversionStyle] + })); + } + + if (ListFooterComponent) { + var _element2 = React.isValidElement(ListFooterComponent) ? ListFooterComponent : React.createElement(ListFooterComponent, { + __source: { + fileName: _jsxFileName, + lineNumber: 889 + } + }); + + cells.push(React.createElement(VirtualizedCellWrapper, { + cellKey: this._getCellKey() + '-footer', + key: "$footer", + __source: { + fileName: _jsxFileName, + lineNumber: 892 + } + }, React.createElement(View, { + onLayout: this._onLayoutFooter, + style: inversionStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 895 + } + }, _element2))); + } + + var scrollProps = _objectSpread({}, this.props, { + onContentSizeChange: this._onContentSizeChange, + onLayout: this._onLayout, + onScroll: this._onScroll, + onScrollBeginDrag: this._onScrollBeginDrag, + onScrollEndDrag: this._onScrollEndDrag, + onMomentumScrollEnd: this._onMomentumScrollEnd, + scrollEventThrottle: this.props.scrollEventThrottle, + invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted, + stickyHeaderIndices: stickyHeaderIndices + }); + + if (inversionStyle) { + scrollProps.style = [inversionStyle, this.props.style]; + } + + this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1; + var ret = React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), { + ref: this._captureScrollRef + }, cells); + + if (this.props.debug) { + return React.createElement(View, { + style: { + flex: 1 + }, + __source: { + fileName: _jsxFileName, + lineNumber: 941 + } + }, ret, this._renderDebugOverlay()); + } else { + return ret; + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + var _this$props9 = this.props, + data = _this$props9.data, + extraData = _this$props9.extraData; + + if (data !== prevProps.data || extraData !== prevProps.extraData) { + this._hasDataChangedSinceEndReached = true; + + this._viewabilityTuples.forEach(function (tuple) { + tuple.viewabilityHelper.resetViewableIndices(); + }); + } + + this._scheduleCellsToRenderUpdate(); + } + }, { + key: "_computeBlankness", + value: function _computeBlankness() { + this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics); + } + }, { + key: "_onCellLayout", + value: function _onCellLayout(e, cellKey, index) { + var layout = e.nativeEvent.layout; + var next = { + offset: this._selectOffset(layout), + length: this._selectLength(layout), + index: index, + inLayout: true + }; + var curr = this._frames[cellKey]; + + if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) { + this._totalCellLength += next.length - (curr ? curr.length : 0); + this._totalCellsMeasured += curr ? 0 : 1; + this._averageCellLength = this._totalCellLength / this._totalCellsMeasured; + this._frames[cellKey] = next; + this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index); + + this._scheduleCellsToRenderUpdate(); + } else { + this._frames[cellKey].inLayout = true; + } + + var childListKeys = this._cellKeysToChildListKeys.get(cellKey); + + if (childListKeys) { + for (var _iterator2 = childListKeys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref7; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref7 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref7 = _i2.value; + } + + var _childKey2 = _ref7; + + var childList = this._nestedChildLists.get(_childKey2); + + childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList(); + } + } + + this._computeBlankness(); + } + }, { + key: "measureLayoutRelativeToContainingList", + value: function measureLayoutRelativeToContainingList() { + var _this4 = this; + + UIManager.measureLayout(ReactNative.findNodeHandle(this), ReactNative.findNodeHandle(this.context.virtualizedList.getOutermostParentListRef()), function (error) { + console.warn("VirtualizedList: Encountered an error while measuring a list's" + ' offset from its containing VirtualizedList.'); + }, function (x, y, width, height) { + _this4._offsetFromParentVirtualizedList = _this4._selectOffset({ + x: x, + y: y + }); + _this4._scrollMetrics.contentLength = _this4._selectLength({ + width: width, + height: height + }); + + var scrollMetrics = _this4._convertParentScrollMetrics(_this4.context.virtualizedList.getScrollMetrics()); + + _this4._scrollMetrics.visibleLength = scrollMetrics.visibleLength; + _this4._scrollMetrics.offset = scrollMetrics.offset; + }); + } + }, { + key: "_renderDebugOverlay", + value: function _renderDebugOverlay() { + var normalize = this._scrollMetrics.visibleLength / this._scrollMetrics.contentLength; + var framesInLayout = []; + var itemCount = this.props.getItemCount(this.props.data); + + for (var ii = 0; ii < itemCount; ii++) { + var frame = this._getFrameMetricsApprox(ii); + + if (frame.inLayout) { + framesInLayout.push(frame); + } + } + + var windowTop = this._getFrameMetricsApprox(this.state.first).offset; + + var frameLast = this._getFrameMetricsApprox(this.state.last); + + var windowLen = frameLast.offset + frameLast.length - windowTop; + var visTop = this._scrollMetrics.offset; + var visLen = this._scrollMetrics.visibleLength; + var baseStyle = { + position: 'absolute', + top: 0, + right: 0 + }; + return React.createElement(View, { + style: _objectSpread({}, baseStyle, { + bottom: 0, + width: 20, + borderColor: 'blue', + borderWidth: 1 + }), + __source: { + fileName: _jsxFileName, + lineNumber: 1171 + } + }, framesInLayout.map(function (f, ii) { + return React.createElement(View, { + key: 'f' + ii, + style: _objectSpread({}, baseStyle, { + left: 0, + top: f.offset * normalize, + height: f.length * normalize, + backgroundColor: 'orange' + }), + __source: { + fileName: _jsxFileName, + lineNumber: 1180 + } + }); + }), React.createElement(View, { + style: _objectSpread({}, baseStyle, { + left: 0, + top: windowTop * normalize, + height: windowLen * normalize, + borderColor: 'green', + borderWidth: 2 + }), + __source: { + fileName: _jsxFileName, + lineNumber: 1191 + } + }), React.createElement(View, { + style: _objectSpread({}, baseStyle, { + left: 0, + top: visTop * normalize, + height: visLen * normalize, + borderColor: 'red', + borderWidth: 2 + }), + __source: { + fileName: _jsxFileName, + lineNumber: 1201 + } + })); + } + }, { + key: "_selectLength", + value: function _selectLength(metrics) { + return !this.props.horizontal ? metrics.height : metrics.width; + } + }, { + key: "_selectOffset", + value: function _selectOffset(metrics) { + return (!this.props.horizontal ? metrics.y : metrics.x) - this._headerLength; + } + }, { + key: "_maybeCallOnEndReached", + value: function _maybeCallOnEndReached() { + var _this$props10 = this.props, + data = _this$props10.data, + getItemCount = _this$props10.getItemCount, + onEndReached = _this$props10.onEndReached, + onEndReachedThreshold = _this$props10.onEndReachedThreshold; + var _this$_scrollMetrics2 = this._scrollMetrics, + contentLength = _this$_scrollMetrics2.contentLength, + visibleLength = _this$_scrollMetrics2.visibleLength, + offset = _this$_scrollMetrics2.offset; + var distanceFromEnd = contentLength - visibleLength - offset; + + if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < onEndReachedThreshold * visibleLength && (this._hasDataChangedSinceEndReached || this._scrollMetrics.contentLength !== this._sentEndForContentLength)) { + this._hasDataChangedSinceEndReached = false; + this._sentEndForContentLength = this._scrollMetrics.contentLength; + onEndReached({ + distanceFromEnd: distanceFromEnd + }); + } + } + }, { + key: "_scheduleCellsToRenderUpdate", + value: function _scheduleCellsToRenderUpdate() { + var _this$state2 = this.state, + first = _this$state2.first, + last = _this$state2.last; + var _this$_scrollMetrics3 = this._scrollMetrics, + offset = _this$_scrollMetrics3.offset, + visibleLength = _this$_scrollMetrics3.visibleLength, + velocity = _this$_scrollMetrics3.velocity; + var itemCount = this.props.getItemCount(this.props.data); + var hiPri = false; + var scrollingThreshold = this.props.onEndReachedThreshold * visibleLength / 2; + + if (first > 0) { + var distTop = offset - this._getFrameMetricsApprox(first).offset; + + hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold; + } + + if (last < itemCount - 1) { + var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength); + hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold; + } + + if (hiPri && this._averageCellLength) { + this._updateCellsToRenderBatcher.dispose({ + abort: true + }); + + this._updateCellsToRender(); + + return; + } else { + this._updateCellsToRenderBatcher.schedule(); + } + } + }, { + key: "_updateViewableItems", + value: function _updateViewableItems(data) { + var _this5 = this; + + var getItemCount = this.props.getItemCount; + + this._viewabilityTuples.forEach(function (tuple) { + tuple.viewabilityHelper.onUpdate(getItemCount(data), _this5._scrollMetrics.offset, _this5._scrollMetrics.visibleLength, _this5._getFrameMetrics, _this5._createViewToken, tuple.onViewableItemsChanged, _this5.state); + }); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(newProps, prevState) { + var data = newProps.data, + extraData = newProps.extraData, + getItemCount = newProps.getItemCount, + maxToRenderPerBatch = newProps.maxToRenderPerBatch; + return { + first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)), + last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1)) + }; + } + }]); + + _inherits(VirtualizedList, _React$PureComponent); + + return VirtualizedList; + }(React.PureComponent); + + VirtualizedList.defaultProps = { + disableVirtualization: false, + horizontal: false, + initialNumToRender: 10, + keyExtractor: function keyExtractor(item, index) { + if (item.key != null) { + return item.key; + } + + _usedIndexForKey = true; + + if (item.type && item.type.displayName) { + _keylessItemComponentName = item.type.displayName; + } + + return String(index); + }, + maxToRenderPerBatch: 10, + onEndReachedThreshold: 2, + scrollEventThrottle: 50, + updateCellsBatchingPeriod: 50, + windowSize: 21 + }; + VirtualizedList.contextTypes = { + virtualizedCell: PropTypes.shape({ + cellKey: PropTypes.string + }), + virtualizedList: PropTypes.shape({ + getScrollMetrics: PropTypes.func, + horizontal: PropTypes.bool, + getOutermostParentListRef: PropTypes.func, + getNestedChildState: PropTypes.func, + registerAsNestedChild: PropTypes.func, + unregisterAsNestedChild: PropTypes.func + }) + }; + VirtualizedList.childContextTypes = { + virtualizedList: PropTypes.shape({ + getScrollMetrics: PropTypes.func, + horizontal: PropTypes.bool, + getOutermostParentListRef: PropTypes.func, + getNestedChildState: PropTypes.func, + registerAsNestedChild: PropTypes.func, + unregisterAsNestedChild: PropTypes.func + }) + }; + VirtualizedList = _wrapComponent("VirtualizedList")(VirtualizedList); + + var CellRenderer = function (_React$Component) { + function CellRenderer() { + var _getPrototypeOf2; + + var _temp, _this6; + + _classCallCheck(this, CellRenderer); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this6, (_temp = _this6 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CellRenderer)).call.apply(_getPrototypeOf2, [this].concat(args))), _this6.state = { + separatorProps: { + highlighted: false, + leadingItem: _this6.props.item + } + }, _this6._separators = { + highlight: function highlight() { + var _this6$props = _this6.props, + cellKey = _this6$props.cellKey, + prevCellKey = _this6$props.prevCellKey; + + _this6.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: true + }); + }, + unhighlight: function unhighlight() { + var _this6$props2 = _this6.props, + cellKey = _this6$props2.cellKey, + prevCellKey = _this6$props2.prevCellKey; + + _this6.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: false + }); + }, + updateProps: function updateProps(select, newProps) { + var _this6$props3 = _this6.props, + cellKey = _this6$props3.cellKey, + prevCellKey = _this6$props3.prevCellKey; + + _this6.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps); + } + }, _temp)); + } + + _createClass(CellRenderer, [{ + key: "getChildContext", + value: function getChildContext() { + return { + virtualizedCell: { + cellKey: this.props.cellKey + } + }; + } + }, { + key: "updateSeparatorProps", + value: function updateSeparatorProps(newProps) { + this.setState(function (state) { + return { + separatorProps: _objectSpread({}, state.separatorProps, newProps) + }; + }); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.props.onUnmount(this.props.cellKey); + } + }, { + key: "render", + value: function render() { + var _this$props11 = this.props, + CellRendererComponent = _this$props11.CellRendererComponent, + ItemSeparatorComponent = _this$props11.ItemSeparatorComponent, + fillRateHelper = _this$props11.fillRateHelper, + horizontal = _this$props11.horizontal, + item = _this$props11.item, + index = _this$props11.index, + inversionStyle = _this$props11.inversionStyle, + parentProps = _this$props11.parentProps; + var renderItem = parentProps.renderItem, + getItemLayout = parentProps.getItemLayout; + invariant(renderItem, 'no renderItem!'); + var element = renderItem({ + item: item, + index: index, + separators: this._separators + }); + var onLayout = getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout; + var itemSeparator = ItemSeparatorComponent && React.createElement(ItemSeparatorComponent, _extends({}, this.state.separatorProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 1703 + } + })); + var cellStyle = inversionStyle ? horizontal ? [{ + flexDirection: 'row-reverse' + }, inversionStyle] : [{ + flexDirection: 'column-reverse' + }, inversionStyle] : horizontal ? [{ + flexDirection: 'row' + }, inversionStyle] : inversionStyle; + + if (!CellRendererComponent) { + return React.createElement(View, { + style: cellStyle, + onLayout: onLayout, + __source: { + fileName: _jsxFileName, + lineNumber: 1714 + } + }, element, itemSeparator); + } + + return React.createElement(CellRendererComponent, _extends({}, this.props, { + style: cellStyle, + onLayout: onLayout, + __source: { + fileName: _jsxFileName, + lineNumber: 1721 + } + }), element, itemSeparator); + } + }]); + + _inherits(CellRenderer, _React$Component); + + return CellRenderer; + }(React.Component); + + CellRenderer.childContextTypes = { + virtualizedCell: PropTypes.shape({ + cellKey: PropTypes.string + }) + }; + CellRenderer = _wrapComponent("CellRenderer")(CellRenderer); + + var VirtualizedCellWrapper = function (_React$Component2) { + function VirtualizedCellWrapper() { + _classCallCheck(this, VirtualizedCellWrapper); + + return _possibleConstructorReturn(this, _getPrototypeOf(VirtualizedCellWrapper).apply(this, arguments)); + } + + _createClass(VirtualizedCellWrapper, [{ + key: "getChildContext", + value: function getChildContext() { + return { + virtualizedCell: { + cellKey: this.props.cellKey + } + }; + } + }, { + key: "render", + value: function render() { + return this.props.children; + } + }]); + + _inherits(VirtualizedCellWrapper, _React$Component2); + + return VirtualizedCellWrapper; + }(React.Component); + + VirtualizedCellWrapper.childContextTypes = { + virtualizedCell: PropTypes.shape({ + cellKey: PropTypes.string + }) + }; + VirtualizedCellWrapper = _wrapComponent("VirtualizedCellWrapper")(VirtualizedCellWrapper); + var styles = StyleSheet.create({ + verticallyInverted: { + transform: [{ + scaleY: -1 + }] + }, + horizontallyInverted: { + transform: [{ + scaleX: -1 + }] + } + }); + module.exports = VirtualizedList; +},397,[1,11,398,399,212,200,261,396,367,201,218,227,400,226,309,166,183,401],"node_modules/react-native/Libraries/Lists/VirtualizedList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var InteractionManager = _$$_REQUIRE(_dependencyMap[0], 'InteractionManager'); + + var Batchinator = function () { + function Batchinator(callback, delayMS) { + _classCallCheck(this, Batchinator); + + this._delay = delayMS; + this._callback = callback; + } + + _createClass(Batchinator, [{ + key: "dispose", + value: function dispose() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { + abort: false + }; + + if (this._taskHandle) { + this._taskHandle.cancel(); + + if (!options.abort) { + this._callback(); + } + + this._taskHandle = null; + } + } + }, { + key: "schedule", + value: function schedule() { + var _this = this; + + if (this._taskHandle) { + return; + } + + var timeoutHandle = setTimeout(function () { + _this._taskHandle = InteractionManager.runAfterInteractions(function () { + _this._taskHandle = null; + + _this._callback(); + }); + }, this._delay); + this._taskHandle = { + cancel: function cancel() { + return clearTimeout(timeoutHandle); + } + }; + } + }]); + + return Batchinator; + }(); + + module.exports = Batchinator; +},398,[340],"node_modules/react-native/Libraries/Interaction/Batchinator.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var performanceNow = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/performanceNow'); + + var warning = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/warning'); + + var Info = function Info() { + _classCallCheck(this, Info); + + this.any_blank_count = 0; + this.any_blank_ms = 0; + this.any_blank_speed_sum = 0; + this.mostly_blank_count = 0; + this.mostly_blank_ms = 0; + this.pixels_blank = 0; + this.pixels_sampled = 0; + this.pixels_scrolled = 0; + this.total_time_spent = 0; + this.sample_count = 0; + }; + + var DEBUG = false; + var _listeners = []; + var _minSampleCount = 10; + + var _sampleRate = DEBUG ? 1 : null; + + var FillRateHelper = function () { + _createClass(FillRateHelper, null, [{ + key: "addListener", + value: function addListener(callback) { + warning(_sampleRate !== null, 'Call `FillRateHelper.setSampleRate` before `addListener`.'); + + _listeners.push(callback); + + return { + remove: function remove() { + _listeners = _listeners.filter(function (listener) { + return callback !== listener; + }); + } + }; + } + }, { + key: "setSampleRate", + value: function setSampleRate(sampleRate) { + _sampleRate = sampleRate; + } + }, { + key: "setMinSampleCount", + value: function setMinSampleCount(minSampleCount) { + _minSampleCount = minSampleCount; + } + }]); + + function FillRateHelper(getFrameMetrics) { + _classCallCheck(this, FillRateHelper); + + this._anyBlankStartTime = null; + this._enabled = false; + this._info = new Info(); + this._mostlyBlankStartTime = null; + this._samplesStartTime = null; + this._getFrameMetrics = getFrameMetrics; + this._enabled = (_sampleRate || 0) > Math.random(); + + this._resetData(); + } + + _createClass(FillRateHelper, [{ + key: "activate", + value: function activate() { + if (this._enabled && this._samplesStartTime == null) { + DEBUG && console.debug('FillRateHelper: activate'); + this._samplesStartTime = performanceNow(); + } + } + }, { + key: "deactivateAndFlush", + value: function deactivateAndFlush() { + if (!this._enabled) { + return; + } + + var start = this._samplesStartTime; + + if (start == null) { + DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time'); + return; + } + + if (this._info.sample_count < _minSampleCount) { + this._resetData(); + + return; + } + + var total_time_spent = performanceNow() - start; + + var info = _objectSpread({}, this._info, { + total_time_spent: total_time_spent + }); + + if (DEBUG) { + var derived = { + avg_blankness: this._info.pixels_blank / this._info.pixels_sampled, + avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000), + avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count, + any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60), + any_blank_time_frac: this._info.any_blank_ms / total_time_spent, + mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60), + mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent + }; + + for (var key in derived) { + derived[key] = Math.round(1000 * derived[key]) / 1000; + } + + console.debug('FillRateHelper deactivateAndFlush: ', { + derived: derived, + info: info + }); + } + + _listeners.forEach(function (listener) { + return listener(info); + }); + + this._resetData(); + } + }, { + key: "computeBlankness", + value: function computeBlankness(props, state, scrollMetrics) { + if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) { + return 0; + } + + var dOffset = scrollMetrics.dOffset, + offset = scrollMetrics.offset, + velocity = scrollMetrics.velocity, + visibleLength = scrollMetrics.visibleLength; + this._info.sample_count++; + this._info.pixels_sampled += Math.round(visibleLength); + this._info.pixels_scrolled += Math.round(Math.abs(dOffset)); + var scrollSpeed = Math.round(Math.abs(velocity) * 1000); + var now = performanceNow(); + + if (this._anyBlankStartTime != null) { + this._info.any_blank_ms += now - this._anyBlankStartTime; + } + + this._anyBlankStartTime = null; + + if (this._mostlyBlankStartTime != null) { + this._info.mostly_blank_ms += now - this._mostlyBlankStartTime; + } + + this._mostlyBlankStartTime = null; + var blankTop = 0; + var first = state.first; + + var firstFrame = this._getFrameMetrics(first); + + while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) { + firstFrame = this._getFrameMetrics(first); + first++; + } + + if (firstFrame && first > 0) { + blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset)); + } + + var blankBottom = 0; + var last = state.last; + + var lastFrame = this._getFrameMetrics(last); + + while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) { + lastFrame = this._getFrameMetrics(last); + last--; + } + + if (lastFrame && last < props.getItemCount(props.data) - 1) { + var bottomEdge = lastFrame.offset + lastFrame.length; + blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge)); + } + + var pixels_blank = Math.round(blankTop + blankBottom); + var blankness = pixels_blank / visibleLength; + + if (blankness > 0) { + this._anyBlankStartTime = now; + this._info.any_blank_speed_sum += scrollSpeed; + this._info.any_blank_count++; + this._info.pixels_blank += pixels_blank; + + if (blankness > 0.5) { + this._mostlyBlankStartTime = now; + this._info.mostly_blank_count++; + } + } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) { + this.deactivateAndFlush(); + } + + return blankness; + } + }, { + key: "enabled", + value: function enabled() { + return this._enabled; + } + }, { + key: "_resetData", + value: function _resetData() { + this._anyBlankStartTime = null; + this._info = new Info(); + this._mostlyBlankStartTime = null; + this._samplesStartTime = null; + } + }]); + + return FillRateHelper; + }(); + + module.exports = FillRateHelper; +},399,[177,183],"node_modules/react-native/Libraries/Lists/FillRateHelper.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var ViewabilityHelper = function () { + function ViewabilityHelper() { + var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { + viewAreaCoveragePercentThreshold: 0 + }; + + _classCallCheck(this, ViewabilityHelper); + + this._hasInteracted = false; + this._timers = new Set(); + this._viewableIndices = []; + this._viewableItems = new Map(); + this._config = config; + } + + _createClass(ViewabilityHelper, [{ + key: "dispose", + value: function dispose() { + this._timers.forEach(clearTimeout); + } + }, { + key: "computeViewableItems", + value: function computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange) { + var _this$_config = this._config, + itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold, + viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold; + var viewAreaMode = viewAreaCoveragePercentThreshold != null; + var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold; + invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold'); + var viewableIndices = []; + + if (itemCount === 0) { + return viewableIndices; + } + + var firstVisible = -1; + + var _ref = renderRange || { + first: 0, + last: itemCount - 1 + }, + first = _ref.first, + last = _ref.last; + + invariant(last < itemCount, 'Invalid render range ' + JSON.stringify({ + renderRange: renderRange, + itemCount: itemCount + })); + + for (var idx = first; idx <= last; idx++) { + var metrics = getFrameMetrics(idx); + + if (!metrics) { + continue; + } + + var top = metrics.offset - scrollOffset; + var bottom = top + metrics.length; + + if (top < viewportHeight && bottom > 0) { + firstVisible = idx; + + if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) { + viewableIndices.push(idx); + } + } else if (firstVisible >= 0) { + break; + } + } + + return viewableIndices; + } + }, { + key: "onUpdate", + value: function onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) { + var _this = this; + + if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) { + return; + } + + var viewableIndices = []; + + if (itemCount) { + viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange); + } + + if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every(function (v, ii) { + return v === viewableIndices[ii]; + })) { + return; + } + + this._viewableIndices = viewableIndices; + + if (this._config.minimumViewTime) { + var handle = setTimeout(function () { + _this._timers.delete(handle); + + _this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken); + }, this._config.minimumViewTime); + + this._timers.add(handle); + } else { + this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken); + } + } + }, { + key: "resetViewableIndices", + value: function resetViewableIndices() { + this._viewableIndices = []; + } + }, { + key: "recordInteraction", + value: function recordInteraction() { + this._hasInteracted = true; + } + }, { + key: "_onUpdateSync", + value: function _onUpdateSync(viewableIndicesToCheck, onViewableItemsChanged, createViewToken) { + var _this2 = this; + + viewableIndicesToCheck = viewableIndicesToCheck.filter(function (ii) { + return _this2._viewableIndices.includes(ii); + }); + var prevItems = this._viewableItems; + var nextItems = new Map(viewableIndicesToCheck.map(function (ii) { + var viewable = createViewToken(ii, true); + return [viewable.key, viewable]; + })); + var changed = []; + + for (var _iterator = nextItems, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref4; + + if (_isArray) { + if (_i2 >= _iterator.length) break; + _ref4 = _iterator[_i2++]; + } else { + _i2 = _iterator.next(); + if (_i2.done) break; + _ref4 = _i2.value; + } + + var _ref8 = _ref4; + + var _ref3 = _slicedToArray(_ref8, 2); + + var _key3 = _ref3[0]; + var _viewable2 = _ref3[1]; + + if (!prevItems.has(_key3)) { + changed.push(_viewable2); + } + } + + for (var _iterator2 = prevItems, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref7; + + if (_isArray2) { + if (_i3 >= _iterator2.length) break; + _ref7 = _iterator2[_i3++]; + } else { + _i3 = _iterator2.next(); + if (_i3.done) break; + _ref7 = _i3.value; + } + + var _ref9 = _ref7; + + var _ref6 = _slicedToArray(_ref9, 2); + + var _key4 = _ref6[0]; + var _viewable3 = _ref6[1]; + + if (!nextItems.has(_key4)) { + changed.push(_objectSpread({}, _viewable3, { + isViewable: false + })); + } + } + + if (changed.length > 0) { + this._viewableItems = nextItems; + onViewableItemsChanged({ + viewableItems: Array.from(nextItems.values()), + changed: changed, + viewabilityConfig: this._config + }); + } + } + }]); + + return ViewabilityHelper; + }(); + + function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) { + if (_isEntirelyVisible(top, bottom, viewportHeight)) { + return true; + } else { + var pixels = _getPixelsVisible(top, bottom, viewportHeight); + + var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength); + return percent >= viewablePercentThreshold; + } + } + + function _getPixelsVisible(top, bottom, viewportHeight) { + var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0); + return Math.max(0, visibleHeight); + } + + function _isEntirelyVisible(top, bottom, viewportHeight) { + return top >= 0 && bottom <= viewportHeight && bottom > top; + } + + module.exports = ViewabilityHelper; +},400,[166],"node_modules/react-native/Libraries/Lists/ViewabilityHelper.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + function elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) { + var out = []; + var outLength = 0; + + for (var ii = 0; ii < itemCount; ii++) { + var frame = getFrameMetrics(ii); + var trailingOffset = frame.offset + frame.length; + + for (var kk = 0; kk < offsets.length; kk++) { + if (out[kk] == null && trailingOffset >= offsets[kk]) { + out[kk] = ii; + outLength++; + + if (kk === offsets.length - 1) { + invariant(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets)); + return out; + } + } + } + } + + return out; + } + + function newRangeCount(prev, next) { + return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first)); + } + + function computeWindowedRenderLimits(props, prev, getFrameMetricsApprox, scrollMetrics) { + var data = props.data, + getItemCount = props.getItemCount, + maxToRenderPerBatch = props.maxToRenderPerBatch, + windowSize = props.windowSize; + var itemCount = getItemCount(data); + + if (itemCount === 0) { + return prev; + } + + var offset = scrollMetrics.offset, + velocity = scrollMetrics.velocity, + visibleLength = scrollMetrics.visibleLength; + var visibleBegin = Math.max(0, offset); + var visibleEnd = visibleBegin + visibleLength; + var overscanLength = (windowSize - 1) * visibleLength; + var leadFactor = 0.5; + var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none'; + var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength); + var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength); + var lastItemOffset = getFrameMetricsApprox(itemCount - 1).offset; + + if (lastItemOffset < overscanBegin) { + return { + first: Math.max(0, itemCount - 1 - maxToRenderPerBatch), + last: itemCount - 1 + }; + } + + var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props.getItemCount(props.data), getFrameMetricsApprox), + _elementsThatOverlapO2 = _slicedToArray(_elementsThatOverlapO, 4), + overscanFirst = _elementsThatOverlapO2[0], + first = _elementsThatOverlapO2[1], + last = _elementsThatOverlapO2[2], + overscanLast = _elementsThatOverlapO2[3]; + + overscanFirst = overscanFirst == null ? 0 : overscanFirst; + first = first == null ? Math.max(0, overscanFirst) : first; + overscanLast = overscanLast == null ? itemCount - 1 : overscanLast; + last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last; + var visible = { + first: first, + last: last + }; + var newCellCount = newRangeCount(prev, visible); + + while (true) { + if (first <= overscanFirst && last >= overscanLast) { + break; + } + + var maxNewCells = newCellCount >= maxToRenderPerBatch; + var firstWillAddMore = first <= prev.first || first > prev.last; + var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore); + var lastWillAddMore = last >= prev.last || last < prev.first; + var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore); + + if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) { + break; + } + + if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) { + if (firstWillAddMore) { + newCellCount++; + } + + first--; + } + + if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) { + if (lastWillAddMore) { + newCellCount++; + } + + last++; + } + } + + if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) { + throw new Error('Bad window calculation ' + JSON.stringify({ + first: first, + last: last, + itemCount: itemCount, + overscanFirst: overscanFirst, + overscanLast: overscanLast, + visible: visible + })); + } + + return { + first: first, + last: last + }; + } + + var VirtualizeUtils = { + computeWindowedRenderLimits: computeWindowedRenderLimits, + elementsThatOverlapOffsets: elementsThatOverlapOffsets, + newRangeCount: newRangeCount + }; + module.exports = VirtualizeUtils; +},401,[166],"node_modules/react-native/Libraries/Lists/VirtualizeUtils.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Image/ImageBackground.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + ImageBackground: { + displayName: "ImageBackground" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Image/ImageBackground.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Image = _$$_REQUIRE(_dependencyMap[2], 'Image'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var ensureComponentIsNative = _$$_REQUIRE(_dependencyMap[6], 'ensureComponentIsNative'); + + var ImageBackground = function (_React$Component) { + function ImageBackground() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, ImageBackground); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ImageBackground)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._viewRef = null, _this._captureRef = function (ref) { + _this._viewRef = ref; + }, _temp)); + } + + _createClass(ImageBackground, [{ + key: "setNativeProps", + value: function setNativeProps(props) { + var viewRef = this._viewRef; + + if (viewRef) { + ensureComponentIsNative(viewRef); + viewRef.setNativeProps(props); + } + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + children = _this$props.children, + style = _this$props.style, + imageStyle = _this$props.imageStyle, + imageRef = _this$props.imageRef, + props = _objectWithoutProperties(_this$props, ["children", "style", "imageStyle", "imageRef"]); + + return React.createElement(View, { + style: style, + ref: this._captureRef, + __source: { + fileName: _jsxFileName, + lineNumber: 63 + } + }, React.createElement(Image, _extends({}, props, { + style: [StyleSheet.absoluteFill, { + width: style.width, + height: style.height + }, imageStyle], + ref: imageRef, + __source: { + fileName: _jsxFileName, + lineNumber: 64 + } + })), children); + } + }]); + + _inherits(ImageBackground, _React$Component); + + return ImageBackground; + }(React.Component); + + ImageBackground = _wrapComponent("ImageBackground")(ImageBackground); + module.exports = ImageBackground; +},402,[1,11,361,200,201,227,403],"node_modules/react-native/Libraries/Image/ImageBackground.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var ensureComponentIsNative = function ensureComponentIsNative(component) { + invariant(component && typeof component.setNativeProps === 'function', 'Touchable child must either be native or forward setNativeProps to a ' + 'native component'); + }; + + module.exports = ensureComponentIsNative; +},403,[166],"node_modules/react-native/Libraries/Components/Touchable/ensureComponentIsNative.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var RCTImageEditingManager = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').ImageEditingManager; + + var ImageEditor = function () { + function ImageEditor() { + _classCallCheck(this, ImageEditor); + } + + _createClass(ImageEditor, null, [{ + key: "cropImage", + value: function cropImage(uri, cropData, success, failure) { + RCTImageEditingManager.cropImage(uri, cropData, success, failure); + } + }]); + + return ImageEditor; + }(); + + module.exports = ImageEditor; +},404,[168],"node_modules/react-native/Libraries/Image/ImageEditor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var RCTImageStoreManager = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').ImageStoreManager; + + var ImageStore = function () { + function ImageStore() { + _classCallCheck(this, ImageStore); + } + + _createClass(ImageStore, null, [{ + key: "hasImageForTag", + value: function hasImageForTag(uri, callback) { + if (RCTImageStoreManager.hasImageForTag) { + RCTImageStoreManager.hasImageForTag(uri, callback); + } else { + console.warn('hasImageForTag() not implemented'); + } + } + }, { + key: "removeImageForTag", + value: function removeImageForTag(uri) { + if (RCTImageStoreManager.removeImageForTag) { + RCTImageStoreManager.removeImageForTag(uri); + } else { + console.warn('removeImageForTag() not implemented'); + } + } + }, { + key: "addImageFromBase64", + value: function addImageFromBase64(base64ImageData, success, failure) { + RCTImageStoreManager.addImageFromBase64(base64ImageData, success, failure); + } + }, { + key: "getBase64ForTag", + value: function getBase64ForTag(uri, success, failure) { + RCTImageStoreManager.getBase64ForTag(uri, success, failure); + } + }]); + + return ImageStore; + }(); + + module.exports = ImageStore; +},405,[168],"node_modules/react-native/Libraries/Image/ImageStore.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + InputAccessoryView: { + displayName: "InputAccessoryView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[2], 'ColorPropType'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[5], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[6], 'requireNativeComponent'); + + var RCTInputAccessoryView = requireNativeComponent('RCTInputAccessoryView'); + + var InputAccessoryView = function (_React$Component) { + function InputAccessoryView() { + _classCallCheck(this, InputAccessoryView); + + return _possibleConstructorReturn(this, _getPrototypeOf(InputAccessoryView).apply(this, arguments)); + } + + _createClass(InputAccessoryView, [{ + key: "render", + value: function render() { + console.warn(' is not supported on Android yet.'); + + if (React.Children.count(this.props.children) === 0) { + return null; + } + + return React.createElement(RCTInputAccessoryView, { + style: [this.props.style, styles.container], + nativeID: this.props.nativeID, + backgroundColor: this.props.backgroundColor, + __source: { + fileName: _jsxFileName, + lineNumber: 99 + } + }, this.props.children); + } + }]); + + _inherits(InputAccessoryView, _React$Component); + + return InputAccessoryView; + }(React.Component); + + InputAccessoryView = _wrapComponent("InputAccessoryView")(InputAccessoryView); + var styles = StyleSheet.create({ + container: { + position: 'absolute' + } + }); + module.exports = InputAccessoryView; +},406,[1,11,207,200,201,376,229],"node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + KeyboardAvoidingView: { + displayName: "KeyboardAvoidingView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Keyboard = _$$_REQUIRE(_dependencyMap[2], 'Keyboard'); + + var LayoutAnimation = _$$_REQUIRE(_dependencyMap[3], 'LayoutAnimation'); + + var Platform = _$$_REQUIRE(_dependencyMap[4], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var viewRef = 'VIEW'; + + var KeyboardAvoidingView = function (_React$Component) { + function KeyboardAvoidingView() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, KeyboardAvoidingView); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(KeyboardAvoidingView)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._frame = null, _this._subscriptions = [], _this.state = { + bottom: 0 + }, _this._onKeyboardChange = function (event) { + if (event == null) { + _this.setState({ + bottom: 0 + }); + + return; + } + + var duration = event.duration, + easing = event.easing, + endCoordinates = event.endCoordinates; + + var height = _this._relativeKeyboardHeight(endCoordinates); + + if (_this.state.bottom === height) { + return; + } + + if (duration && easing) { + LayoutAnimation.configureNext({ + duration: duration, + update: { + duration: duration, + type: LayoutAnimation.Types[easing] || 'keyboard' + } + }); + } + + _this.setState({ + bottom: height + }); + }, _this._onLayout = function (event) { + _this._frame = event.nativeEvent.layout; + }, _temp)); + } + + _createClass(KeyboardAvoidingView, [{ + key: "_relativeKeyboardHeight", + value: function _relativeKeyboardHeight(keyboardFrame) { + var frame = this._frame; + + if (!frame || !keyboardFrame) { + return 0; + } + + var keyboardY = keyboardFrame.screenY - this.props.keyboardVerticalOffset; + return Math.max(frame.y + frame.height - keyboardY, 0); + } + }, { + key: "UNSAFE_componentWillUpdate", + value: function UNSAFE_componentWillUpdate(nextProps, nextState) { + if (nextState.bottom === this.state.bottom && this.props.behavior === 'height' && nextProps.behavior === 'height') { + nextState.bottom = 0; + } + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + if (Platform.OS === 'ios') { + this._subscriptions = [Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange)]; + } else { + this._subscriptions = [Keyboard.addListener('keyboardDidHide', this._onKeyboardChange), Keyboard.addListener('keyboardDidShow', this._onKeyboardChange)]; + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this._subscriptions.forEach(function (subscription) { + subscription.remove(); + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + behavior = _this$props.behavior, + children = _this$props.children, + contentContainerStyle = _this$props.contentContainerStyle, + enabled = _this$props.enabled, + keyboardVerticalOffset = _this$props.keyboardVerticalOffset, + style = _this$props.style, + props = _objectWithoutProperties(_this$props, ["behavior", "children", "contentContainerStyle", "enabled", "keyboardVerticalOffset", "style"]); + + var bottomHeight = enabled ? this.state.bottom : 0; + + switch (behavior) { + case 'height': + var heightStyle; + + if (this._frame != null) { + heightStyle = { + height: this._frame.height - bottomHeight, + flex: 0 + }; + } + + return React.createElement(View, _extends({ + ref: viewRef, + style: StyleSheet.compose(style, heightStyle), + onLayout: this._onLayout + }, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 172 + } + }), children); + + case 'position': + return React.createElement(View, _extends({ + ref: viewRef, + style: style, + onLayout: this._onLayout + }, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 186 + } + }), React.createElement(View, { + style: StyleSheet.compose(contentContainerStyle, { + bottom: bottomHeight + }), + __source: { + fileName: _jsxFileName, + lineNumber: 191 + } + }, children)); + + case 'padding': + return React.createElement(View, _extends({ + ref: viewRef, + style: StyleSheet.compose(style, { + paddingBottom: bottomHeight + }), + onLayout: this._onLayout + }, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 205 + } + }), children); + + default: + return React.createElement(View, _extends({ + ref: viewRef, + onLayout: this._onLayout, + style: style + }, props, { + __source: { + fileName: _jsxFileName, + lineNumber: 219 + } + }), children); + } + } + }]); + + _inherits(KeyboardAvoidingView, _React$Component); + + return KeyboardAvoidingView; + }(React.Component); + + KeyboardAvoidingView.defaultProps = { + enabled: true, + keyboardVerticalOffset: 0 + }; + KeyboardAvoidingView = _wrapComponent("KeyboardAvoidingView")(KeyboardAvoidingView); + module.exports = KeyboardAvoidingView; +},407,[1,11,371,372,176,200,201,227],"node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/MaskedView/MaskedViewIOS.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + MaskedViewIOS: { + displayName: "MaskedViewIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/MaskedView/MaskedViewIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var PropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[6], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[7], 'requireNativeComponent'); + + var RCTMaskedView = requireNativeComponent('RCTMaskedView'); + + var MaskedViewIOS = function (_React$Component) { + "use strict"; + + function MaskedViewIOS() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, MaskedViewIOS); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MaskedViewIOS)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._hasWarnedInvalidRenderMask = false, _temp)); + } + + _createClass(MaskedViewIOS, [{ + key: "render", + value: function render() { + var _this$props = this.props, + maskElement = _this$props.maskElement, + children = _this$props.children, + otherViewProps = _objectWithoutProperties(_this$props, ["maskElement", "children"]); + + if (!React.isValidElement(maskElement)) { + if (!this._hasWarnedInvalidRenderMask) { + console.warn('MaskedView: Invalid `maskElement` prop was passed to MaskedView. ' + 'Expected a React Element. No mask will render.'); + this._hasWarnedInvalidRenderMask = true; + } + + return React.createElement(View, _extends({}, otherViewProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 88 + } + }), children); + } + + return React.createElement(RCTMaskedView, _extends({}, otherViewProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 92 + } + }), React.createElement(View, { + pointerEvents: "none", + style: StyleSheet.absoluteFill, + __source: { + fileName: _jsxFileName, + lineNumber: 93 + } + }, maskElement), children); + } + }]); + + _inherits(MaskedViewIOS, _React$Component); + + return MaskedViewIOS; + }(React.Component); + + MaskedViewIOS.propTypes = _objectSpread({}, ViewPropTypes, { + maskElement: PropTypes.element.isRequired + }); + MaskedViewIOS = _wrapComponent("MaskedViewIOS")(MaskedViewIOS); + module.exports = MaskedViewIOS; +},408,[1,11,212,200,201,227,376,229],"node_modules/react-native/Libraries/Components/MaskedView/MaskedViewIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Modal/Modal.js", + _container; + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Modal: { + displayName: "Modal" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Modal/Modal.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var AppContainer = _$$_REQUIRE(_dependencyMap[2], 'AppContainer'); + + var I18nManager = _$$_REQUIRE(_dependencyMap[3], 'I18nManager'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[4], 'NativeEventEmitter'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[5], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[6], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[7], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[8], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[9], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[10], 'View'); + + var deprecatedPropType = _$$_REQUIRE(_dependencyMap[11], 'deprecatedPropType'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[12], 'requireNativeComponent'); + + var RCTModalHostView = requireNativeComponent('RCTModalHostView'); + var ModalEventEmitter = Platform.OS === 'ios' && NativeModules.ModalManager ? new NativeEventEmitter(NativeModules.ModalManager) : null; + var uniqueModalIdentifier = 0; + + var Modal = function (_React$Component) { + function Modal(props) { + var _this; + + _classCallCheck(this, Modal); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Modal).call(this, props)); + + Modal._confirmProps(props); + + _this._identifier = uniqueModalIdentifier++; + return _this; + } + + _createClass(Modal, [{ + key: "getChildContext", + value: function getChildContext() { + return { + virtualizedList: null + }; + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + if (ModalEventEmitter) { + this._eventSubscription = ModalEventEmitter.addListener('modalDismissed', function (event) { + if (event.modalID === _this2._identifier && _this2.props.onDismiss) { + _this2.props.onDismiss(); + } + }); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._eventSubscription) { + this._eventSubscription.remove(); + } + } + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + Modal._confirmProps(nextProps); + } + }, { + key: "render", + value: function render() { + if (this.props.visible === false) { + return null; + } + + var containerStyles = { + backgroundColor: this.props.transparent ? 'transparent' : 'white' + }; + var animationType = this.props.animationType; + + if (!animationType) { + animationType = 'none'; + + if (this.props.animated) { + animationType = 'slide'; + } + } + + var presentationStyle = this.props.presentationStyle; + + if (!presentationStyle) { + presentationStyle = 'fullScreen'; + + if (this.props.transparent) { + presentationStyle = 'overFullScreen'; + } + } + + var innerChildren = __DEV__ ? React.createElement(AppContainer, { + rootTag: this.context.rootTag, + __source: { + fileName: _jsxFileName, + lineNumber: 230 + } + }, this.props.children) : this.props.children; + return React.createElement(RCTModalHostView, { + animationType: animationType, + presentationStyle: presentationStyle, + transparent: this.props.transparent, + hardwareAccelerated: this.props.hardwareAccelerated, + onRequestClose: this.props.onRequestClose, + onShow: this.props.onShow, + identifier: this._identifier, + style: styles.modal, + onStartShouldSetResponder: this._shouldSetResponder, + supportedOrientations: this.props.supportedOrientations, + onOrientationChange: this.props.onOrientationChange, + __source: { + fileName: _jsxFileName, + lineNumber: 238 + } + }, React.createElement(View, { + style: [styles.container, containerStyles], + __source: { + fileName: _jsxFileName, + lineNumber: 250 + } + }, innerChildren)); + } + }, { + key: "_shouldSetResponder", + value: function _shouldSetResponder() { + return true; + } + }], [{ + key: "_confirmProps", + value: function _confirmProps(props) { + if (props.presentationStyle && props.presentationStyle !== 'overFullScreen' && props.transparent) { + console.warn("Modal with '" + props.presentationStyle + "' presentation style and 'transparent' value is not supported."); + } + } + }]); + + _inherits(Modal, _React$Component); + + return Modal; + }(React.Component); + + Modal.propTypes = { + animationType: PropTypes.oneOf(['none', 'slide', 'fade']), + presentationStyle: PropTypes.oneOf(['fullScreen', 'pageSheet', 'formSheet', 'overFullScreen']), + transparent: PropTypes.bool, + hardwareAccelerated: PropTypes.bool, + visible: PropTypes.bool, + onRequestClose: Platform.isTV || Platform.OS === 'android' ? PropTypes.func.isRequired : PropTypes.func, + onShow: PropTypes.func, + onDismiss: PropTypes.func, + animated: deprecatedPropType(PropTypes.bool, 'Use the `animationType` prop instead.'), + supportedOrientations: PropTypes.arrayOf(PropTypes.oneOf(['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right'])), + onOrientationChange: PropTypes.func + }; + Modal.defaultProps = { + visible: true, + hardwareAccelerated: false + }; + Modal.contextTypes = { + rootTag: PropTypes.number + }; + Modal.childContextTypes = { + virtualizedList: PropTypes.object + }; + Modal = _wrapComponent("Modal")(Modal); + var side = I18nManager.isRTL ? 'right' : 'left'; + var styles = StyleSheet.create({ + modal: { + position: 'absolute' + }, + container: (_container = { + position: 'absolute' + }, _defineProperty(_container, side, 0), _defineProperty(_container, "top", 0), _container) + }); + module.exports = Modal; +},409,[1,11,410,445,286,168,176,200,212,201,227,217,229],"node_modules/react-native/Libraries/Modal/Modal.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/ReactNative/AppContainer.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + AppContainer: { + displayName: "AppContainer" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/ReactNative/AppContainer.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var EmitterSubscription = _$$_REQUIRE(_dependencyMap[2], 'EmitterSubscription'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[4], 'RCTDeviceEventEmitter'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[6], 'ReactNative'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[7], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[8], 'View'); + + var AppContainer = function (_React$Component) { + function AppContainer() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, AppContainer); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(AppContainer)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + inspector: null, + mainKey: 1 + }, _this._subscription = null, _temp)); + } + + _createClass(AppContainer, [{ + key: "getChildContext", + value: function getChildContext() { + return { + rootTag: this.props.rootTag + }; + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + if (__DEV__) { + if (!global.__RCTProfileIsProfiling) { + this._subscription = RCTDeviceEventEmitter.addListener('toggleElementInspector', function () { + var Inspector = _$$_REQUIRE(_dependencyMap[9], 'Inspector'); + + var inspector = _this2.state.inspector ? null : React.createElement(Inspector, { + inspectedViewTag: ReactNative.findNodeHandle(_this2._mainRef), + onRequestRerenderApp: function onRequestRerenderApp(updateInspectedViewTag) { + _this2.setState(function (s) { + return { + mainKey: s.mainKey + 1 + }; + }, function () { + return updateInspectedViewTag(ReactNative.findNodeHandle(_this2._mainRef)); + }); + }, + __source: { + fileName: _jsxFileName, + lineNumber: 62 + } + }); + + _this2.setState({ + inspector: inspector + }); + }); + } + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._subscription != null) { + this._subscription.remove(); + } + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + var yellowBox = null; + + if (__DEV__) { + if (!global.__RCTProfileIsProfiling) { + var YellowBox = _$$_REQUIRE(_dependencyMap[10], 'YellowBox'); + + yellowBox = React.createElement(YellowBox, { + __source: { + fileName: _jsxFileName, + lineNumber: 93 + } + }); + } + } + + var innerView = React.createElement(View, { + collapsable: !this.state.inspector, + key: this.state.mainKey, + pointerEvents: "box-none", + style: styles.appContainer, + ref: function ref(_ref) { + _this3._mainRef = _ref; + }, + __source: { + fileName: _jsxFileName, + lineNumber: 98 + } + }, this.props.children); + var Wrapper = this.props.WrapperComponent; + + if (Wrapper != null) { + innerView = React.createElement(Wrapper, { + __source: { + fileName: _jsxFileName, + lineNumber: 112 + } + }, innerView); + } + + return React.createElement(View, { + style: styles.appContainer, + pointerEvents: "box-none", + __source: { + fileName: _jsxFileName, + lineNumber: 115 + } + }, innerView, yellowBox, this.state.inspector); + } + }]); + + _inherits(AppContainer, _React$Component); + + return AppContainer; + }(React.Component); + + AppContainer.childContextTypes = { + rootTag: PropTypes.number + }; + AppContainer = _wrapComponent("AppContainer")(AppContainer); + var styles = StyleSheet.create({ + appContainer: { + flex: 1 + } + }); + + if (__DEV__) { + if (!global.__RCTProfileIsProfiling) { + var YellowBox = _$$_REQUIRE(_dependencyMap[10], 'YellowBox'); + + YellowBox.install(); + } + } + + module.exports = AppContainer; +},410,[1,11,196,212,194,200,261,201,227,411,427],"node_modules/react-native/Libraries/ReactNative/AppContainer.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/Inspector.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Inspector: { + displayName: "Inspector" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/Inspector.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Dimensions = _$$_REQUIRE(_dependencyMap[2], 'Dimensions'); + + var InspectorOverlay = _$$_REQUIRE(_dependencyMap[3], 'InspectorOverlay'); + + var InspectorPanel = _$$_REQUIRE(_dependencyMap[4], 'InspectorPanel'); + + var Platform = _$$_REQUIRE(_dependencyMap[5], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[6], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[7], 'ReactNative'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[8], 'StyleSheet'); + + var Touchable = _$$_REQUIRE(_dependencyMap[9], 'Touchable'); + + var UIManager = _$$_REQUIRE(_dependencyMap[10], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[11], 'View'); + + var emptyObject = _$$_REQUIRE(_dependencyMap[12], 'fbjs/lib/emptyObject'); + + var invariant = _$$_REQUIRE(_dependencyMap[13], 'fbjs/lib/invariant'); + + var hook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__; + var renderers = findRenderers(); + hook.resolveRNStyle = _$$_REQUIRE(_dependencyMap[14], 'flattenStyle'); + + function findRenderers() { + var allRenderers = Object.keys(hook._renderers).map(function (key) { + return hook._renderers[key]; + }); + invariant(allRenderers.length >= 1, 'Expected to find at least one React Native renderer on DevTools hook.'); + return allRenderers; + } + + function getInspectorDataForViewTag(touchedViewTag) { + for (var i = 0; i < renderers.length; i++) { + var renderer = renderers[i]; + var inspectorData = renderer.getInspectorDataForViewTag(touchedViewTag); + + if (inspectorData.hierarchy.length > 0) { + return inspectorData; + } + } + + throw new Error('Expected to find at least one React renderer.'); + } + + var Inspector = function (_React$Component) { + function Inspector(_props) { + var _this; + + _classCallCheck(this, Inspector); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Inspector).call(this, _props)); + + _this.attachToDevtools = function (agent) { + var _hideWait = null; + var hlSub = agent.sub('highlight', function (_ref) { + var node = _ref.node, + name = _ref.name, + props = _ref.props; + clearTimeout(_hideWait); + + if (typeof node !== 'number') { + node = ReactNative.findNodeHandle(node); + } + + UIManager.measure(node, function (x, y, width, height, left, top) { + _this.setState({ + hierarchy: [], + inspected: { + frame: { + left: left, + top: top, + width: width, + height: height + }, + style: props ? props.style : emptyObject + } + }); + }); + }); + var hideSub = agent.sub('hideHighlight', function () { + if (_this.state.inspected === null) { + return; + } + + _hideWait = setTimeout(function () { + _this.setState({ + inspected: null + }); + }, 100); + }); + _this._subs = [hlSub, hideSub]; + agent.on('shutdown', function () { + _this.setState({ + devtoolsAgent: null + }); + + _this._subs = null; + }); + + _this.setState({ + devtoolsAgent: agent + }); + }; + + _this.state = { + devtoolsAgent: null, + hierarchy: null, + panelPos: 'bottom', + inspecting: true, + perfing: false, + inspected: null, + selection: null, + inspectedViewTag: _this.props.inspectedViewTag, + networking: false + }; + return _this; + } + + _createClass(Inspector, [{ + key: "componentDidMount", + value: function componentDidMount() { + hook.on('react-devtools', this.attachToDevtools); + + if (hook.reactDevtoolsAgent) { + this.attachToDevtools(hook.reactDevtoolsAgent); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._subs) { + this._subs.map(function (fn) { + return fn(); + }); + } + + hook.off('react-devtools', this.attachToDevtools); + } + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(newProps) { + this.setState({ + inspectedViewTag: newProps.inspectedViewTag + }); + } + }, { + key: "setSelection", + value: function setSelection(i) { + var _this2 = this; + + var hierarchyItem = this.state.hierarchy[i]; + + var _hierarchyItem$getIns = hierarchyItem.getInspectorData(ReactNative.findNodeHandle), + measure = _hierarchyItem$getIns.measure, + props = _hierarchyItem$getIns.props, + source = _hierarchyItem$getIns.source; + + measure(function (x, y, width, height, left, top) { + _this2.setState({ + inspected: { + frame: { + left: left, + top: top, + width: width, + height: height + }, + style: props.style, + source: source + }, + selection: i + }); + }); + } + }, { + key: "onTouchViewTag", + value: function onTouchViewTag(touchedViewTag, frame, pointerY) { + var _getInspectorDataForV = getInspectorDataForViewTag(touchedViewTag), + hierarchy = _getInspectorDataForV.hierarchy, + props = _getInspectorDataForV.props, + selection = _getInspectorDataForV.selection, + source = _getInspectorDataForV.source; + + if (this.state.devtoolsAgent) { + var offsetFromLeaf = hierarchy.length - 1 - selection; + this.state.devtoolsAgent.selectFromDOMNode(touchedViewTag, true, offsetFromLeaf); + } + + this.setState({ + panelPos: pointerY > Dimensions.get('window').height / 2 ? 'top' : 'bottom', + selection: selection, + hierarchy: hierarchy, + inspected: { + style: props.style, + frame: frame, + source: source + } + }); + } + }, { + key: "setPerfing", + value: function setPerfing(val) { + this.setState({ + perfing: val, + inspecting: false, + inspected: null, + networking: false + }); + } + }, { + key: "setInspecting", + value: function setInspecting(val) { + this.setState({ + inspecting: val, + inspected: null + }); + } + }, { + key: "setTouchTargeting", + value: function setTouchTargeting(val) { + var _this3 = this; + + Touchable.TOUCH_TARGET_DEBUG = val; + this.props.onRequestRerenderApp(function (inspectedViewTag) { + _this3.setState({ + inspectedViewTag: inspectedViewTag + }); + }); + } + }, { + key: "setNetworking", + value: function setNetworking(val) { + this.setState({ + networking: val, + perfing: false, + inspecting: false, + inspected: null + }); + } + }, { + key: "render", + value: function render() { + var panelContainerStyle = this.state.panelPos === 'bottom' ? { + bottom: 0 + } : { + top: Platform.OS === 'ios' ? 20 : 0 + }; + return React.createElement(View, { + style: styles.container, + pointerEvents: "box-none", + __source: { + fileName: _jsxFileName, + lineNumber: 249 + } + }, this.state.inspecting && React.createElement(InspectorOverlay, { + inspected: this.state.inspected, + inspectedViewTag: this.state.inspectedViewTag, + onTouchViewTag: this.onTouchViewTag.bind(this), + __source: { + fileName: _jsxFileName, + lineNumber: 251 + } + }), React.createElement(View, { + style: [styles.panelContainer, panelContainerStyle], + __source: { + fileName: _jsxFileName, + lineNumber: 257 + } + }, React.createElement(InspectorPanel, { + devtoolsIsOpen: !!this.state.devtoolsAgent, + inspecting: this.state.inspecting, + perfing: this.state.perfing, + setPerfing: this.setPerfing.bind(this), + setInspecting: this.setInspecting.bind(this), + inspected: this.state.inspected, + hierarchy: this.state.hierarchy, + selection: this.state.selection, + setSelection: this.setSelection.bind(this), + touchTargeting: Touchable.TOUCH_TARGET_DEBUG, + setTouchTargeting: this.setTouchTargeting.bind(this), + networking: this.state.networking, + setNetworking: this.setNetworking.bind(this), + __source: { + fileName: _jsxFileName, + lineNumber: 258 + } + }))); + } + }]); + + _inherits(Inspector, _React$Component); + + return Inspector; + }(React.Component); + + Inspector = _wrapComponent("Inspector")(Inspector); + var styles = StyleSheet.create({ + container: { + position: 'absolute', + backgroundColor: 'transparent', + top: 0, + left: 0, + right: 0, + bottom: 0 + }, + panelContainer: { + position: 'absolute', + left: 0, + right: 0 + } + }); + module.exports = Inspector; +},411,[1,11,203,412,416,176,200,261,201,257,218,227,323,166,226],"node_modules/react-native/Libraries/Inspector/Inspector.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/InspectorOverlay.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + InspectorOverlay: { + displayName: "InspectorOverlay" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/InspectorOverlay.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Dimensions = _$$_REQUIRE(_dependencyMap[2], 'Dimensions'); + + var ElementBox = _$$_REQUIRE(_dependencyMap[3], 'ElementBox'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var UIManager = _$$_REQUIRE(_dependencyMap[7], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[8], 'View'); + + var InspectorOverlay = function (_React$Component) { + function InspectorOverlay() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, InspectorOverlay); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(InspectorOverlay)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.findViewForTouchEvent = function (e) { + var _e$nativeEvent$touche = e.nativeEvent.touches[0], + locationX = _e$nativeEvent$touche.locationX, + locationY = _e$nativeEvent$touche.locationY; + UIManager.findSubviewIn(_this.props.inspectedViewTag, [locationX, locationY], function (nativeViewTag, left, top, width, height) { + _this.props.onTouchViewTag(nativeViewTag, { + left: left, + top: top, + width: width, + height: height + }, locationY); + }); + }, _this.shouldSetResponser = function (e) { + _this.findViewForTouchEvent(e); + + return true; + }, _temp)); + } + + _createClass(InspectorOverlay, [{ + key: "render", + value: function render() { + var content = null; + + if (this.props.inspected) { + content = React.createElement(ElementBox, { + frame: this.props.inspected.frame, + style: this.props.inspected.style, + __source: { + fileName: _jsxFileName, + lineNumber: 66 + } + }); + } + + return React.createElement(View, { + onStartShouldSetResponder: this.shouldSetResponser, + onResponderMove: this.findViewForTouchEvent, + style: [styles.inspector, { + height: Dimensions.get('window').height + }], + __source: { + fileName: _jsxFileName, + lineNumber: 74 + } + }, content); + } + }]); + + _inherits(InspectorOverlay, _React$Component); + + return InspectorOverlay; + }(React.Component); + + InspectorOverlay.propTypes = { + inspected: PropTypes.shape({ + frame: PropTypes.object, + style: PropTypes.any + }), + inspectedViewTag: PropTypes.number, + onTouchViewTag: PropTypes.func.isRequired + }; + InspectorOverlay = _wrapComponent("InspectorOverlay")(InspectorOverlay); + var styles = StyleSheet.create({ + inspector: { + backgroundColor: 'transparent', + position: 'absolute', + left: 0, + top: 0, + right: 0 + } + }); + module.exports = InspectorOverlay; +},412,[1,11,203,413,212,200,201,218,227],"node_modules/react-native/Libraries/Inspector/InspectorOverlay.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/ElementBox.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + ElementBox: { + displayName: "ElementBox" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/ElementBox.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var View = _$$_REQUIRE(_dependencyMap[3], 'View'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var BorderBox = _$$_REQUIRE(_dependencyMap[5], 'BorderBox'); + + var resolveBoxStyle = _$$_REQUIRE(_dependencyMap[6], 'resolveBoxStyle'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[7], 'flattenStyle'); + + var ElementBox = function (_React$Component) { + function ElementBox() { + _classCallCheck(this, ElementBox); + + return _possibleConstructorReturn(this, _getPrototypeOf(ElementBox).apply(this, arguments)); + } + + _createClass(ElementBox, [{ + key: "render", + value: function render() { + var style = flattenStyle(this.props.style) || {}; + var margin = resolveBoxStyle('margin', style); + var padding = resolveBoxStyle('padding', style); + var frameStyle = this.props.frame; + + if (margin) { + frameStyle = { + top: frameStyle.top - margin.top, + left: frameStyle.left - margin.left, + height: frameStyle.height + margin.top + margin.bottom, + width: frameStyle.width + margin.left + margin.right + }; + } + + var contentStyle = { + width: this.props.frame.width, + height: this.props.frame.height + }; + + if (padding) { + contentStyle = { + width: contentStyle.width - padding.left - padding.right, + height: contentStyle.height - padding.top - padding.bottom + }; + } + + return React.createElement(View, { + style: [styles.frame, frameStyle], + pointerEvents: "none", + __source: { + fileName: _jsxFileName, + lineNumber: 46 + } + }, React.createElement(BorderBox, { + box: margin, + style: styles.margin, + __source: { + fileName: _jsxFileName, + lineNumber: 47 + } + }, React.createElement(BorderBox, { + box: padding, + style: styles.padding, + __source: { + fileName: _jsxFileName, + lineNumber: 48 + } + }, React.createElement(View, { + style: [styles.content, contentStyle], + __source: { + fileName: _jsxFileName, + lineNumber: 49 + } + })))); + } + }]); + + _inherits(ElementBox, _React$Component); + + return ElementBox; + }(React.Component); + + ElementBox = _wrapComponent("ElementBox")(ElementBox); + var styles = StyleSheet.create({ + frame: { + position: 'absolute' + }, + content: { + backgroundColor: 'rgba(200, 230, 255, 0.8)' + }, + padding: { + borderColor: 'rgba(77, 255, 0, 0.3)' + }, + margin: { + borderColor: 'rgba(255, 132, 0, 0.3)' + } + }); + module.exports = ElementBox; +},413,[1,11,200,227,201,414,415,226],"node_modules/react-native/Libraries/Inspector/ElementBox.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/BorderBox.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + BorderBox: { + displayName: "BorderBox" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/BorderBox.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var View = _$$_REQUIRE(_dependencyMap[3], 'View'); + + var BorderBox = function (_React$Component) { + function BorderBox() { + _classCallCheck(this, BorderBox); + + return _possibleConstructorReturn(this, _getPrototypeOf(BorderBox).apply(this, arguments)); + } + + _createClass(BorderBox, [{ + key: "render", + value: function render() { + var box = this.props.box; + + if (!box) { + return this.props.children; + } + + var style = { + borderTopWidth: box.top, + borderBottomWidth: box.bottom, + borderLeftWidth: box.left, + borderRightWidth: box.right + }; + return React.createElement(View, { + style: [style, this.props.style], + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, this.props.children); + } + }]); + + _inherits(BorderBox, _React$Component); + + return BorderBox; + }(React.Component); + + BorderBox = _wrapComponent("BorderBox")(BorderBox); + module.exports = BorderBox; +},414,[1,11,200,227],"node_modules/react-native/Libraries/Inspector/BorderBox.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function resolveBoxStyle(prefix, style) { + var res = {}; + var subs = ['top', 'left', 'bottom', 'right']; + var set = false; + subs.forEach(function (sub) { + res[sub] = style[prefix] || 0; + }); + + if (style[prefix]) { + set = true; + } + + if (style[prefix + 'Vertical']) { + res.top = res.bottom = style[prefix + 'Vertical']; + set = true; + } + + if (style[prefix + 'Horizontal']) { + res.left = res.right = style[prefix + 'Horizontal']; + set = true; + } + + subs.forEach(function (sub) { + var val = style[prefix + capFirst(sub)]; + + if (val) { + res[sub] = val; + set = true; + } + }); + + if (!set) { + return; + } + + return res; + } + + function capFirst(text) { + return text[0].toUpperCase() + text.slice(1); + } + + module.exports = resolveBoxStyle; +},415,[],"node_modules/react-native/Libraries/Inspector/resolveBoxStyle.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/InspectorPanel.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + InspectorPanel: { + displayName: "InspectorPanel" + }, + Button: { + displayName: "Button" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/InspectorPanel.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ElementProperties = _$$_REQUIRE(_dependencyMap[2], 'ElementProperties'); + + var NetworkOverlay = _$$_REQUIRE(_dependencyMap[3], 'NetworkOverlay'); + + var PerformanceOverlay = _$$_REQUIRE(_dependencyMap[4], 'PerformanceOverlay'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[6], 'prop-types'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[7], 'ScrollView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[8], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[9], 'Text'); + + var TouchableHighlight = _$$_REQUIRE(_dependencyMap[10], 'TouchableHighlight'); + + var View = _$$_REQUIRE(_dependencyMap[11], 'View'); + + var InspectorPanel = function (_React$Component) { + function InspectorPanel() { + _classCallCheck(this, InspectorPanel); + + return _possibleConstructorReturn(this, _getPrototypeOf(InspectorPanel).apply(this, arguments)); + } + + _createClass(InspectorPanel, [{ + key: "renderWaiting", + value: function renderWaiting() { + if (this.props.inspecting) { + return React.createElement(Text, { + style: styles.waitingText, + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, "Tap something to inspect it"); + } + + return React.createElement(Text, { + style: styles.waitingText, + __source: { + fileName: _jsxFileName, + lineNumber: 31 + } + }, "Nothing is inspected"); + } + }, { + key: "render", + value: function render() { + var contents; + + if (this.props.inspected) { + contents = React.createElement(ScrollView, { + style: styles.properties, + __source: { + fileName: _jsxFileName, + lineNumber: 38 + } + }, React.createElement(ElementProperties, { + style: this.props.inspected.style, + frame: this.props.inspected.frame, + source: this.props.inspected.source, + hierarchy: this.props.hierarchy, + selection: this.props.selection, + setSelection: this.props.setSelection, + __source: { + fileName: _jsxFileName, + lineNumber: 39 + } + })); + } else if (this.props.perfing) { + contents = React.createElement(PerformanceOverlay, { + __source: { + fileName: _jsxFileName, + lineNumber: 50 + } + }); + } else if (this.props.networking) { + contents = React.createElement(NetworkOverlay, { + __source: { + fileName: _jsxFileName, + lineNumber: 52 + } + }); + } else { + contents = React.createElement(View, { + style: styles.waiting, + __source: { + fileName: _jsxFileName, + lineNumber: 54 + } + }, this.renderWaiting()); + } + + return React.createElement(View, { + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 57 + } + }, !this.props.devtoolsIsOpen && contents, React.createElement(View, { + style: styles.buttonRow, + __source: { + fileName: _jsxFileName, + lineNumber: 59 + } + }, React.createElement(Button, { + title: 'Inspect', + pressed: this.props.inspecting, + onClick: this.props.setInspecting, + __source: { + fileName: _jsxFileName, + lineNumber: 60 + } + }), React.createElement(Button, { + title: 'Perf', + pressed: this.props.perfing, + onClick: this.props.setPerfing, + __source: { + fileName: _jsxFileName, + lineNumber: 65 + } + }), React.createElement(Button, { + title: 'Network', + pressed: this.props.networking, + onClick: this.props.setNetworking, + __source: { + fileName: _jsxFileName, + lineNumber: 70 + } + }), React.createElement(Button, { + title: 'Touchables', + pressed: this.props.touchTargeting, + onClick: this.props.setTouchTargeting, + __source: { + fileName: _jsxFileName, + lineNumber: 75 + } + }))); + } + }]); + + _inherits(InspectorPanel, _React$Component); + + return InspectorPanel; + }(React.Component); + + InspectorPanel = _wrapComponent("InspectorPanel")(InspectorPanel); + InspectorPanel.propTypes = { + devtoolsIsOpen: PropTypes.bool, + inspecting: PropTypes.bool, + setInspecting: PropTypes.func, + inspected: PropTypes.object, + perfing: PropTypes.bool, + setPerfing: PropTypes.func, + touchTargeting: PropTypes.bool, + setTouchTargeting: PropTypes.func, + networking: PropTypes.bool, + setNetworking: PropTypes.func + }; + + var Button = function (_React$Component2) { + function Button() { + _classCallCheck(this, Button); + + return _possibleConstructorReturn(this, _getPrototypeOf(Button).apply(this, arguments)); + } + + _createClass(Button, [{ + key: "render", + value: function render() { + var _this = this; + + return React.createElement(TouchableHighlight, { + onPress: function onPress() { + return _this.props.onClick(!_this.props.pressed); + }, + style: [styles.button, this.props.pressed && styles.buttonPressed], + __source: { + fileName: _jsxFileName, + lineNumber: 102 + } + }, React.createElement(Text, { + style: styles.buttonText, + __source: { + fileName: _jsxFileName, + lineNumber: 105 + } + }, this.props.title)); + } + }]); + + _inherits(Button, _React$Component2); + + return Button; + }(React.Component); + + Button = _wrapComponent("Button")(Button); + var styles = StyleSheet.create({ + buttonRow: { + flexDirection: 'row' + }, + button: { + backgroundColor: 'rgba(0, 0, 0, 0.3)', + margin: 2, + height: 30, + justifyContent: 'center', + alignItems: 'center' + }, + buttonPressed: { + backgroundColor: 'rgba(255, 255, 255, 0.3)' + }, + buttonText: { + textAlign: 'center', + color: 'white', + margin: 5 + }, + container: { + backgroundColor: 'rgba(0, 0, 0, 0.7)' + }, + properties: { + height: 200 + }, + waiting: { + height: 100 + }, + waitingText: { + fontSize: 20, + textAlign: 'center', + marginVertical: 20, + color: 'white' + } + }); + module.exports = InspectorPanel; +},416,[1,11,417,423,426,200,212,367,201,252,420,227],"node_modules/react-native/Libraries/Inspector/InspectorPanel.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/ElementProperties.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + ElementProperties: { + displayName: "ElementProperties" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/ElementProperties.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var BoxInspector = _$$_REQUIRE(_dependencyMap[2], 'BoxInspector'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var StyleInspector = _$$_REQUIRE(_dependencyMap[5], 'StyleInspector'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[7], 'Text'); + + var TouchableHighlight = _$$_REQUIRE(_dependencyMap[8], 'TouchableHighlight'); + + var TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[9], 'TouchableWithoutFeedback'); + + var View = _$$_REQUIRE(_dependencyMap[10], 'View'); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[11], 'flattenStyle'); + + var mapWithSeparator = _$$_REQUIRE(_dependencyMap[12], 'mapWithSeparator'); + + var openFileInEditor = _$$_REQUIRE(_dependencyMap[13], 'openFileInEditor'); + + var ElementProperties = function (_React$Component) { + function ElementProperties() { + _classCallCheck(this, ElementProperties); + + return _possibleConstructorReturn(this, _getPrototypeOf(ElementProperties).apply(this, arguments)); + } + + _createClass(ElementProperties, [{ + key: "render", + value: function render() { + var _this = this; + + var style = flattenStyle(this.props.style); + var selection = this.props.selection; + var openFileButton; + var source = this.props.source; + + var _ref = source || {}, + fileName = _ref.fileName, + lineNumber = _ref.lineNumber; + + if (fileName && lineNumber) { + var parts = fileName.split('/'); + var fileNameShort = parts[parts.length - 1]; + openFileButton = React.createElement(TouchableHighlight, { + style: styles.openButton, + onPress: openFileInEditor.bind(null, fileName, lineNumber), + __source: { + fileName: _jsxFileName, + lineNumber: 61 + } + }, React.createElement(Text, { + style: styles.openButtonTitle, + numberOfLines: 1, + __source: { + fileName: _jsxFileName, + lineNumber: 64 + } + }, fileNameShort, ":", lineNumber)); + } + + return React.createElement(TouchableWithoutFeedback, { + __source: { + fileName: _jsxFileName, + lineNumber: 73 + } + }, React.createElement(View, { + style: styles.info, + __source: { + fileName: _jsxFileName, + lineNumber: 74 + } + }, React.createElement(View, { + style: styles.breadcrumb, + __source: { + fileName: _jsxFileName, + lineNumber: 75 + } + }, mapWithSeparator(this.props.hierarchy, function (hierarchyItem, i) { + return React.createElement(TouchableHighlight, { + key: 'item-' + i, + style: [styles.breadItem, i === selection && styles.selected], + onPress: function onPress() { + return _this.props.setSelection(i); + }, + __source: { + fileName: _jsxFileName, + lineNumber: 79 + } + }, React.createElement(Text, { + style: styles.breadItemText, + __source: { + fileName: _jsxFileName, + lineNumber: 84 + } + }, hierarchyItem.name)); + }, function (i) { + return React.createElement(Text, { + key: 'sep-' + i, + style: styles.breadSep, + __source: { + fileName: _jsxFileName, + lineNumber: 88 + } + }, "\u25B8"); + })), React.createElement(View, { + style: styles.row, + __source: { + fileName: _jsxFileName, + lineNumber: 94 + } + }, React.createElement(View, { + style: styles.col, + __source: { + fileName: _jsxFileName, + lineNumber: 95 + } + }, React.createElement(StyleInspector, { + style: style, + __source: { + fileName: _jsxFileName, + lineNumber: 96 + } + }), openFileButton), React.createElement(BoxInspector, { + style: style, + frame: this.props.frame, + __source: { + fileName: _jsxFileName, + lineNumber: 101 + } + })))); + } + }]); + + _inherits(ElementProperties, _React$Component); + + return ElementProperties; + }(React.Component); + + ElementProperties.propTypes = { + hierarchy: PropTypes.array.isRequired, + style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.number]), + source: PropTypes.shape({ + fileName: PropTypes.string, + lineNumber: PropTypes.number + }) + }; + ElementProperties = _wrapComponent("ElementProperties")(ElementProperties); + var styles = StyleSheet.create({ + breadSep: { + fontSize: 8, + color: 'white' + }, + breadcrumb: { + flexDirection: 'row', + flexWrap: 'wrap', + alignItems: 'flex-start', + marginBottom: 5 + }, + selected: { + borderColor: 'white', + borderRadius: 5 + }, + breadItem: { + borderWidth: 1, + borderColor: 'transparent', + marginHorizontal: 2 + }, + breadItemText: { + fontSize: 10, + color: 'white', + marginHorizontal: 5 + }, + row: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between' + }, + col: { + flex: 1 + }, + info: { + padding: 10 + }, + openButton: { + padding: 10, + backgroundColor: '#000', + marginVertical: 5, + marginRight: 5, + borderRadius: 2 + }, + openButtonTitle: { + color: 'white', + fontSize: 8 + } + }); + module.exports = ElementProperties; +},417,[1,11,418,212,200,419,201,252,420,383,227,226,421,422],"node_modules/react-native/Libraries/Inspector/ElementProperties.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/BoxInspector.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + BoxInspector: { + displayName: "BoxInspector" + }, + BoxContainer: { + displayName: "BoxContainer" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/BoxInspector.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[4], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var resolveBoxStyle = _$$_REQUIRE(_dependencyMap[6], 'resolveBoxStyle'); + + var blank = { + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + + var BoxInspector = function (_React$Component) { + function BoxInspector() { + _classCallCheck(this, BoxInspector); + + return _possibleConstructorReturn(this, _getPrototypeOf(BoxInspector).apply(this, arguments)); + } + + _createClass(BoxInspector, [{ + key: "render", + value: function render() { + var frame = this.props.frame; + var style = this.props.style; + var margin = style && resolveBoxStyle('margin', style) || blank; + var padding = style && resolveBoxStyle('padding', style) || blank; + return React.createElement(BoxContainer, { + title: "margin", + titleStyle: styles.marginLabel, + box: margin, + __source: { + fileName: _jsxFileName, + lineNumber: 33 + } + }, React.createElement(BoxContainer, { + title: "padding", + box: padding, + __source: { + fileName: _jsxFileName, + lineNumber: 34 + } + }, React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 35 + } + }, React.createElement(Text, { + style: styles.innerText, + __source: { + fileName: _jsxFileName, + lineNumber: 36 + } + }, "(", (frame.left || 0).toFixed(1), ", ", (frame.top || 0).toFixed(1), ")"), React.createElement(Text, { + style: styles.innerText, + __source: { + fileName: _jsxFileName, + lineNumber: 39 + } + }, (frame.width || 0).toFixed(1), " \xD7", ' ', (frame.height || 0).toFixed(1))))); + } + }]); + + _inherits(BoxInspector, _React$Component); + + return BoxInspector; + }(React.Component); + + BoxInspector = _wrapComponent("BoxInspector")(BoxInspector); + + var BoxContainer = function (_React$Component2) { + function BoxContainer() { + _classCallCheck(this, BoxContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(BoxContainer).apply(this, arguments)); + } + + _createClass(BoxContainer, [{ + key: "render", + value: function render() { + var box = this.props.box; + return React.createElement(View, { + style: styles.box, + __source: { + fileName: _jsxFileName, + lineNumber: 54 + } + }, React.createElement(View, { + style: styles.row, + __source: { + fileName: _jsxFileName, + lineNumber: 55 + } + }, React.createElement(Text, { + style: [this.props.titleStyle, styles.label], + __source: { + fileName: _jsxFileName, + lineNumber: 57 + } + }, this.props.title), React.createElement(Text, { + style: styles.boxText, + __source: { + fileName: _jsxFileName, + lineNumber: 60 + } + }, box.top)), React.createElement(View, { + style: styles.row, + __source: { + fileName: _jsxFileName, + lineNumber: 62 + } + }, React.createElement(Text, { + style: styles.boxText, + __source: { + fileName: _jsxFileName, + lineNumber: 63 + } + }, box.left), this.props.children, React.createElement(Text, { + style: styles.boxText, + __source: { + fileName: _jsxFileName, + lineNumber: 65 + } + }, box.right)), React.createElement(Text, { + style: styles.boxText, + __source: { + fileName: _jsxFileName, + lineNumber: 67 + } + }, box.bottom)); + } + }]); + + _inherits(BoxContainer, _React$Component2); + + return BoxContainer; + }(React.Component); + + BoxContainer = _wrapComponent("BoxContainer")(BoxContainer); + var styles = StyleSheet.create({ + row: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-around' + }, + marginLabel: { + width: 60 + }, + label: { + fontSize: 10, + color: 'rgb(255,100,0)', + marginLeft: 5, + flex: 1, + textAlign: 'left', + top: -3 + }, + buffer: { + fontSize: 10, + color: 'yellow', + flex: 1, + textAlign: 'center' + }, + innerText: { + color: 'yellow', + fontSize: 12, + textAlign: 'center', + width: 70 + }, + box: { + borderWidth: 1, + borderColor: 'grey' + }, + boxText: { + color: 'white', + fontSize: 12, + marginHorizontal: 3, + marginVertical: 2, + textAlign: 'center' + } + }); + module.exports = BoxInspector; +},418,[1,11,200,201,252,227,415],"node_modules/react-native/Libraries/Inspector/BoxInspector.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/StyleInspector.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + StyleInspector: { + displayName: "StyleInspector" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/StyleInspector.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[4], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var StyleInspector = function (_React$Component) { + function StyleInspector() { + _classCallCheck(this, StyleInspector); + + return _possibleConstructorReturn(this, _getPrototypeOf(StyleInspector).apply(this, arguments)); + } + + _createClass(StyleInspector, [{ + key: "render", + value: function render() { + var _this = this; + + if (!this.props.style) { + return React.createElement(Text, { + style: styles.noStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 21 + } + }, "No style"); + } + + var names = Object.keys(this.props.style); + return React.createElement(View, { + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 25 + } + }, React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 26 + } + }, names.map(function (name) { + return React.createElement(Text, { + key: name, + style: styles.attr, + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, name, ":"); + })), React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 34 + } + }, names.map(function (name) { + var value = typeof _this.props.style[name] === 'object' ? JSON.stringify(_this.props.style[name]) : _this.props.style[name]; + return React.createElement(Text, { + key: name, + style: styles.value, + __source: { + fileName: _jsxFileName, + lineNumber: 41 + } + }, value); + }))); + } + }]); + + _inherits(StyleInspector, _React$Component); + + return StyleInspector; + }(React.Component); + + StyleInspector = _wrapComponent("StyleInspector")(StyleInspector); + var styles = StyleSheet.create({ + container: { + flexDirection: 'row' + }, + row: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-around' + }, + attr: { + fontSize: 10, + color: '#ccc' + }, + value: { + fontSize: 10, + color: 'white', + marginLeft: 10 + }, + noStyle: { + color: 'white', + fontSize: 10 + } + }); + module.exports = StyleInspector; +},419,[1,11,200,201,252,227],"node_modules/react-native/Libraries/Inspector/StyleInspector.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[1], 'NativeMethodsMixin'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var ReactNativeViewAttributes = _$$_REQUIRE(_dependencyMap[5], 'ReactNativeViewAttributes'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var Touchable = _$$_REQUIRE(_dependencyMap[7], 'Touchable'); + + var TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[8], 'TouchableWithoutFeedback'); + + var View = _$$_REQUIRE(_dependencyMap[9], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[10], 'ViewPropTypes'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[11], 'create-react-class'); + + var ensurePositiveDelayProps = _$$_REQUIRE(_dependencyMap[12], 'ensurePositiveDelayProps'); + + var DEFAULT_PROPS = { + activeOpacity: 0.85, + delayPressOut: 100, + underlayColor: 'black' + }; + var PRESS_RETENTION_OFFSET = { + top: 20, + left: 20, + right: 20, + bottom: 30 + }; + var TouchableHighlight = createReactClass({ + displayName: 'TouchableHighlight', + propTypes: _objectSpread({}, TouchableWithoutFeedback.propTypes, { + activeOpacity: PropTypes.number, + underlayColor: ColorPropType, + style: ViewPropTypes.style, + onShowUnderlay: PropTypes.func, + onHideUnderlay: PropTypes.func, + hasTVPreferredFocus: PropTypes.bool, + tvParallaxProperties: PropTypes.object, + testOnly_pressed: PropTypes.bool + }), + mixins: [NativeMethodsMixin, Touchable.Mixin], + getDefaultProps: function getDefaultProps() { + return DEFAULT_PROPS; + }, + getInitialState: function getInitialState() { + this._isMounted = false; + + if (this.props.testOnly_pressed) { + return _objectSpread({}, this.touchableGetInitialState(), { + extraChildStyle: { + opacity: this.props.activeOpacity + }, + extraUnderlayStyle: { + backgroundColor: this.props.underlayColor + } + }); + } else { + return _objectSpread({}, this.touchableGetInitialState(), { + extraChildStyle: null, + extraUnderlayStyle: null + }); + } + }, + componentDidMount: function componentDidMount() { + this._isMounted = true; + ensurePositiveDelayProps(this.props); + }, + componentWillUnmount: function componentWillUnmount() { + this._isMounted = false; + clearTimeout(this._hideTimeout); + }, + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + ensurePositiveDelayProps(nextProps); + }, + viewConfig: { + uiViewClassName: 'RCTView', + validAttributes: ReactNativeViewAttributes.RCTView + }, + touchableHandleActivePressIn: function touchableHandleActivePressIn(e) { + clearTimeout(this._hideTimeout); + this._hideTimeout = null; + + this._showUnderlay(); + + this.props.onPressIn && this.props.onPressIn(e); + }, + touchableHandleActivePressOut: function touchableHandleActivePressOut(e) { + if (!this._hideTimeout) { + this._hideUnderlay(); + } + + this.props.onPressOut && this.props.onPressOut(e); + }, + touchableHandlePress: function touchableHandlePress(e) { + clearTimeout(this._hideTimeout); + + if (!Platform.isTV) { + this._showUnderlay(); + + this._hideTimeout = setTimeout(this._hideUnderlay, this.props.delayPressOut); + } + + this.props.onPress && this.props.onPress(e); + }, + touchableHandleLongPress: function touchableHandleLongPress(e) { + this.props.onLongPress && this.props.onLongPress(e); + }, + touchableGetPressRectOffset: function touchableGetPressRectOffset() { + return this.props.pressRetentionOffset || PRESS_RETENTION_OFFSET; + }, + touchableGetHitSlop: function touchableGetHitSlop() { + return this.props.hitSlop; + }, + touchableGetHighlightDelayMS: function touchableGetHighlightDelayMS() { + return this.props.delayPressIn; + }, + touchableGetLongPressDelayMS: function touchableGetLongPressDelayMS() { + return this.props.delayLongPress; + }, + touchableGetPressOutDelayMS: function touchableGetPressOutDelayMS() { + return this.props.delayPressOut; + }, + _showUnderlay: function _showUnderlay() { + if (!this._isMounted || !this._hasPressHandler()) { + return; + } + + this.setState({ + extraChildStyle: { + opacity: this.props.activeOpacity + }, + extraUnderlayStyle: { + backgroundColor: this.props.underlayColor + } + }); + this.props.onShowUnderlay && this.props.onShowUnderlay(); + }, + _hideUnderlay: function _hideUnderlay() { + clearTimeout(this._hideTimeout); + this._hideTimeout = null; + + if (this.props.testOnly_pressed) { + return; + } + + if (this._hasPressHandler()) { + this.setState({ + extraChildStyle: null, + extraUnderlayStyle: null + }); + this.props.onHideUnderlay && this.props.onHideUnderlay(); + } + }, + _hasPressHandler: function _hasPressHandler() { + return !!(this.props.onPress || this.props.onPressIn || this.props.onPressOut || this.props.onLongPress); + }, + render: function render() { + var child = React.Children.only(this.props.children); + return React.createElement(View, { + accessible: this.props.accessible !== false, + accessibilityLabel: this.props.accessibilityLabel, + accessibilityComponentType: this.props.accessibilityComponentType, + accessibilityTraits: this.props.accessibilityTraits, + style: StyleSheet.compose(this.props.style, this.state.extraUnderlayStyle), + onLayout: this.props.onLayout, + hitSlop: this.props.hitSlop, + isTVSelectable: true, + tvParallaxProperties: this.props.tvParallaxProperties, + hasTVPreferredFocus: this.props.hasTVPreferredFocus, + onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder, + onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest, + onResponderGrant: this.touchableHandleResponderGrant, + onResponderMove: this.touchableHandleResponderMove, + onResponderRelease: this.touchableHandleResponderRelease, + onResponderTerminate: this.touchableHandleResponderTerminate, + nativeID: this.props.nativeID, + testID: this.props.testID, + __source: { + fileName: _jsxFileName, + lineNumber: 348 + } + }, React.cloneElement(child, { + style: StyleSheet.compose(child.props.style, this.state.extraChildStyle) + }), Touchable.renderDebugView({ + color: 'green', + hitSlop: this.props.hitSlop + })); + } + }); + module.exports = TouchableHighlight; +},420,[207,364,212,176,200,247,201,257,383,227,376,365,384],"node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function mapWithSeparator(items, itemRenderer, spacerRenderer) { + var mapped = []; + + if (items.length > 0) { + mapped.push(itemRenderer(items[0], 0, items)); + + for (var ii = 1; ii < items.length; ii++) { + mapped.push(spacerRenderer(ii - 1), itemRenderer(items[ii], ii, items)); + } + } + + return mapped; + } + + module.exports = mapWithSeparator; +},421,[],"node_modules/react-native/Libraries/Utilities/mapWithSeparator.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var getDevServer = _$$_REQUIRE(_dependencyMap[0], 'getDevServer'); + + function openFileInEditor(file, lineNumber) { + fetch(getDevServer().url + 'open-stack-frame', { + method: 'POST', + body: JSON.stringify({ + file: file, + lineNumber: lineNumber + }) + }); + } + + module.exports = openFileInEditor; +},422,[273],"node_modules/react-native/Libraries/Core/Devtools/openFileInEditor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/NetworkOverlay.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + var _components = { + NetworkOverlay: { + displayName: "NetworkOverlay" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/NetworkOverlay.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ListView = _$$_REQUIRE(_dependencyMap[2], 'ListView'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[4], 'ScrollView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[6], 'Text'); + + var TouchableHighlight = _$$_REQUIRE(_dependencyMap[7], 'TouchableHighlight'); + + var View = _$$_REQUIRE(_dependencyMap[8], 'View'); + + var WebSocketInterceptor = _$$_REQUIRE(_dependencyMap[9], 'WebSocketInterceptor'); + + var XHRInterceptor = _$$_REQUIRE(_dependencyMap[10], 'XHRInterceptor'); + + var LISTVIEW_CELL_HEIGHT = 15; + var SEPARATOR_THICKNESS = 2; + var nextXHRId = 0; + + var NetworkOverlay = function (_React$Component) { + function NetworkOverlay(props) { + var _this; + + _classCallCheck(this, NetworkOverlay); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(NetworkOverlay).call(this, props)); + _this._requests = []; + _this._detailViewItems = []; + _this._listViewDataSource = new ListView.DataSource({ + rowHasChanged: function rowHasChanged(r1, r2) { + return r1 !== r2; + } + }); + _this.state = { + dataSource: _this._listViewDataSource.cloneWithRows([]), + newDetailInfo: false, + detailRowID: null + }; + _this._listViewHighlighted = false; + _this._listViewHeight = 0; + _this._captureRequestListView = _this._captureRequestListView.bind(_assertThisInitialized(_assertThisInitialized(_this))); + _this._captureDetailScrollView = _this._captureDetailScrollView.bind(_assertThisInitialized(_assertThisInitialized(_this))); + _this._listViewOnLayout = _this._listViewOnLayout.bind(_assertThisInitialized(_assertThisInitialized(_this))); + _this._renderRow = _this._renderRow.bind(_assertThisInitialized(_assertThisInitialized(_this))); + _this._closeButtonClicked = _this._closeButtonClicked.bind(_assertThisInitialized(_assertThisInitialized(_this))); + _this._socketIdMap = {}; + _this._xhrIdMap = {}; + return _this; + } + + _createClass(NetworkOverlay, [{ + key: "_enableXHRInterception", + value: function _enableXHRInterception() { + var _this2 = this; + + if (XHRInterceptor.isInterceptorEnabled()) { + return; + } + + XHRInterceptor.setOpenCallback(function (method, url, xhr) { + xhr._index = nextXHRId++; + var xhrIndex = _this2._requests.length; + _this2._xhrIdMap[xhr._index] = xhrIndex; + var _xhr = { + type: 'XMLHttpRequest', + method: method, + url: url + }; + + _this2._requests.push(_xhr); + + _this2._detailViewItems.push([]); + + _this2._genDetailViewItem(xhrIndex); + + _this2.setState({ + dataSource: _this2._listViewDataSource.cloneWithRows(_this2._requests) + }, _this2._scrollToBottom()); + }); + XHRInterceptor.setRequestHeaderCallback(function (header, value, xhr) { + var xhrIndex = _this2._getRequestIndexByXHRID(xhr._index); + + if (xhrIndex === -1) { + return; + } + + var networkInfo = _this2._requests[xhrIndex]; + + if (!networkInfo.requestHeaders) { + networkInfo.requestHeaders = {}; + } + + networkInfo.requestHeaders[header] = value; + + _this2._genDetailViewItem(xhrIndex); + }); + XHRInterceptor.setSendCallback(function (data, xhr) { + var xhrIndex = _this2._getRequestIndexByXHRID(xhr._index); + + if (xhrIndex === -1) { + return; + } + + _this2._requests[xhrIndex].dataSent = data; + + _this2._genDetailViewItem(xhrIndex); + }); + XHRInterceptor.setHeaderReceivedCallback(function (type, size, responseHeaders, xhr) { + var xhrIndex = _this2._getRequestIndexByXHRID(xhr._index); + + if (xhrIndex === -1) { + return; + } + + var networkInfo = _this2._requests[xhrIndex]; + networkInfo.responseContentType = type; + networkInfo.responseSize = size; + networkInfo.responseHeaders = responseHeaders; + + _this2._genDetailViewItem(xhrIndex); + }); + XHRInterceptor.setResponseCallback(function (status, timeout, response, responseURL, responseType, xhr) { + var xhrIndex = _this2._getRequestIndexByXHRID(xhr._index); + + if (xhrIndex === -1) { + return; + } + + var networkInfo = _this2._requests[xhrIndex]; + networkInfo.status = status; + networkInfo.timeout = timeout; + networkInfo.response = response; + networkInfo.responseURL = responseURL; + networkInfo.responseType = responseType; + + _this2._genDetailViewItem(xhrIndex); + }); + XHRInterceptor.enableInterception(); + } + }, { + key: "_enableWebSocketInterception", + value: function _enableWebSocketInterception() { + var _this3 = this; + + if (WebSocketInterceptor.isInterceptorEnabled()) { + return; + } + + WebSocketInterceptor.setConnectCallback(function (url, protocols, options, socketId) { + var socketIndex = _this3._requests.length; + _this3._socketIdMap[socketId] = socketIndex; + var _webSocket = { + type: 'WebSocket', + url: url, + protocols: protocols + }; + + _this3._requests.push(_webSocket); + + _this3._detailViewItems.push([]); + + _this3._genDetailViewItem(socketIndex); + + _this3.setState({ + dataSource: _this3._listViewDataSource.cloneWithRows(_this3._requests) + }, _this3._scrollToBottom()); + }); + WebSocketInterceptor.setCloseCallback(function (statusCode, closeReason, socketId) { + var socketIndex = _this3._socketIdMap[socketId]; + + if (socketIndex === undefined) { + return; + } + + if (statusCode !== null && closeReason !== null) { + _this3._requests[socketIndex].status = statusCode; + _this3._requests[socketIndex].closeReason = closeReason; + } + + _this3._genDetailViewItem(socketIndex); + }); + WebSocketInterceptor.setSendCallback(function (data, socketId) { + var socketIndex = _this3._socketIdMap[socketId]; + + if (socketIndex === undefined) { + return; + } + + if (!_this3._requests[socketIndex].messages) { + _this3._requests[socketIndex].messages = ''; + } + + _this3._requests[socketIndex].messages += 'Sent: ' + JSON.stringify(data) + '\n'; + + _this3._genDetailViewItem(socketIndex); + }); + WebSocketInterceptor.setOnMessageCallback(function (socketId, message) { + var socketIndex = _this3._socketIdMap[socketId]; + + if (socketIndex === undefined) { + return; + } + + if (!_this3._requests[socketIndex].messages) { + _this3._requests[socketIndex].messages = ''; + } + + _this3._requests[socketIndex].messages += 'Received: ' + JSON.stringify(message) + '\n'; + + _this3._genDetailViewItem(socketIndex); + }); + WebSocketInterceptor.setOnCloseCallback(function (socketId, message) { + var socketIndex = _this3._socketIdMap[socketId]; + + if (socketIndex === undefined) { + return; + } + + _this3._requests[socketIndex].serverClose = message; + + _this3._genDetailViewItem(socketIndex); + }); + WebSocketInterceptor.setOnErrorCallback(function (socketId, message) { + var socketIndex = _this3._socketIdMap[socketId]; + + if (socketIndex === undefined) { + return; + } + + _this3._requests[socketIndex].serverError = message; + + _this3._genDetailViewItem(socketIndex); + }); + WebSocketInterceptor.enableInterception(); + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + this._enableXHRInterception(); + + this._enableWebSocketInterception(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + XHRInterceptor.disableInterception(); + WebSocketInterceptor.disableInterception(); + } + }, { + key: "_renderRow", + value: function _renderRow(rowData, sectionID, rowID, highlightRow) { + var _this4 = this; + + var urlCellViewStyle = styles.urlEvenCellView; + var methodCellViewStyle = styles.methodEvenCellView; + + if (rowID % 2 === 1) { + urlCellViewStyle = styles.urlOddCellView; + methodCellViewStyle = styles.methodOddCellView; + } + + return React.createElement(TouchableHighlight, { + onPress: function onPress() { + _this4._pressRow(rowID); + + highlightRow(sectionID, rowID); + }, + __source: { + fileName: _jsxFileName, + lineNumber: 297 + } + }, React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 302 + } + }, React.createElement(View, { + style: styles.tableRow, + __source: { + fileName: _jsxFileName, + lineNumber: 303 + } + }, React.createElement(View, { + style: urlCellViewStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 304 + } + }, React.createElement(Text, { + style: styles.cellText, + numberOfLines: 1, + __source: { + fileName: _jsxFileName, + lineNumber: 305 + } + }, rowData.url)), React.createElement(View, { + style: methodCellViewStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 309 + } + }, React.createElement(Text, { + style: styles.cellText, + numberOfLines: 1, + __source: { + fileName: _jsxFileName, + lineNumber: 310 + } + }, this._getTypeShortName(rowData.type)))))); + } + }, { + key: "_renderSeperator", + value: function _renderSeperator(sectionID, rowID, adjacentRowHighlighted) { + return React.createElement(View, { + key: sectionID + "-" + rowID, + style: { + height: adjacentRowHighlighted ? SEPARATOR_THICKNESS : 0, + backgroundColor: adjacentRowHighlighted ? '#3B5998' : '#CCCCCC' + }, + __source: { + fileName: _jsxFileName, + lineNumber: 326 + } + }); + } + }, { + key: "_scrollToBottom", + value: function _scrollToBottom() { + if (this._listView) { + var scrollResponder = this._listView.getScrollResponder(); + + if (scrollResponder) { + var scrollY = Math.max(this._requests.length * LISTVIEW_CELL_HEIGHT + (this._listViewHighlighted ? 2 * SEPARATOR_THICKNESS : 0) - this._listViewHeight, 0); + scrollResponder.scrollResponderScrollTo({ + x: 0, + y: scrollY, + animated: true + }); + } + } + } + }, { + key: "_captureRequestListView", + value: function _captureRequestListView(listRef) { + this._listView = listRef; + } + }, { + key: "_listViewOnLayout", + value: function _listViewOnLayout(event) { + var height = event.nativeEvent.layout.height; + this._listViewHeight = height; + } + }, { + key: "_pressRow", + value: function _pressRow(rowID) { + this._listViewHighlighted = true; + this.setState({ + detailRowID: rowID + }, this._scrollToTop()); + } + }, { + key: "_scrollToTop", + value: function _scrollToTop() { + if (this._scrollView) { + this._scrollView.scrollTo({ + y: 0, + animated: false + }); + } + } + }, { + key: "_captureDetailScrollView", + value: function _captureDetailScrollView(scrollRef) { + this._scrollView = scrollRef; + } + }, { + key: "_closeButtonClicked", + value: function _closeButtonClicked() { + this.setState({ + detailRowID: null + }); + } + }, { + key: "_getStringByValue", + value: function _getStringByValue(value) { + if (value === undefined) { + return 'undefined'; + } + + if (typeof value === 'object') { + return JSON.stringify(value); + } + + if (typeof value === 'string' && value.length > 500) { + return String(value).substr(0, 500).concat('\n***TRUNCATED TO 500 CHARACTERS***'); + } + + return value; + } + }, { + key: "_getRequestIndexByXHRID", + value: function _getRequestIndexByXHRID(index) { + if (index === undefined) { + return -1; + } + + var xhrIndex = this._xhrIdMap[index]; + + if (xhrIndex === undefined) { + return -1; + } else { + return xhrIndex; + } + } + }, { + key: "_getTypeShortName", + value: function _getTypeShortName(type) { + if (type === 'XMLHttpRequest') { + return 'XHR'; + } else if (type === 'WebSocket') { + return 'WS'; + } + + return ''; + } + }, { + key: "_genDetailViewItem", + value: function _genDetailViewItem(index) { + this._detailViewItems[index] = []; + var detailViewItem = this._detailViewItems[index]; + var requestItem = this._requests[index]; + + for (var _key in requestItem) { + detailViewItem.push(React.createElement(View, { + style: styles.detailViewRow, + key: _key, + __source: { + fileName: _jsxFileName, + lineNumber: 439 + } + }, React.createElement(Text, { + style: [styles.detailViewText, styles.detailKeyCellView], + __source: { + fileName: _jsxFileName, + lineNumber: 440 + } + }, _key), React.createElement(Text, { + style: [styles.detailViewText, styles.detailValueCellView], + __source: { + fileName: _jsxFileName, + lineNumber: 443 + } + }, this._getStringByValue(requestItem[_key])))); + } + + if (this.state.detailRowID != null && Number(this.state.detailRowID) === index) { + this.setState({ + newDetailInfo: true + }); + } + } + }, { + key: "render", + value: function render() { + return React.createElement(View, { + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 460 + } + }, this.state.detailRowID != null && React.createElement(TouchableHighlight, { + style: styles.closeButton, + onPress: this._closeButtonClicked, + __source: { + fileName: _jsxFileName, + lineNumber: 462 + } + }, React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 465 + } + }, React.createElement(Text, { + style: styles.clostButtonText, + __source: { + fileName: _jsxFileName, + lineNumber: 466 + } + }, "v"))), this.state.detailRowID != null && React.createElement(ScrollView, { + style: styles.detailScrollView, + ref: this._captureDetailScrollView, + __source: { + fileName: _jsxFileName, + lineNumber: 471 + } + }, this._detailViewItems[this.state.detailRowID]), React.createElement(View, { + style: styles.listViewTitle, + __source: { + fileName: _jsxFileName, + lineNumber: 477 + } + }, this._requests.length > 0 && React.createElement(View, { + style: styles.tableRow, + __source: { + fileName: _jsxFileName, + lineNumber: 479 + } + }, React.createElement(View, { + style: styles.urlTitleCellView, + __source: { + fileName: _jsxFileName, + lineNumber: 480 + } + }, React.createElement(Text, { + style: styles.cellText, + numberOfLines: 1, + __source: { + fileName: _jsxFileName, + lineNumber: 481 + } + }, "URL")), React.createElement(View, { + style: styles.methodTitleCellView, + __source: { + fileName: _jsxFileName, + lineNumber: 485 + } + }, React.createElement(Text, { + style: styles.cellText, + numberOfLines: 1, + __source: { + fileName: _jsxFileName, + lineNumber: 486 + } + }, "Type")))), React.createElement(ListView, { + style: styles.listView, + ref: this._captureRequestListView, + dataSource: this.state.dataSource, + renderRow: this._renderRow, + enableEmptySections: true, + renderSeparator: this._renderSeperator, + onLayout: this._listViewOnLayout, + __source: { + fileName: _jsxFileName, + lineNumber: 493 + } + })); + } + }]); + + _inherits(NetworkOverlay, _React$Component); + + return NetworkOverlay; + }(React.Component); + + NetworkOverlay = _wrapComponent("NetworkOverlay")(NetworkOverlay); + var styles = StyleSheet.create({ + container: { + paddingTop: 10, + paddingBottom: 10, + paddingLeft: 5, + paddingRight: 5 + }, + listViewTitle: { + height: 20 + }, + listView: { + flex: 1, + height: 60 + }, + tableRow: { + flexDirection: 'row', + flex: 1 + }, + cellText: { + color: 'white', + fontSize: 12 + }, + methodTitleCellView: { + height: 18, + borderColor: '#DCD7CD', + borderTopWidth: 1, + borderBottomWidth: 1, + borderRightWidth: 1, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#444', + flex: 1 + }, + urlTitleCellView: { + height: 18, + borderColor: '#DCD7CD', + borderTopWidth: 1, + borderBottomWidth: 1, + borderLeftWidth: 1, + borderRightWidth: 1, + justifyContent: 'center', + backgroundColor: '#444', + flex: 5, + paddingLeft: 3 + }, + methodOddCellView: { + height: 15, + borderColor: '#DCD7CD', + borderRightWidth: 1, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#000', + flex: 1 + }, + urlOddCellView: { + height: 15, + borderColor: '#DCD7CD', + borderLeftWidth: 1, + borderRightWidth: 1, + justifyContent: 'center', + backgroundColor: '#000', + flex: 5, + paddingLeft: 3 + }, + methodEvenCellView: { + height: 15, + borderColor: '#DCD7CD', + borderRightWidth: 1, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#888', + flex: 1 + }, + urlEvenCellView: { + height: 15, + borderColor: '#DCD7CD', + borderLeftWidth: 1, + borderRightWidth: 1, + justifyContent: 'center', + backgroundColor: '#888', + flex: 5, + paddingLeft: 3 + }, + detailScrollView: { + flex: 1, + height: 180, + marginTop: 5, + marginBottom: 5 + }, + detailKeyCellView: { + flex: 1.3 + }, + detailValueCellView: { + flex: 2 + }, + detailViewRow: { + flexDirection: 'row', + paddingHorizontal: 3 + }, + detailViewText: { + color: 'white', + fontSize: 11 + }, + clostButtonText: { + color: 'white', + fontSize: 10 + }, + closeButton: { + marginTop: 5, + backgroundColor: '#888', + justifyContent: 'center', + alignItems: 'center' + } + }); + module.exports = NetworkOverlay; +},423,[1,11,390,200,367,201,252,420,227,424,425],"node_modules/react-native/Libraries/Inspector/NetworkOverlay.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var RCTWebSocketModule = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').WebSocketModule; + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeEventEmitter'); + + var base64 = _$$_REQUIRE(_dependencyMap[2], 'base64-js'); + + var originalRCTWebSocketConnect = RCTWebSocketModule.connect; + var originalRCTWebSocketSend = RCTWebSocketModule.send; + var originalRCTWebSocketSendBinary = RCTWebSocketModule.sendBinary; + var originalRCTWebSocketClose = RCTWebSocketModule.close; + var eventEmitter; + var subscriptions; + var closeCallback; + var sendCallback; + var connectCallback; + var onOpenCallback; + var onMessageCallback; + var onErrorCallback; + var onCloseCallback; + var _isInterceptorEnabled = false; + var WebSocketInterceptor = { + setCloseCallback: function setCloseCallback(callback) { + closeCallback = callback; + }, + setSendCallback: function setSendCallback(callback) { + sendCallback = callback; + }, + setConnectCallback: function setConnectCallback(callback) { + connectCallback = callback; + }, + setOnOpenCallback: function setOnOpenCallback(callback) { + onOpenCallback = callback; + }, + setOnMessageCallback: function setOnMessageCallback(callback) { + onMessageCallback = callback; + }, + setOnErrorCallback: function setOnErrorCallback(callback) { + onErrorCallback = callback; + }, + setOnCloseCallback: function setOnCloseCallback(callback) { + onCloseCallback = callback; + }, + isInterceptorEnabled: function isInterceptorEnabled() { + return _isInterceptorEnabled; + }, + _unregisterEvents: function _unregisterEvents() { + subscriptions.forEach(function (e) { + return e.remove(); + }); + subscriptions = []; + }, + _registerEvents: function _registerEvents() { + subscriptions = [eventEmitter.addListener('websocketMessage', function (ev) { + if (onMessageCallback) { + onMessageCallback(ev.id, ev.type === 'binary' ? WebSocketInterceptor._arrayBufferToString(ev.data) : ev.data); + } + }), eventEmitter.addListener('websocketOpen', function (ev) { + if (onOpenCallback) { + onOpenCallback(ev.id); + } + }), eventEmitter.addListener('websocketClosed', function (ev) { + if (onCloseCallback) { + onCloseCallback(ev.id, { + code: ev.code, + reason: ev.reason + }); + } + }), eventEmitter.addListener('websocketFailed', function (ev) { + if (onErrorCallback) { + onErrorCallback(ev.id, { + message: ev.message + }); + } + })]; + }, + enableInterception: function enableInterception() { + if (_isInterceptorEnabled) { + return; + } + + eventEmitter = new NativeEventEmitter(RCTWebSocketModule); + + WebSocketInterceptor._registerEvents(); + + RCTWebSocketModule.connect = function (url, protocols, options, socketId) { + if (connectCallback) { + connectCallback(url, protocols, options, socketId); + } + + originalRCTWebSocketConnect.apply(this, arguments); + }; + + RCTWebSocketModule.send = function (data, socketId) { + if (sendCallback) { + sendCallback(data, socketId); + } + + originalRCTWebSocketSend.apply(this, arguments); + }; + + RCTWebSocketModule.sendBinary = function (data, socketId) { + if (sendCallback) { + sendCallback(WebSocketInterceptor._arrayBufferToString(data), socketId); + } + + originalRCTWebSocketSendBinary.apply(this, arguments); + }; + + RCTWebSocketModule.close = function () { + if (closeCallback) { + if (arguments.length === 3) { + closeCallback(arguments[0], arguments[1], arguments[2]); + } else { + closeCallback(null, null, arguments[0]); + } + } + + originalRCTWebSocketClose.apply(this, arguments); + }; + + _isInterceptorEnabled = true; + }, + _arrayBufferToString: function _arrayBufferToString(data) { + var value = base64.toByteArray(data).buffer; + + if (value === undefined || value === null) { + return '(no value)'; + } + + if (typeof ArrayBuffer !== 'undefined' && typeof Uint8Array !== 'undefined' && value instanceof ArrayBuffer) { + return "ArrayBuffer {" + String(Array.from(new Uint8Array(value))) + "}"; + } + + return value; + }, + disableInterception: function disableInterception() { + if (!_isInterceptorEnabled) { + return; + } + + _isInterceptorEnabled = false; + RCTWebSocketModule.send = originalRCTWebSocketSend; + RCTWebSocketModule.sendBinary = originalRCTWebSocketSendBinary; + RCTWebSocketModule.close = originalRCTWebSocketClose; + RCTWebSocketModule.connect = originalRCTWebSocketConnect; + connectCallback = null; + closeCallback = null; + sendCallback = null; + onOpenCallback = null; + onMessageCallback = null; + onCloseCallback = null; + onErrorCallback = null; + + WebSocketInterceptor._unregisterEvents(); + } + }; + module.exports = WebSocketInterceptor; +},424,[168,286,289],"node_modules/react-native/Libraries/WebSocket/WebSocketInterceptor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var XMLHttpRequest = _$$_REQUIRE(_dependencyMap[0], 'XMLHttpRequest'); + + var originalXHROpen = XMLHttpRequest.prototype.open; + var originalXHRSend = XMLHttpRequest.prototype.send; + var originalXHRSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader; + var openCallback; + var sendCallback; + var requestHeaderCallback; + var headerReceivedCallback; + var responseCallback; + var _isInterceptorEnabled = false; + var XHRInterceptor = { + setOpenCallback: function setOpenCallback(callback) { + openCallback = callback; + }, + setSendCallback: function setSendCallback(callback) { + sendCallback = callback; + }, + setHeaderReceivedCallback: function setHeaderReceivedCallback(callback) { + headerReceivedCallback = callback; + }, + setResponseCallback: function setResponseCallback(callback) { + responseCallback = callback; + }, + setRequestHeaderCallback: function setRequestHeaderCallback(callback) { + requestHeaderCallback = callback; + }, + isInterceptorEnabled: function isInterceptorEnabled() { + return _isInterceptorEnabled; + }, + enableInterception: function enableInterception() { + if (_isInterceptorEnabled) { + return; + } + + XMLHttpRequest.prototype.open = function (method, url) { + if (openCallback) { + openCallback(method, url, this); + } + + originalXHROpen.apply(this, arguments); + }; + + XMLHttpRequest.prototype.setRequestHeader = function (header, value) { + if (requestHeaderCallback) { + requestHeaderCallback(header, value, this); + } + + originalXHRSetRequestHeader.apply(this, arguments); + }; + + XMLHttpRequest.prototype.send = function (data) { + var _this = this; + + if (sendCallback) { + sendCallback(data, this); + } + + if (this.addEventListener) { + this.addEventListener('readystatechange', function () { + if (!_isInterceptorEnabled) { + return; + } + + if (_this.readyState === _this.HEADERS_RECEIVED) { + var contentTypeString = _this.getResponseHeader('Content-Type'); + + var contentLengthString = _this.getResponseHeader('Content-Length'); + + var responseContentType, responseSize; + + if (contentTypeString) { + responseContentType = contentTypeString.split(';')[0]; + } + + if (contentLengthString) { + responseSize = parseInt(contentLengthString, 10); + } + + if (headerReceivedCallback) { + headerReceivedCallback(responseContentType, responseSize, _this.getAllResponseHeaders(), _this); + } + } + + if (_this.readyState === _this.DONE) { + if (responseCallback) { + responseCallback(_this.status, _this.timeout, _this.response, _this.responseURL, _this.responseType, _this); + } + } + }, false); + } + + originalXHRSend.apply(this, arguments); + }; + + _isInterceptorEnabled = true; + }, + disableInterception: function disableInterception() { + if (!_isInterceptorEnabled) { + return; + } + + _isInterceptorEnabled = false; + XMLHttpRequest.prototype.send = originalXHRSend; + XMLHttpRequest.prototype.open = originalXHROpen; + XMLHttpRequest.prototype.setRequestHeader = originalXHRSetRequestHeader; + responseCallback = null; + openCallback = null; + sendCallback = null; + headerReceivedCallback = null; + requestHeaderCallback = null; + } + }; + module.exports = XHRInterceptor; +},425,[279],"node_modules/react-native/Libraries/Network/XHRInterceptor.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/PerformanceOverlay.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + PerformanceOverlay: { + displayName: "PerformanceOverlay" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Inspector/PerformanceOverlay.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var PerformanceLogger = _$$_REQUIRE(_dependencyMap[2], 'PerformanceLogger'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[5], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[6], 'View'); + + var PerformanceOverlay = function (_React$Component) { + function PerformanceOverlay() { + _classCallCheck(this, PerformanceOverlay); + + return _possibleConstructorReturn(this, _getPrototypeOf(PerformanceOverlay).apply(this, arguments)); + } + + _createClass(PerformanceOverlay, [{ + key: "render", + value: function render() { + var perfLogs = PerformanceLogger.getTimespans(); + var items = []; + + for (var key in perfLogs) { + if (perfLogs[key].totalTime) { + var unit = key === 'BundleSize' ? 'b' : 'ms'; + items.push(React.createElement(View, { + style: styles.row, + key: key, + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, React.createElement(Text, { + style: [styles.text, styles.label], + __source: { + fileName: _jsxFileName, + lineNumber: 29 + } + }, key), React.createElement(Text, { + style: [styles.text, styles.totalTime], + __source: { + fileName: _jsxFileName, + lineNumber: 30 + } + }, perfLogs[key].totalTime + unit))); + } + } + + return React.createElement(View, { + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 38 + } + }, items); + } + }]); + + _inherits(PerformanceOverlay, _React$Component); + + return PerformanceOverlay; + }(React.Component); + + PerformanceOverlay = _wrapComponent("PerformanceOverlay")(PerformanceOverlay); + var styles = StyleSheet.create({ + container: { + height: 100, + paddingTop: 10 + }, + label: { + flex: 1 + }, + row: { + flexDirection: 'row', + paddingHorizontal: 10 + }, + text: { + color: 'white', + fontSize: 12 + }, + totalTime: { + paddingRight: 100 + } + }); + module.exports = PerformanceOverlay; +},426,[1,11,308,200,201,252,227],"node_modules/react-native/Libraries/Inspector/PerformanceOverlay.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/YellowBox.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBox: { + displayName: "YellowBox" + }, + _component: {} + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/YellowBox.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var YellowBox; + + if (__DEV__) { + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var RCTLog = _$$_REQUIRE(_dependencyMap[4], 'RCTLog'); + + var YellowBoxList = _$$_REQUIRE(_dependencyMap[5], 'YellowBoxList'); + + var YellowBoxRegistry = _$$_REQUIRE(_dependencyMap[6], 'YellowBoxRegistry'); + + var _console = console, + error = _console.error, + warn = _console.warn; + YellowBox = _wrapComponent("YellowBox")(function (_React$Component) { + function YellowBox() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBox); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBox)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + registry: null + }, _this._handleDismiss = function (category) { + YellowBoxRegistry.delete(category); + }, _temp)); + } + + _createClass(YellowBox, [{ + key: "render", + value: function render() { + return this.state.registry == null ? null : React.createElement(YellowBoxList, { + onDismiss: this._handleDismiss, + onDismissAll: this._handleDismissAll, + registry: this.state.registry, + __source: { + fileName: _jsxFileName, + lineNumber: 104 + } + }); + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + this._subscription = YellowBoxRegistry.observe(function (registry) { + _this2.setState({ + registry: registry + }); + }); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._subscription != null) { + this._subscription.unsubscribe(); + } + } + }, { + key: "_handleDismissAll", + value: function _handleDismissAll() { + YellowBoxRegistry.clear(); + } + }], [{ + key: "ignoreWarnings", + value: function ignoreWarnings(patterns) { + YellowBoxRegistry.addIgnorePatterns(patterns); + } + }, { + key: "install", + value: function install() { + console.error = function () { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + error.call.apply(error, [console].concat(args)); + + if (typeof args[0] === 'string' && args[0].startsWith('Warning: ')) { + registerWarning.apply(void 0, args); + } + }; + + console.warn = function () { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + warn.call.apply(warn, [console].concat(args)); + registerWarning.apply(void 0, args); + }; + + if (console.disableYellowBox === true) { + YellowBoxRegistry.setDisabled(true); + } + + Object.defineProperty(console, 'disableYellowBox', { + configurable: true, + get: function get() { + return YellowBoxRegistry.isDisabled(); + }, + set: function set(value) { + return YellowBoxRegistry.setDisabled(value); + } + }); + + if (Platform.isTesting) { + console.disableYellowBox = true; + } + + RCTLog.setWarningHandler(function () { + registerWarning.apply(void 0, arguments); + }); + } + }, { + key: "uninstall", + value: function uninstall() { + console.error = error; + console.warn = error; + delete console.disableYellowBox; + } + }]); + + _inherits(YellowBox, _React$Component); + + return YellowBox; + }(React.Component)); + + var registerWarning = function registerWarning() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + YellowBoxRegistry.add({ + args: args, + framesToPop: 2 + }); + }; + } else { + YellowBox = _wrapComponent("_component")(function (_React$Component2) { + function _class2() { + _classCallCheck(this, _class2); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class2).apply(this, arguments)); + } + + _createClass(_class2, [{ + key: "render", + value: function render() { + return null; + } + }], [{ + key: "ignoreWarnings", + value: function ignoreWarnings(patterns) {} + }, { + key: "install", + value: function install() {} + }, { + key: "uninstall", + value: function uninstall() {} + }]); + + _inherits(_class2, _React$Component2); + + return _class2; + }(React.Component)); + } + + module.exports = YellowBox; +},427,[1,11,200,176,306,428,444],"node_modules/react-native/Libraries/YellowBox/YellowBox.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxList.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBoxList: { + displayName: "YellowBoxList" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Dimensions = _$$_REQUIRE(_dependencyMap[2], 'Dimensions'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var FlatList = _$$_REQUIRE(_dependencyMap[4], 'FlatList'); + + var SafeAreaView = _$$_REQUIRE(_dependencyMap[5], 'SafeAreaView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[6], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var YellowBoxButton = _$$_REQUIRE(_dependencyMap[8], 'YellowBoxButton'); + + var YellowBoxInspector = _$$_REQUIRE(_dependencyMap[9], 'YellowBoxInspector'); + + var YellowBoxListRow = _$$_REQUIRE(_dependencyMap[10], 'YellowBoxListRow'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[11], 'YellowBoxStyle'); + + var VIEWPORT_RATIO = 0.5; + var MAX_ITEMS = Math.floor(Dimensions.get('window').height * VIEWPORT_RATIO / (YellowBoxListRow.GUTTER + YellowBoxListRow.HEIGHT)); + + var YellowBoxList = function (_React$Component) { + function YellowBoxList() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBoxList); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBoxList)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + selectedCategory: null + }, _this._handleInspectorDismiss = function () { + var category = _this.state.selectedCategory; + + if (category == null) { + return; + } + + _this.setState({ + selectedCategory: null + }, function () { + _this.props.onDismiss(category); + }); + }, _this._handleInspectorMinimize = function () { + _this.setState({ + selectedCategory: null + }); + }, _this._handleRowPress = function (category) { + _this.setState({ + selectedCategory: category + }); + }, _temp)); + } + + _createClass(YellowBoxList, [{ + key: "render", + value: function render() { + var _this2 = this; + + var selectedWarnings = this.state.selectedCategory == null ? null : this.props.registry.get(this.state.selectedCategory); + + if (selectedWarnings != null) { + return React.createElement(View, { + style: StyleSheet.absoluteFill, + __source: { + fileName: _jsxFileName, + lineNumber: 56 + } + }, React.createElement(YellowBoxInspector, { + onDismiss: this._handleInspectorDismiss, + onMinimize: this._handleInspectorMinimize, + warnings: selectedWarnings, + __source: { + fileName: _jsxFileName, + lineNumber: 57 + } + })); + } + + var items = []; + + for (var _iterator = this.props.registry, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref3; + + if (_isArray) { + if (_i2 >= _iterator.length) break; + _ref3 = _iterator[_i2++]; + } else { + _i2 = _iterator.next(); + if (_i2.done) break; + _ref3 = _i2.value; + } + + var _ref5 = _ref3; + + var _ref2 = _slicedToArray(_ref5, 2); + + var _category2 = _ref2[0]; + var _warnings = _ref2[1]; + items.unshift({ + category: _category2, + warnings: _warnings + }); + } + + var listStyle = { + height: Math.min(items.length, MAX_ITEMS + 0.5) * (YellowBoxListRow.GUTTER + YellowBoxListRow.HEIGHT) + }; + return items.length === 0 ? null : React.createElement(View, { + style: styles.list, + __source: { + fileName: _jsxFileName, + lineNumber: 79 + } + }, React.createElement(View, { + pointerEvents: "box-none", + style: styles.dismissAll, + __source: { + fileName: _jsxFileName, + lineNumber: 80 + } + }, React.createElement(YellowBoxButton, { + hitSlop: { + bottom: 4, + left: 4, + right: 4, + top: 4 + }, + label: "Dismiss All", + onPress: this.props.onDismissAll, + __source: { + fileName: _jsxFileName, + lineNumber: 81 + } + })), React.createElement(FlatList, { + data: items, + keyExtractor: function keyExtractor(item) { + return item.category; + }, + renderItem: function renderItem(_ref4) { + var item = _ref4.item; + return React.createElement(YellowBoxListRow, _extends({}, item, { + onPress: _this2._handleRowPress, + __source: { + fileName: _jsxFileName, + lineNumber: 91 + } + })); + }, + scrollEnabled: items.length > MAX_ITEMS, + scrollsToTop: false, + style: listStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 87 + } + }), React.createElement(SafeAreaView, { + style: styles.safeArea, + __source: { + fileName: _jsxFileName, + lineNumber: 97 + } + })); + } + }]); + + _inherits(YellowBoxList, _React$Component); + + return YellowBoxList; + }(React.Component); + + YellowBoxList = _wrapComponent("YellowBoxList")(YellowBoxList); + var styles = StyleSheet.create({ + list: { + bottom: 0, + position: 'absolute', + width: '100%' + }, + dismissAll: { + bottom: '100%', + flexDirection: 'row', + justifyContent: 'flex-end', + paddingBottom: 4, + paddingEnd: 4, + position: 'absolute', + width: '100%' + }, + safeArea: { + backgroundColor: YellowBoxStyle.getBackgroundColor(0.95), + marginTop: StyleSheet.hairlineWidth + } + }); + module.exports = YellowBoxList; +},428,[1,11,203,200,388,429,201,227,430,433,441,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + SafeAreaView: { + displayName: "SafeAreaView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[3], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[4], 'requireNativeComponent'); + + var RCTSafeAreaView = requireNativeComponent('RCTSafeAreaView'); + + var SafeAreaView = function (_React$Component) { + "use strict"; + + function SafeAreaView() { + _classCallCheck(this, SafeAreaView); + + return _possibleConstructorReturn(this, _getPrototypeOf(SafeAreaView).apply(this, arguments)); + } + + _createClass(SafeAreaView, [{ + key: "render", + value: function render() { + return React.createElement(RCTSafeAreaView, _extends({}, this.props, { + __source: { + fileName: _jsxFileName, + lineNumber: 35 + } + })); + } + }]); + + _inherits(SafeAreaView, _React$Component); + + return SafeAreaView; + }(React.Component); + + SafeAreaView.propTypes = _objectSpread({}, ViewPropTypes); + SafeAreaView = _wrapComponent("SafeAreaView")(SafeAreaView); + module.exports = SafeAreaView; +},429,[1,11,200,376,229],"node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxButton.js"; + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[1], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[2], 'Text'); + + var YellowBoxPressable = _$$_REQUIRE(_dependencyMap[3], 'YellowBoxPressable'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[4], 'YellowBoxStyle'); + + var YellowBoxButton = function YellowBoxButton(props) { + return React.createElement(YellowBoxPressable, { + hitSlop: props.hitSlop, + onPress: props.onPress, + style: styles.root, + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, React.createElement(Text, { + numberOfLines: 1, + style: styles.label, + __source: { + fileName: _jsxFileName, + lineNumber: 32 + } + }, props.label)); + }; + + var styles = StyleSheet.create({ + root: { + borderRadius: 14, + height: 28, + justifyContent: 'center', + paddingHorizontal: 12 + }, + label: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 12, + includeFontPadding: false, + lineHeight: 16 + } + }); + module.exports = YellowBoxButton; +},430,[200,201,252,431,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxButton.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxPressable.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBoxPressable: { + displayName: "YellowBoxPressable" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxPressable.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[4], 'TouchableWithoutFeedback'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[6], 'YellowBoxStyle'); + + var YellowBoxPressable = function (_React$Component) { + function YellowBoxPressable() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBoxPressable); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBoxPressable)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + pressed: false + }, _this._handlePressIn = function () { + _this.setState({ + pressed: true + }); + }, _this._handlePressOut = function () { + _this.setState({ + pressed: false + }); + }, _temp)); + } + + _createClass(YellowBoxPressable, [{ + key: "render", + value: function render() { + var content = React.createElement(View, { + style: StyleSheet.compose({ + backgroundColor: this.state.pressed ? this.props.backgroundColor.pressed : this.props.backgroundColor.default + }, this.props.style), + __source: { + fileName: _jsxFileName, + lineNumber: 52 + } + }, this.props.children); + return this.props.onPress == null ? content : React.createElement(TouchableWithoutFeedback, { + hitSlop: this.props.hitSlop, + onPress: this.props.onPress, + onPressIn: this._handlePressIn, + onPressOut: this._handlePressOut, + __source: { + fileName: _jsxFileName, + lineNumber: 67 + } + }, content); + } + }]); + + _inherits(YellowBoxPressable, _React$Component); + + return YellowBoxPressable; + }(React.Component); + + YellowBoxPressable.defaultProps = { + backgroundColor: { + default: YellowBoxStyle.getBackgroundColor(0.95), + pressed: YellowBoxStyle.getHighlightColor(1) + } + }; + YellowBoxPressable = _wrapComponent("YellowBoxPressable")(YellowBoxPressable); + module.exports = YellowBoxPressable; +},431,[1,11,200,201,383,227,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxPressable.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var YellowBoxStyle = { + getBackgroundColor: function getBackgroundColor(opacity) { + return "rgba(250, 186, 48, " + opacity + ")"; + }, + getDividerColor: function getDividerColor(opacity) { + return "rgba(255, 255, 255, " + opacity + ")"; + }, + getHighlightColor: function getHighlightColor(opacity) { + return "rgba(252, 176, 29, " + opacity + ")"; + }, + getTextColor: function getTextColor(opacity) { + return "rgba(255, 255, 255, " + opacity + ")"; + } + }; + module.exports = YellowBoxStyle; +},432,[],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxStyle.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspector.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBoxInspector: { + displayName: "YellowBoxInspector" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspector.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[4], 'ScrollView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[6], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var YellowBoxCategory = _$$_REQUIRE(_dependencyMap[8], 'YellowBoxCategory'); + + var YellowBoxInspectorFooter = _$$_REQUIRE(_dependencyMap[9], 'YellowBoxInspectorFooter'); + + var YellowBoxInspectorHeader = _$$_REQUIRE(_dependencyMap[10], 'YellowBoxInspectorHeader'); + + var YellowBoxInspectorSourceMapStatus = _$$_REQUIRE(_dependencyMap[11], 'YellowBoxInspectorSourceMapStatus'); + + var YellowBoxInspectorStackFrame = _$$_REQUIRE(_dependencyMap[12], 'YellowBoxInspectorStackFrame'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[13], 'YellowBoxStyle'); + + var openFileInEditor = _$$_REQUIRE(_dependencyMap[14], 'openFileInEditor'); + + var YellowBoxInspector = function (_React$Component) { + function YellowBoxInspector() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBoxInspector); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBoxInspector)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + selectedIndex: 0 + }, _this._handleSelectIndex = function (selectedIndex) { + _this.setState({ + selectedIndex: selectedIndex + }); + }, _temp)); + } + + _createClass(YellowBoxInspector, [{ + key: "render", + value: function render() { + var warnings = this.props.warnings; + var selectedIndex = this.state.selectedIndex; + var warning = warnings[selectedIndex]; + return React.createElement(View, { + style: styles.root, + __source: { + fileName: _jsxFileName, + lineNumber: 55 + } + }, React.createElement(YellowBoxInspectorHeader, { + onSelectIndex: this._handleSelectIndex, + selectedIndex: selectedIndex, + warnings: warnings, + __source: { + fileName: _jsxFileName, + lineNumber: 56 + } + }), React.createElement(ScrollView, { + contentContainerStyle: styles.bodyContent, + key: selectedIndex, + style: styles.body, + __source: { + fileName: _jsxFileName, + lineNumber: 61 + } + }, React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 65 + } + }, React.createElement(View, { + style: styles.bodyHeading, + __source: { + fileName: _jsxFileName, + lineNumber: 66 + } + }, React.createElement(Text, { + style: styles.bodyHeadingText, + __source: { + fileName: _jsxFileName, + lineNumber: 67 + } + }, "Warning")), React.createElement(Text, { + style: styles.bodyText, + __source: { + fileName: _jsxFileName, + lineNumber: 69 + } + }, YellowBoxCategory.render(warning.message, styles.substitutionText))), React.createElement(View, { + style: styles.bodySection, + __source: { + fileName: _jsxFileName, + lineNumber: 76 + } + }, React.createElement(View, { + style: styles.bodyHeading, + __source: { + fileName: _jsxFileName, + lineNumber: 77 + } + }, React.createElement(Text, { + style: styles.bodyHeadingText, + __source: { + fileName: _jsxFileName, + lineNumber: 78 + } + }, "Stack"), React.createElement(YellowBoxInspectorSourceMapStatus, { + status: warning.symbolicated.status, + __source: { + fileName: _jsxFileName, + lineNumber: 79 + } + })), warning.getAvailableStack().map(function (frame, index) { + return React.createElement(YellowBoxInspectorStackFrame, { + key: index, + frame: frame, + onPress: warning.symbolicated.status === 'COMPLETE' ? function () { + openFileInEditor(frame.file, frame.lineNumber); + } : null, + __source: { + fileName: _jsxFileName, + lineNumber: 84 + } + }); + }))), React.createElement(YellowBoxInspectorFooter, { + onDismiss: this.props.onDismiss, + onMinimize: this.props.onMinimize, + __source: { + fileName: _jsxFileName, + lineNumber: 98 + } + })); + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + this._handleSymbolication(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (prevProps.warnings !== this.props.warnings || prevState.selectedIndex !== this.state.selectedIndex) { + this._cancelSymbolication(); + + this._handleSymbolication(); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this._cancelSymbolication(); + } + }, { + key: "_handleSymbolication", + value: function _handleSymbolication() { + var _this2 = this; + + var warning = this.props.warnings[this.state.selectedIndex]; + + if (warning.symbolicated.status !== 'COMPLETE') { + this._symbolication = warning.symbolicate(function () { + _this2.forceUpdate(); + }); + } + } + }, { + key: "_cancelSymbolication", + value: function _cancelSymbolication() { + if (this._symbolication != null) { + this._symbolication.abort(); + + this._symbolication = null; + } + } + }]); + + _inherits(YellowBoxInspector, _React$Component); + + return YellowBoxInspector; + }(React.Component); + + YellowBoxInspector = _wrapComponent("YellowBoxInspector")(YellowBoxInspector); + var styles = StyleSheet.create({ + root: { + elevation: Platform.OS === 'android' ? Number.MAX_SAFE_INTEGER : undefined, + height: '100%' + }, + body: { + backgroundColor: YellowBoxStyle.getBackgroundColor(0.95), + borderBottomColor: YellowBoxStyle.getDividerColor(0.95), + borderBottomWidth: StyleSheet.hairlineWidth, + borderTopColor: YellowBoxStyle.getDividerColor(0.95), + borderTopWidth: StyleSheet.hairlineWidth, + flex: 1 + }, + bodyContent: { + paddingVertical: 12 + }, + bodyHeading: { + alignItems: 'center', + flexDirection: 'row', + marginBottom: 6, + paddingHorizontal: 12 + }, + bodyHeadingText: { + color: YellowBoxStyle.getTextColor(1), + flex: 1, + fontSize: 20, + fontWeight: '600', + includeFontPadding: false, + lineHeight: 28 + }, + bodyText: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 14, + includeFontPadding: false, + lineHeight: 18, + paddingHorizontal: 12 + }, + substitutionText: { + color: YellowBoxStyle.getTextColor(0.6) + }, + bodySection: { + marginTop: 20 + } + }); + module.exports = YellowBoxInspector; +},433,[1,11,176,200,367,201,252,227,434,436,437,438,440,432,422],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspector.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/Data/YellowBoxCategory.js"; + + function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var Text = _$$_REQUIRE(_dependencyMap[1], 'Text'); + + var UTFSequence = _$$_REQUIRE(_dependencyMap[2], 'UTFSequence'); + + var stringifySafe = _$$_REQUIRE(_dependencyMap[3], 'stringifySafe'); + + var SUBSTITUTION = UTFSequence.BOM + '%s'; + var YellowBoxCategory = { + parse: function parse(args) { + var categoryParts = []; + var contentParts = []; + var substitutionOffsets = []; + + var remaining = _toConsumableArray(args); + + if (typeof remaining[0] === 'string') { + var formatString = String(remaining.shift()); + var formatStringParts = formatString.split('%s'); + var substitutionCount = formatStringParts.length - 1; + + var _substitutions = remaining.splice(0, substitutionCount); + + var categoryString = ''; + var contentString = ''; + var substitutionIndex = 0; + + for (var _iterator = formatStringParts, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _formatStringPart = _ref; + categoryString += _formatStringPart; + contentString += _formatStringPart; + + if (substitutionIndex < substitutionCount) { + if (substitutionIndex < _substitutions.length) { + var substitution = stringifySafe(_substitutions[substitutionIndex]); + substitutionOffsets.push({ + length: substitution.length, + offset: contentString.length + }); + categoryString += SUBSTITUTION; + contentString += substitution; + } else { + substitutionOffsets.push({ + length: 2, + offset: contentString.length + }); + categoryString += '%s'; + contentString += '%s'; + } + + substitutionIndex++; + } + } + + categoryParts.push(categoryString); + contentParts.push(contentString); + } + + var remainingArgs = remaining.map(stringifySafe); + categoryParts.push.apply(categoryParts, _toConsumableArray(remainingArgs)); + contentParts.push.apply(contentParts, _toConsumableArray(remainingArgs)); + return { + category: categoryParts.join(' '), + message: { + content: contentParts.join(' '), + substitutions: substitutionOffsets + } + }; + }, + render: function render(_ref2, substitutionStyle) { + var content = _ref2.content, + substitutions = _ref2.substitutions; + var elements = []; + var lastOffset = substitutions.reduce(function (prevOffset, substitution, index) { + var key = String(index); + + if (substitution.offset > prevOffset) { + var prevPart = content.substr(prevOffset, substitution.offset - prevOffset); + elements.push(React.createElement(Text, { + key: key, + __source: { + fileName: _jsxFileName, + lineNumber: 119 + } + }, prevPart)); + } + + var substititionPart = content.substr(substitution.offset, substitution.length); + elements.push(React.createElement(Text, { + key: key + '.5', + style: substitutionStyle, + __source: { + fileName: _jsxFileName, + lineNumber: 127 + } + }, substititionPart)); + return substitution.offset + substitution.length; + }, 0); + + if (lastOffset < content.length - 1) { + var lastPart = content.substr(lastOffset); + elements.push(React.createElement(Text, { + key: "-1", + __source: { + fileName: _jsxFileName, + lineNumber: 139 + } + }, lastPart)); + } + + return elements; + } + }; + module.exports = YellowBoxCategory; +},434,[200,252,435,174],"node_modules/react-native/Libraries/YellowBox/Data/YellowBoxCategory.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var deepFreezeAndThrowOnMutationInDev = _$$_REQUIRE(_dependencyMap[0], 'deepFreezeAndThrowOnMutationInDev'); + + var UTFSequence = deepFreezeAndThrowOnMutationInDev({ + BOM: "\uFEFF", + BULLET: "\u2022", + BULLET_SP: "\xA0\u2022\xA0", + MIDDOT: "\xB7", + MIDDOT_SP: "\xA0\xB7\xA0", + MIDDOT_KATAKANA: "\u30FB", + MDASH: "\u2014", + MDASH_SP: "\xA0\u2014\xA0", + NDASH: "\u2013", + NDASH_SP: "\xA0\u2013\xA0", + NBSP: "\xA0", + PIZZA: "\uD83C\uDF55", + TRIANGLE_LEFT: "\u25C0", + TRIANGLE_RIGHT: "\u25B6" + }); + module.exports = UTFSequence; +},435,[173],"node_modules/react-native/Libraries/UTFSequence.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorFooter.js"; + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var SafeAreaView = _$$_REQUIRE(_dependencyMap[1], 'SafeAreaView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[2], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[3], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[4], 'View'); + + var YellowBoxPressable = _$$_REQUIRE(_dependencyMap[5], 'YellowBoxPressable'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[6], 'YellowBoxStyle'); + + var YellowBoxInspectorFooter = function YellowBoxInspectorFooter(props) { + return React.createElement(View, { + style: styles.root, + __source: { + fileName: _jsxFileName, + lineNumber: 27 + } + }, React.createElement(YellowBoxPressable, { + backgroundColor: { + default: 'transparent', + pressed: YellowBoxStyle.getHighlightColor(1) + }, + onPress: props.onMinimize, + style: styles.button, + __source: { + fileName: _jsxFileName, + lineNumber: 28 + } + }, React.createElement(View, { + style: styles.content, + __source: { + fileName: _jsxFileName, + lineNumber: 35 + } + }, React.createElement(Text, { + style: styles.label, + __source: { + fileName: _jsxFileName, + lineNumber: 36 + } + }, "Minimize")), React.createElement(SafeAreaView, { + __source: { + fileName: _jsxFileName, + lineNumber: 38 + } + })), React.createElement(YellowBoxPressable, { + backgroundColor: { + default: 'transparent', + pressed: YellowBoxStyle.getHighlightColor(1) + }, + onPress: props.onDismiss, + style: styles.button, + __source: { + fileName: _jsxFileName, + lineNumber: 40 + } + }, React.createElement(View, { + style: styles.content, + __source: { + fileName: _jsxFileName, + lineNumber: 47 + } + }, React.createElement(Text, { + style: styles.label, + __source: { + fileName: _jsxFileName, + lineNumber: 48 + } + }, "Dismiss")), React.createElement(SafeAreaView, { + __source: { + fileName: _jsxFileName, + lineNumber: 50 + } + }))); + }; + + var styles = StyleSheet.create({ + root: { + backgroundColor: YellowBoxStyle.getBackgroundColor(0.95), + flexDirection: 'row' + }, + button: { + flex: 1 + }, + content: { + alignItems: 'center', + height: 48, + justifyContent: 'center' + }, + label: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 14, + includeFontPadding: false, + lineHeight: 18 + } + }); + module.exports = YellowBoxInspectorFooter; +},436,[200,429,201,252,227,431,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorFooter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorHeader.js"; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[1], 'React'); + + var SafeAreaView = _$$_REQUIRE(_dependencyMap[2], 'SafeAreaView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[4], 'Text'); + + var UTFSequence = _$$_REQUIRE(_dependencyMap[5], 'UTFSequence'); + + var View = _$$_REQUIRE(_dependencyMap[6], 'View'); + + var YellowBoxPressable = _$$_REQUIRE(_dependencyMap[7], 'YellowBoxPressable'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[8], 'YellowBoxStyle'); + + var YellowBoxInspectorHeader = function YellowBoxInspectorHeader(props) { + var prevIndex = props.selectedIndex - 1; + var nextIndex = props.selectedIndex + 1; + var titleText = props.warnings.length === 1 ? 'Single Occurrence' : "Occurrence " + (props.selectedIndex + 1) + " of " + props.warnings.length; + return React.createElement(SafeAreaView, { + style: styles.root, + __source: { + fileName: _jsxFileName, + lineNumber: 41 + } + }, React.createElement(View, { + style: styles.header, + __source: { + fileName: _jsxFileName, + lineNumber: 42 + } + }, React.createElement(YellowBoxInspectorHeaderButton, { + disabled: props.warnings[prevIndex] == null, + label: UTFSequence.TRIANGLE_LEFT, + onPress: function onPress() { + return props.onSelectIndex(prevIndex); + }, + __source: { + fileName: _jsxFileName, + lineNumber: 43 + } + }), React.createElement(View, { + style: styles.headerTitle, + __source: { + fileName: _jsxFileName, + lineNumber: 48 + } + }, React.createElement(Text, { + style: styles.headerTitleText, + __source: { + fileName: _jsxFileName, + lineNumber: 49 + } + }, titleText)), React.createElement(YellowBoxInspectorHeaderButton, { + disabled: props.warnings[nextIndex] == null, + label: UTFSequence.TRIANGLE_RIGHT, + onPress: function onPress() { + return props.onSelectIndex(nextIndex); + }, + __source: { + fileName: _jsxFileName, + lineNumber: 51 + } + }))); + }; + + var YellowBoxInspectorHeaderButton = function YellowBoxInspectorHeaderButton(props) { + return React.createElement(YellowBoxPressable, { + backgroundColor: { + default: 'transparent', + pressed: YellowBoxStyle.getHighlightColor(1) + }, + onPress: props.disabled ? null : props.onPress, + style: styles.headerButton, + __source: { + fileName: _jsxFileName, + lineNumber: 68 + } + }, props.disabled ? null : React.createElement(Text, { + style: styles.headerButtonText, + __source: { + fileName: _jsxFileName, + lineNumber: 76 + } + }, props.label)); + }; + + var styles = StyleSheet.create({ + root: { + backgroundColor: YellowBoxStyle.getBackgroundColor(0.95) + }, + header: { + flexDirection: 'row', + height: Platform.select({ + android: 48, + ios: 44 + }) + }, + headerButton: { + alignItems: 'center', + aspectRatio: 1, + justifyContent: 'center' + }, + headerButtonText: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 16, + includeFontPadding: false, + lineHeight: 20 + }, + headerTitle: { + alignItems: 'center', + flex: 1, + justifyContent: 'center' + }, + headerTitleText: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 16, + fontWeight: '600', + includeFontPadding: false, + lineHeight: 20 + } + }); + module.exports = YellowBoxInspectorHeader; +},437,[176,200,429,201,252,435,227,431,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorHeader.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorSourceMapStatus.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBoxInspectorSourceMapStatus: { + displayName: "YellowBoxInspectorSourceMapStatus" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorSourceMapStatus.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Animated = _$$_REQUIRE(_dependencyMap[2], 'Animated'); + + var Easing = _$$_REQUIRE(_dependencyMap[3], 'Easing'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[6], 'Text'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var YellowBoxImageSource = _$$_REQUIRE(_dependencyMap[8], 'YellowBoxImageSource'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[9], 'YellowBoxStyle'); + + var YellowBoxInspectorSourceMapStatus = function (_React$Component) { + function YellowBoxInspectorSourceMapStatus() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBoxInspectorSourceMapStatus); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBoxInspectorSourceMapStatus)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + animation: null, + rotate: null + }, _temp)); + } + + _createClass(YellowBoxInspectorSourceMapStatus, [{ + key: "render", + value: function render() { + var image; + + switch (this.props.status) { + case 'COMPLETE': + image = YellowBoxImageSource.check; + break; + + case 'FAILED': + image = YellowBoxImageSource.alertTriangle; + break; + + case 'PENDING': + image = YellowBoxImageSource.loader; + break; + } + + return image == null ? null : React.createElement(View, { + style: StyleSheet.compose(styles.root, this.props.status === 'PENDING' ? styles.pending : null), + __source: { + fileName: _jsxFileName, + lineNumber: 55 + } + }, React.createElement(Animated.Image, { + source: { + height: 16, + uri: image, + width: 16 + }, + style: StyleSheet.compose(styles.image, this.state.rotate == null ? null : { + transform: [{ + rotate: this.state.rotate + }] + }), + __source: { + fileName: _jsxFileName, + lineNumber: 60 + } + }), React.createElement(Text, { + style: styles.text, + __source: { + fileName: _jsxFileName, + lineNumber: 69 + } + }, "Source Map")); + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + this._updateAnimation(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this._updateAnimation(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.state.animation != null) { + this.state.animation.stop(); + } + } + }, { + key: "_updateAnimation", + value: function _updateAnimation() { + if (this.props.status === 'PENDING') { + if (this.state.animation == null) { + var animated = new Animated.Value(0); + + var _animation = Animated.loop(Animated.timing(animated, { + duration: 2000, + easing: Easing.linear, + toValue: 1, + useNativeDriver: true + })); + + this.setState({ + animation: _animation, + rotate: animated.interpolate({ + inputRange: [0, 1], + outputRange: ['0deg', '360deg'] + }) + }, function () { + _animation.start(); + }); + } + } else { + if (this.state.animation != null) { + this.state.animation.stop(); + this.setState({ + animation: null, + rotate: null + }); + } + } + } + }]); + + _inherits(YellowBoxInspectorSourceMapStatus, _React$Component); + + return YellowBoxInspectorSourceMapStatus; + }(React.Component); + + YellowBoxInspectorSourceMapStatus = _wrapComponent("YellowBoxInspectorSourceMapStatus")(YellowBoxInspectorSourceMapStatus); + var styles = StyleSheet.create({ + root: { + alignItems: 'center', + backgroundColor: YellowBoxStyle.getTextColor(0.8), + borderRadius: 12, + flexDirection: 'row', + height: 24, + paddingHorizontal: 8 + }, + pending: { + backgroundColor: YellowBoxStyle.getTextColor(0.6) + }, + image: { + marginEnd: 4, + tintColor: YellowBoxStyle.getBackgroundColor(1) + }, + text: { + color: YellowBoxStyle.getBackgroundColor(1), + fontSize: 12, + includeFontPadding: false, + lineHeight: 16 + } + }); + module.exports = YellowBoxInspectorSourceMapStatus; +},438,[1,11,332,358,200,201,252,227,439,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorSourceMapStatus.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var PixelRatio = _$$_REQUIRE(_dependencyMap[0], 'PixelRatio'); + + var scale = PixelRatio.get(); + /** + * We use inline images for YellowBox in order to avoid display latency due to + * resource contention with symbolicating stack traces. + * + * The following steps were used to create these: + * + * 1. Download SVG files from: https://feathericons.com + * 2. Rasterize SVG files to PNG files at 16dp, 36dp, and 48dp. + * 3. Convert to Base64: https://www.google.com/search?q=base64+image+encoder + * + * @see https://github.com/feathericons/feather + * @copyright 2013-2017 Cole Bemis + * @license MIT + */ + + var YellowBoxImageSource = { + alertTriangle: scale > 2 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAB60lEQVRoge2Z3W3DIBSFj9oFPAIjZARGyAiMkBHuJh4hI2QEj5AR3Me+tQ91JALHmD8bKvmTkCr5Auc6/kzUACcnRXzuvL4GoAB8Afjeea9qXADcAfw4475c65orgBl++NeYl5ouUQiHt5tQTRJuwB6b5zLY49QVGn7I0bo+kuv60IQbuHf5CWCIqOkCgX93maia1MkRAUMo+OI+AvUPp7a50EzcUCBF6psJrUkYiZgnZJ7eId8mMeIyhpW5hyLw72LKCXsl86VqwgAKceKapW5e/nZpJnSsuHaTM7muyDq7C63JprJS69YxhNTpSlkpKeLGNHCo0EJChcSNaQA4SGiFtBMXJFSI3YVOPXFB6kMoUl9NaE0Wl4h5KQ0AOwqde+KmNrCL0EKCxJ64qQ0AlYVWSBfXZusgW6Oa0Dni2hiEv0qsoci+yUJrsoikLlKAkP11ygK54taiSOgb/O5b/DMqS+gBZeLWJlnoEX7XwQkBDPIktlEkz7hWrEmxZG4M5L9GXYTk0qxwcopKxa3VABN6cosM/C5LxTUof4ReMKHf1nRlaSnuGsGM7kfU4w8RF5Bz4aNlokLe/HQ/ngl9/Qih4L9k3h4hA1+S3odxu3Q77Hl4r1Hg75n6D01M2Difbp02Mi3ZTk5OLH4BUyEtOlDYuK0AAAAASUVORK5CYII=' : scale > 1 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABVklEQVRYheWX4U3DMBBGH4gBMoJHyAgeoSNkAxjBG5QNOkJHCGzQDcoGZQP4gY3Oqe1cEscS4pNOqs9Jvqvv6ZrCf9fDhnutD4A3H810Br4mcW5l7hLmIdze5mZi+OJD5syeBYzC6CjyR5Ef9zI/CJMb0Im9zufC/qG2eQdchcGQuGYQ+9dJgZvl0B2xbJGrZW6IIevFXp9YVwcyB540syJfFcgSeJb0cVcDcg68XAFQCUhH+ShLBcBGIA158LQFqIB8zBRwEp9fgctcxQld/L2pZxZVAk/KkucjaDGQmoknrz35KEE2sABIRxm8tVIBaZgHb61UQOYmXk7aFgQVJ6QWPCnLAriYAVILnpTxD7yh/9EZiIEE4m+y29uMkGy1nQ6i9wYFRB5PwKdYP/v1msmnUe89gn695bG0iqjdXeMiRu9599csvGKZ0jlu0Ac/7d2rxX9Q37HW6QfX/ZguAAAAAElFTkSuQmCC' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAvUlEQVQ4jbWT4Q3CIBCFP40DdANxg24gIzhKuwEjuIFxAkcwTtARGicoG+iPXlMCB8UfvoQc4e7ePV4A/ogWuMlqc0W7AsEo0QMNcPplugMmwMia5KwKWkNIuIkHq3wLXGQ/Sq4IC3wkLpOfmZyKeEpIEKsDYB8VN0Afkfpg30uNiycbdKcNqXEOxdBEWoEAoqta8uZ0iqqkxwGDUrSFAXAHZpOWd/+ubD5Kz335Cx1wZna4Bh54AddauVl8ARfCLO9Xq7xGAAAAAElFTkSuQmCC', + check: scale > 2 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAqElEQVRoge3YTQ7CIBRF4bPUu/8JS6gTSaqilh95vuR+CaO2cGgYNAUzMzOzFgHlPhRaMkDAcRoltKaTeIxPtQHxGn+Q5AgJx8cQjo8hHB9DOP76Yiu/RcTmN18WLiQCjs3zBkYXVGOeLWd+xcIr5pgyEzDz7FIjISPP/FRPUM+9W4nvYVfuCSXeB3669ldEOzRFfCUSx1cicXwlEsdXIvEPKDMzM7PMbtugw3XTpNA2AAAAAElFTkSuQmCC' : scale > 1 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAf0lEQVRYhe2UvQ2AIBQGL3EBR3AESkv3bxxFN8DmWUgwvkI+En1X0cBd+IMg+DuDyDMCs413kfMiX4EMbD3l8oCaPIU85B4mYLEF5XJscrYFPRGvb/sZ4IlocubJGdH0wj1FSG77XYT0qdUi5O+8jOjyyZQRUnkZ0UUeBMF3OQC/0VsyGlxligAAAABJRU5ErkJggg==' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAASElEQVQ4jWNgGJHAgIGBIYESze8ZGBjWU6L5PAMDgwBNNCdAFZJt83qoQmRDSHK2AFQhzBCy/IxsCNkBJsDAwLAfiknWPBIBAETPFeuA4fr6AAAAAElFTkSuQmCC', + loader: scale > 2 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABXElEQVRoge2a3W3DMAyEr+0CHkGjaISOcKN4k6zQETpCR+gGzgbpQ10kcamIpKQ6avQBBPxg3pHwL2UDg/8LASxrcNdKnCwATmssrUyeWgnju/DmXs8tRP+Sh2kgAJga1rFlWj2rcMD5YqQh77QJLbzIORjyRIJQCJW5ngYo5AVlrsgkCGqbsDbAhFfxqZsSZibP0oDXQ43HQPsg82i7sBoR+VcJq2YxKcPo0IoJLRZXmYGC6ezQmQUdVqhPBVH/CNBTSMkLVlzjA8Bbocb7GoPBoADi+umZilYzbrG/JrnljOvy734iu4To/BQaDB6Rl4LciPPF9Lmjhgvi+s7w6tCIGw3WKS0P8fvWNjt0ZkGHFeq7CQXTbkZKGg2JOxrqPUZ3s6ziNdju38IjS/dLi0EQpDLX2gDQYHEX6Hx5/YcA+6H0NgAYPnCMj3x7Mxq4wTGx3Q1E578aDDR8AX0mOGD6BEN/AAAAAElFTkSuQmCC' : scale > 1 ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABN0lEQVRYhe2WzU3EMBCFP34KyJEjJaQDXAIlJJ24BSow2wEdhHSwJSwd7JHbcmC0mOxMnDiWDIInWbHkN29exo4n8IvRAEFGU8OAA04yulyR60Jm7msbyIZloAMGwBfI4UWrWxM08LW/weC4iOMNTog4g0awKjBG827GxBwC3996NHizAifsSrTRmlsZm23CT9adktyXSq6ZUPdxgiXnZzW8CLcLuC3lvqA/gCt5NtjlPQL7TP0Wu1HtRRu4PO3T4TKTz2kG+AG9IN6CR/Su9iojBw69egfghWgL/pGCp+JFVPUqTjWjlsuqeAo1o6rt2C8QcNiV0UxoHPMieojmz0CfMKyhl1hN84xbI3gnz5Ftp7kH3iT5LsFdDUf6pzSJ6r2glIFDbuDNhqRH4I7Pvv4EvG/QqocP2Jh/xzzX/zUAAAAASUVORK5CYII=' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsklEQVQ4jaWTYRHCMAyFP7gJmIQ6oChgEpBQKXMwC3MADpAAEiphDuBHC4QuDRu8u9ylyWtem7Rgw2X7GT1wsghb4beAVzhtsfYyJgs44AoEQzBkjrMId1HkKPwyZ6oMSnxYsnk1NqT7yMo34Fzhd9meGJvs7Hh3NhqCLXDI/rT0lKsR+KOJgc9RdaRRarkZvELogYsi8HqxjUhGYE+aQg1jzketwFTZXHbbEpjB8eU7PwAbLiJz46707gAAAABJRU5ErkJggg==' + }; + module.exports = YellowBoxImageSource; +},439,[202],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxImageSource.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorStackFrame.js"; + + var React = _$$_REQUIRE(_dependencyMap[0], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[1], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[2], 'Text'); + + var YellowBoxPressable = _$$_REQUIRE(_dependencyMap[3], 'YellowBoxPressable'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[4], 'YellowBoxStyle'); + + var YellowBoxInspectorStackFrame = function YellowBoxInspectorStackFrame(props) { + var frame = props.frame, + onPress = props.onPress; + return React.createElement(YellowBoxPressable, { + backgroundColor: { + default: YellowBoxStyle.getBackgroundColor(0), + pressed: YellowBoxStyle.getHighlightColor(1) + }, + onPress: onPress, + style: styles.frame, + __source: { + fileName: _jsxFileName, + lineNumber: 31 + } + }, React.createElement(Text, { + style: styles.frameName, + __source: { + fileName: _jsxFileName, + lineNumber: 38 + } + }, frame.methodName), React.createElement(Text, { + ellipsizeMode: "middle", + numberOfLines: 1, + style: styles.frameLocation, + __source: { + fileName: _jsxFileName, + lineNumber: 39 + } + }, getFrameLocation(frame.file) + ":" + frame.lineNumber + (frame.column == null ? '' : ':' + frame.column))); + }; + + var getFrameLocation = function getFrameLocation(uri) { + var queryIndex = uri.indexOf('?'); + var query = queryIndex < 0 ? '' : uri.substr(queryIndex); + var path = queryIndex < 0 ? uri : uri.substr(0, queryIndex); + var file = path.substr(path.lastIndexOf('/') + 1); + return file + query; + }; + + var styles = StyleSheet.create({ + frame: { + paddingHorizontal: 12, + paddingVertical: 4 + }, + frameName: { + color: YellowBoxStyle.getTextColor(1), + fontSize: 14, + includeFontPadding: false, + lineHeight: 18 + }, + frameLocation: { + color: YellowBoxStyle.getTextColor(0.7), + fontSize: 12, + fontWeight: '300', + includeFontPadding: false, + lineHeight: 16 + } + }); + module.exports = YellowBoxInspectorStackFrame; +},440,[200,201,252,431,432],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorStackFrame.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxListRow.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + YellowBoxListRow: { + displayName: "YellowBoxListRow" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxListRow.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[4], 'Text'); + + var YellowBoxPressable = _$$_REQUIRE(_dependencyMap[5], 'YellowBoxPressable'); + + var View = _$$_REQUIRE(_dependencyMap[6], 'View'); + + var YellowBoxCategory = _$$_REQUIRE(_dependencyMap[7], 'YellowBoxCategory'); + + var YellowBoxStyle = _$$_REQUIRE(_dependencyMap[8], 'YellowBoxStyle'); + + var YellowBoxWarning = _$$_REQUIRE(_dependencyMap[9], 'YellowBoxWarning'); + + var YellowBoxListRow = function (_React$Component) { + function YellowBoxListRow() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, YellowBoxListRow); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(YellowBoxListRow)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._handlePress = function () { + _this.props.onPress(_this.props.category); + }, _temp)); + } + + _createClass(YellowBoxListRow, [{ + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + var prevProps = this.props; + return prevProps.category !== nextProps.category || prevProps.onPress !== nextProps.onPress || prevProps.warnings.length !== nextProps.warnings.length || prevProps.warnings.some(function (prevWarning, index) { + return prevWarning !== nextProps[index]; + }); + } + }, { + key: "render", + value: function render() { + var warnings = this.props.warnings; + return React.createElement(YellowBoxPressable, { + onPress: this._handlePress, + style: styles.root, + __source: { + fileName: _jsxFileName, + lineNumber: 50 + } + }, React.createElement(View, { + style: styles.content, + __source: { + fileName: _jsxFileName, + lineNumber: 51 + } + }, warnings.length < 2 ? null : React.createElement(Text, { + style: styles.metaText, + __source: { + fileName: _jsxFileName, + lineNumber: 53 + } + }, '(' + warnings.length + ') '), React.createElement(Text, { + numberOfLines: 2, + style: styles.bodyText, + __source: { + fileName: _jsxFileName, + lineNumber: 55 + } + }, YellowBoxCategory.render(warnings[warnings.length - 1].message, styles.substitutionText)))); + } + }]); + + _inherits(YellowBoxListRow, _React$Component); + + return YellowBoxListRow; + }(React.Component); + + YellowBoxListRow.GUTTER = StyleSheet.hairlineWidth; + YellowBoxListRow.HEIGHT = 48; + YellowBoxListRow = _wrapComponent("YellowBoxListRow")(YellowBoxListRow); + var styles = StyleSheet.create({ + root: { + height: YellowBoxListRow.HEIGHT, + justifyContent: 'center', + marginTop: YellowBoxListRow.GUTTER, + paddingHorizontal: 12 + }, + content: { + alignItems: 'flex-start', + flexDirection: 'row' + }, + bodyText: { + color: YellowBoxStyle.getTextColor(1), + flex: 1, + fontSize: 14, + includeFontPadding: false, + lineHeight: 18 + }, + metaText: { + color: YellowBoxStyle.getTextColor(0.5), + fontSize: 14, + includeFontPadding: false, + lineHeight: 18 + }, + substitutionText: { + color: YellowBoxStyle.getTextColor(0.6) + } + }); + module.exports = YellowBoxListRow; +},441,[1,11,200,201,252,431,227,434,432,442],"node_modules/react-native/Libraries/YellowBox/UI/YellowBoxListRow.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var YellowBoxCategory = _$$_REQUIRE(_dependencyMap[0], 'YellowBoxCategory'); + + var YellowBoxSymbolication = _$$_REQUIRE(_dependencyMap[1], 'YellowBoxSymbolication'); + + var parseErrorStack = _$$_REQUIRE(_dependencyMap[2], 'parseErrorStack'); + + var YellowBoxWarning = function () { + _createClass(YellowBoxWarning, null, [{ + key: "parse", + value: function parse(_ref) { + var args = _ref.args, + framesToPop = _ref.framesToPop; + return _objectSpread({}, YellowBoxCategory.parse(args), { + stack: createStack({ + framesToPop: framesToPop + 1 + }) + }); + } + }]); + + function YellowBoxWarning(message, stack) { + _classCallCheck(this, YellowBoxWarning); + + this.symbolicated = { + error: null, + stack: null, + status: 'NONE' + }; + this.message = message; + this.stack = stack; + } + + _createClass(YellowBoxWarning, [{ + key: "getAvailableStack", + value: function getAvailableStack() { + return this.symbolicated.status === 'COMPLETE' ? this.symbolicated.stack : this.stack; + } + }, { + key: "symbolicate", + value: function symbolicate(callback) { + var _this = this; + + var aborted = false; + + if (this.symbolicated.status !== 'COMPLETE') { + var updateStatus = function updateStatus(error, stack) { + if (error != null) { + _this.symbolicated = { + error: error, + stack: null, + status: 'FAILED' + }; + } else if (stack != null) { + _this.symbolicated = { + error: null, + stack: stack, + status: 'COMPLETE' + }; + } else { + _this.symbolicated = { + error: null, + stack: null, + status: 'PENDING' + }; + } + + if (!aborted) { + callback(); + } + }; + + updateStatus(null, null); + YellowBoxSymbolication.symbolicate(this.stack).then(function (stack) { + updateStatus(null, stack); + }, function (error) { + updateStatus(error, null); + }); + } + + return { + abort: function abort() { + aborted = true; + } + }; + } + }]); + + return YellowBoxWarning; + }(); + + function createStack(_ref2) { + var framesToPop = _ref2.framesToPop; + var error = new Error(); + error.framesToPop = framesToPop + 1; + return parseErrorStack(error); + } + + module.exports = YellowBoxWarning; +},442,[434,443,180],"node_modules/react-native/Libraries/YellowBox/Data/YellowBoxWarning.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var symbolicateStackTrace = _$$_REQUIRE(_dependencyMap[0], 'symbolicateStackTrace'); + + var cache = new Map(); + var YellowBoxSymbolication = { + symbolicate: function symbolicate(stack) { + var key = getCacheKey(stack); + var promise = cache.get(key); + + if (promise == null) { + promise = symbolicateStackTrace(stack).then(sanitize); + cache.set(key, promise); + } + + return promise; + } + }; + + var getCacheKey = function getCacheKey(stack) { + return JSON.stringify(stack); + }; + + var sanitize = function sanitize(maybeStack) { + if (!Array.isArray(maybeStack)) { + throw new Error('Expected stack to be an array.'); + } + + var stack = []; + + for (var _iterator = maybeStack, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _maybeFrame = _ref; + + if (typeof _maybeFrame !== 'object' || _maybeFrame == null) { + throw new Error('Expected each stack frame to be an object.'); + } + + if (typeof _maybeFrame.column !== 'number' && _maybeFrame.column != null) { + throw new Error('Expected stack frame `column` to be a nullable number.'); + } + + if (typeof _maybeFrame.file !== 'string') { + throw new Error('Expected stack frame `file` to be a string.'); + } + + if (typeof _maybeFrame.lineNumber !== 'number') { + throw new Error('Expected stack frame `lineNumber` to be a number.'); + } + + if (typeof _maybeFrame.methodName !== 'string') { + throw new Error('Expected stack frame `methodName` to be a string.'); + } + + stack.push({ + column: _maybeFrame.column, + file: _maybeFrame.file, + lineNumber: _maybeFrame.lineNumber, + methodName: _maybeFrame.methodName + }); + } + + return stack; + }; + + module.exports = YellowBoxSymbolication; +},443,[272],"node_modules/react-native/Libraries/YellowBox/Data/YellowBoxSymbolication.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if ((typeof Symbol === "function" ? Symbol.iterator : "@@iterator") in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + var YellowBoxWarning = _$$_REQUIRE(_dependencyMap[0], 'YellowBoxWarning'); + + var observers = new Set(); + var ignorePatterns = new Set(); + var registry = new Map(); + var disabled = false; + var projection = new Map(); + var updateTimeout = null; + + function isWarningIgnored(warning) { + for (var _iterator = ignorePatterns, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _pattern = _ref; + + if (warning.message.content.includes(_pattern)) { + return true; + } + } + + return false; + } + + function handleUpdate() { + projection = new Map(); + + if (!disabled) { + for (var _iterator2 = registry, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref4; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref4 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref4 = _i2.value; + } + + var _ref5 = _ref4; + + var _ref3 = _slicedToArray(_ref5, 2); + + var _category = _ref3[0]; + var _warnings = _ref3[1]; + + var filtered = _warnings.filter(function (warning) { + return !isWarningIgnored(warning); + }); + + if (filtered.length > 0) { + projection.set(_category, filtered); + } + } + } + + if (updateTimeout == null) { + updateTimeout = setImmediate(function () { + updateTimeout = null; + + for (var _iterator3 = observers, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref7; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref7 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref7 = _i3.value; + } + + var _ref8 = _ref7; + var _observer2 = _ref8.observer; + + _observer2(projection); + } + }); + } + } + + var YellowBoxRegistry = { + add: function add(_ref9) { + var args = _ref9.args, + framesToPop = _ref9.framesToPop; + + if (typeof args[0] === 'string' && args[0].startsWith('(ADVICE)')) { + return; + } + + var _YellowBoxWarning$par = YellowBoxWarning.parse({ + args: args, + framesToPop: framesToPop + 1 + }), + category = _YellowBoxWarning$par.category, + message = _YellowBoxWarning$par.message, + stack = _YellowBoxWarning$par.stack; + + var warnings = registry.get(category); + + if (warnings == null) { + warnings = []; + } + + warnings = _toConsumableArray(warnings).concat([new YellowBoxWarning(message, stack)]); + registry.delete(category); + registry.set(category, warnings); + handleUpdate(); + }, + delete: function _delete(category) { + if (registry.has(category)) { + registry.delete(category); + handleUpdate(); + } + }, + clear: function clear() { + if (registry.size > 0) { + registry.clear(); + handleUpdate(); + } + }, + addIgnorePatterns: function addIgnorePatterns(patterns) { + var newPatterns = patterns.filter(function (pattern) { + return !ignorePatterns.has(pattern); + }); + + if (newPatterns.length === 0) { + return; + } + + for (var _iterator4 = newPatterns, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref10; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref10 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref10 = _i4.value; + } + + var _pattern2 = _ref10; + ignorePatterns.add(_pattern2); + } + + handleUpdate(); + }, + setDisabled: function setDisabled(value) { + if (value === disabled) { + return; + } + + disabled = value; + handleUpdate(); + }, + isDisabled: function isDisabled() { + return disabled; + }, + observe: function observe(observer) { + var subscription = { + observer: observer + }; + observers.add(subscription); + observer(projection); + return { + unsubscribe: function unsubscribe() { + observers.delete(subscription); + } + }; + } + }; + module.exports = YellowBoxRegistry; +},444,[442],"node_modules/react-native/Libraries/YellowBox/Data/YellowBoxRegistry.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var I18nManager = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').I18nManager || { + isRTL: false, + doLeftAndRightSwapInRTL: true, + allowRTL: function allowRTL() {}, + forceRTL: function forceRTL() {}, + swapLeftAndRightInRTL: function swapLeftAndRightInRTL() {} + }; + module.exports = I18nManager; +},445,[168],"node_modules/react-native/Libraries/ReactNative/I18nManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js"; + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + NavigatorTransitionerIOS: { + displayName: "NavigatorTransitionerIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[2], 'EventEmitter'); + + var Image = _$$_REQUIRE(_dependencyMap[3], 'Image'); + + var RCTNavigatorManager = _$$_REQUIRE(_dependencyMap[4], 'NativeModules').NavigatorManager; + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[6], 'prop-types'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[7], 'ReactNative'); + + var StaticContainer = _$$_REQUIRE(_dependencyMap[8], 'StaticContainer.react'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[9], 'StyleSheet'); + + var TVEventHandler = _$$_REQUIRE(_dependencyMap[10], 'TVEventHandler'); + + var View = _$$_REQUIRE(_dependencyMap[11], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[12], 'ViewPropTypes'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[13], 'create-react-class'); + + var invariant = _$$_REQUIRE(_dependencyMap[14], 'fbjs/lib/invariant'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[15], 'requireNativeComponent'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[16], 'fbjs/lib/keyMirror'); + + var TRANSITIONER_REF = 'transitionerRef'; + var __uid = 0; + + function getuid() { + return __uid++; + } + + var NavigatorTransitionerIOS = function (_React$Component) { + function NavigatorTransitionerIOS() { + _classCallCheck(this, NavigatorTransitionerIOS); + + return _possibleConstructorReturn(this, _getPrototypeOf(NavigatorTransitionerIOS).apply(this, arguments)); + } + + _createClass(NavigatorTransitionerIOS, [{ + key: "requestSchedulingNavigation", + value: function requestSchedulingNavigation(cb) { + RCTNavigatorManager.requestSchedulingJavaScriptNavigation(ReactNative.findNodeHandle(this), cb); + } + }, { + key: "render", + value: function render() { + return React.createElement(RCTNavigator, _extends({}, this.props, { + __source: { + fileName: _jsxFileName, + lineNumber: 50 + } + })); + } + }]); + + _inherits(NavigatorTransitionerIOS, _React$Component); + + return NavigatorTransitionerIOS; + }(React.Component); + + NavigatorTransitionerIOS = _wrapComponent("NavigatorTransitionerIOS")(NavigatorTransitionerIOS); + var SystemIconLabels = { + done: true, + cancel: true, + edit: true, + save: true, + add: true, + compose: true, + reply: true, + action: true, + organize: true, + bookmarks: true, + search: true, + refresh: true, + stop: true, + camera: true, + trash: true, + play: true, + pause: true, + rewind: true, + 'fast-forward': true, + undo: true, + redo: true, + 'page-curl': true + }; + var SystemIcons = keyMirror(SystemIconLabels); + var NavigatorIOS = createReactClass({ + displayName: 'NavigatorIOS', + propTypes: { + initialRoute: PropTypes.shape({ + component: PropTypes.func.isRequired, + title: PropTypes.string.isRequired, + titleImage: Image.propTypes.source, + passProps: PropTypes.object, + backButtonIcon: Image.propTypes.source, + backButtonTitle: PropTypes.string, + leftButtonIcon: Image.propTypes.source, + leftButtonTitle: PropTypes.string, + leftButtonSystemIcon: PropTypes.oneOf(Object.keys(SystemIcons)), + onLeftButtonPress: PropTypes.func, + rightButtonIcon: Image.propTypes.source, + rightButtonTitle: PropTypes.string, + rightButtonSystemIcon: PropTypes.oneOf(Object.keys(SystemIcons)), + onRightButtonPress: PropTypes.func, + wrapperStyle: ViewPropTypes.style, + navigationBarHidden: PropTypes.bool, + shadowHidden: PropTypes.bool, + tintColor: PropTypes.string, + barTintColor: PropTypes.string, + barStyle: PropTypes.oneOf(['default', 'black']), + titleTextColor: PropTypes.string, + translucent: PropTypes.bool + }).isRequired, + navigationBarHidden: PropTypes.bool, + shadowHidden: PropTypes.bool, + itemWrapperStyle: ViewPropTypes.style, + tintColor: PropTypes.string, + barTintColor: PropTypes.string, + barStyle: PropTypes.oneOf(['default', 'black']), + titleTextColor: PropTypes.string, + translucent: PropTypes.bool, + interactivePopGestureEnabled: PropTypes.bool + }, + navigator: undefined, + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + this.navigator = { + push: this.push, + pop: this.pop, + popN: this.popN, + replace: this.replace, + replaceAtIndex: this.replaceAtIndex, + replacePrevious: this.replacePrevious, + replacePreviousAndPop: this.replacePreviousAndPop, + resetTo: this.resetTo, + popToRoute: this.popToRoute, + popToTop: this.popToTop + }; + }, + componentDidMount: function componentDidMount() { + this._enableTVEventHandler(); + }, + componentWillUnmount: function componentWillUnmount() { + this._disableTVEventHandler(); + }, + getDefaultProps: function getDefaultProps() { + return { + translucent: true + }; + }, + getInitialState: function getInitialState() { + return { + idStack: [getuid()], + routeStack: [this.props.initialRoute], + requestedTopOfStack: 0, + observedTopOfStack: 0, + progress: 1, + fromIndex: 0, + toIndex: 0, + makingNavigatorRequest: false, + updatingAllIndicesAtOrBeyond: 0 + }; + }, + _toFocusOnNavigationComplete: undefined, + _handleFocusRequest: function _handleFocusRequest(item) { + if (this.state.makingNavigatorRequest) { + this._toFocusOnNavigationComplete = item; + } else { + this._getFocusEmitter().emit('focus', item); + } + }, + _focusEmitter: undefined, + _getFocusEmitter: function _getFocusEmitter() { + var focusEmitter = this._focusEmitter; + + if (!focusEmitter) { + focusEmitter = new EventEmitter(); + this._focusEmitter = focusEmitter; + } + + return focusEmitter; + }, + getChildContext: function getChildContext() { + return { + onFocusRequested: this._handleFocusRequest, + focusEmitter: this._getFocusEmitter() + }; + }, + childContextTypes: { + onFocusRequested: PropTypes.func, + focusEmitter: PropTypes.instanceOf(EventEmitter) + }, + _tryLockNavigator: function _tryLockNavigator(cb) { + this.refs[TRANSITIONER_REF].requestSchedulingNavigation(function (acquiredLock) { + return acquiredLock && cb(); + }); + }, + _handleNavigatorStackChanged: function _handleNavigatorStackChanged(e) { + var newObservedTopOfStack = e.nativeEvent.stackLength - 1; + invariant(newObservedTopOfStack <= this.state.requestedTopOfStack, 'No navigator item should be pushed without JS knowing about it %s %s', newObservedTopOfStack, this.state.requestedTopOfStack); + var wasWaitingForConfirmation = this.state.requestedTopOfStack !== this.state.observedTopOfStack; + + if (wasWaitingForConfirmation) { + invariant(newObservedTopOfStack === this.state.requestedTopOfStack, 'If waiting for observedTopOfStack to reach requestedTopOfStack, ' + 'the only valid observedTopOfStack should be requestedTopOfStack.'); + } + + var nextState = { + observedTopOfStack: newObservedTopOfStack, + makingNavigatorRequest: false, + updatingAllIndicesAtOrBeyond: null, + progress: 1, + toIndex: newObservedTopOfStack, + fromIndex: newObservedTopOfStack + }; + this.setState(nextState, this._eliminateUnneededChildren); + }, + _eliminateUnneededChildren: function _eliminateUnneededChildren() { + var updatingAllIndicesAtOrBeyond = this.state.routeStack.length > this.state.observedTopOfStack + 1 ? this.state.observedTopOfStack + 1 : null; + this.setState({ + idStack: this.state.idStack.slice(0, this.state.observedTopOfStack + 1), + routeStack: this.state.routeStack.slice(0, this.state.observedTopOfStack + 1), + requestedTopOfStack: this.state.observedTopOfStack, + makingNavigatorRequest: true, + updatingAllIndicesAtOrBeyond: updatingAllIndicesAtOrBeyond + }); + }, + push: function push(route) { + var _this = this; + + invariant(!!route, 'Must supply route to push'); + + if (this.state.requestedTopOfStack === this.state.observedTopOfStack) { + this._tryLockNavigator(function () { + var nextStack = _this.state.routeStack.concat([route]); + + var nextIDStack = _this.state.idStack.concat([getuid()]); + + _this.setState({ + idStack: nextIDStack, + routeStack: nextStack, + requestedTopOfStack: nextStack.length - 1, + makingNavigatorRequest: true, + updatingAllIndicesAtOrBeyond: nextStack.length - 1 + }); + }); + } + }, + popN: function popN(n) { + var _this2 = this; + + if (n === 0) { + return; + } + + if (this.state.requestedTopOfStack === this.state.observedTopOfStack) { + if (this.state.requestedTopOfStack > 0) { + this._tryLockNavigator(function () { + var newRequestedTopOfStack = _this2.state.requestedTopOfStack - n; + invariant(newRequestedTopOfStack >= 0, 'Cannot pop below 0'); + + _this2.setState({ + requestedTopOfStack: newRequestedTopOfStack, + makingNavigatorRequest: true, + updatingAllIndicesAtOrBeyond: _this2.state.requestedTopOfStack - n + }); + }); + } + } + }, + pop: function pop() { + this.popN(1); + }, + replaceAtIndex: function replaceAtIndex(route, index) { + invariant(!!route, 'Must supply route to replace'); + + if (index < 0) { + index += this.state.routeStack.length; + } + + if (this.state.routeStack.length <= index) { + return; + } + + var nextIDStack = this.state.idStack.slice(); + var nextRouteStack = this.state.routeStack.slice(); + nextIDStack[index] = getuid(); + nextRouteStack[index] = route; + this.setState({ + idStack: nextIDStack, + routeStack: nextRouteStack, + makingNavigatorRequest: false, + updatingAllIndicesAtOrBeyond: index + }); + }, + replace: function replace(route) { + this.replaceAtIndex(route, -1); + }, + replacePrevious: function replacePrevious(route) { + this.replaceAtIndex(route, -2); + }, + popToTop: function popToTop() { + this.popToRoute(this.state.routeStack[0]); + }, + popToRoute: function popToRoute(route) { + var indexOfRoute = this.state.routeStack.indexOf(route); + invariant(indexOfRoute !== -1, "Calling pop to route for a route that doesn't exist!"); + var numToPop = this.state.routeStack.length - indexOfRoute - 1; + this.popN(numToPop); + }, + replacePreviousAndPop: function replacePreviousAndPop(route) { + var _this3 = this; + + if (this.state.requestedTopOfStack !== this.state.observedTopOfStack) { + return; + } + + if (this.state.routeStack.length < 2) { + return; + } + + this._tryLockNavigator(function () { + _this3.replacePrevious(route); + + _this3.setState({ + requestedTopOfStack: _this3.state.requestedTopOfStack - 1, + makingNavigatorRequest: true + }); + }); + }, + resetTo: function resetTo(route) { + invariant(!!route, 'Must supply route to push'); + + if (this.state.requestedTopOfStack !== this.state.observedTopOfStack) { + return; + } + + this.replaceAtIndex(route, 0); + this.popToRoute(route); + }, + _handleNavigationComplete: function _handleNavigationComplete(e) { + e.stopPropagation(); + + if (this._toFocusOnNavigationComplete) { + this._getFocusEmitter().emit('focus', this._toFocusOnNavigationComplete); + + this._toFocusOnNavigationComplete = null; + } + + this._handleNavigatorStackChanged(e); + }, + _routeToStackItem: function _routeToStackItem(routeArg, i) { + var component = routeArg.component, + wrapperStyle = routeArg.wrapperStyle, + passProps = routeArg.passProps, + route = _objectWithoutProperties(routeArg, ["component", "wrapperStyle", "passProps"]); + + var _this$props = this.props, + itemWrapperStyle = _this$props.itemWrapperStyle, + props = _objectWithoutProperties(_this$props, ["itemWrapperStyle"]); + + var shouldUpdateChild = this.state.updatingAllIndicesAtOrBeyond != null && this.state.updatingAllIndicesAtOrBeyond >= i; + var Component = component; + return React.createElement(StaticContainer, { + key: 'nav' + i, + shouldUpdate: shouldUpdateChild, + __source: { + fileName: _jsxFileName, + lineNumber: 850 + } + }, React.createElement(RCTNavigatorItem, _extends({}, props, route, { + style: [styles.stackItem, itemWrapperStyle, wrapperStyle], + __source: { + fileName: _jsxFileName, + lineNumber: 851 + } + }), React.createElement(Component, _extends({ + navigator: this.navigator, + route: route + }, passProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 855 + } + })))); + }, + _renderNavigationStackItems: function _renderNavigationStackItems() { + var shouldRecurseToNavigator = this.state.makingNavigatorRequest || this.state.updatingAllIndicesAtOrBeyond !== null; + var items = shouldRecurseToNavigator ? this.state.routeStack.map(this._routeToStackItem) : null; + return React.createElement(StaticContainer, { + shouldUpdate: shouldRecurseToNavigator, + __source: { + fileName: _jsxFileName, + lineNumber: 871 + } + }, React.createElement(NavigatorTransitionerIOS, { + ref: TRANSITIONER_REF, + style: styles.transitioner, + vertical: this.props.vertical, + requestedTopOfStack: this.state.requestedTopOfStack, + onNavigationComplete: this._handleNavigationComplete, + interactivePopGestureEnabled: this.props.interactivePopGestureEnabled, + __source: { + fileName: _jsxFileName, + lineNumber: 872 + } + }, items)); + }, + _tvEventHandler: undefined, + _enableTVEventHandler: function _enableTVEventHandler() { + this._tvEventHandler = new TVEventHandler(); + + this._tvEventHandler.enable(this, function (cmp, evt) { + if (evt && evt.eventType === 'menu') { + cmp.pop(); + } + }); + }, + _disableTVEventHandler: function _disableTVEventHandler() { + if (this._tvEventHandler) { + this._tvEventHandler.disable(); + + delete this._tvEventHandler; + } + }, + render: function render() { + return React.createElement(View, { + style: this.props.style, + __source: { + fileName: _jsxFileName, + lineNumber: 909 + } + }, this._renderNavigationStackItems()); + } + }); + var styles = StyleSheet.create({ + stackItem: { + backgroundColor: 'white', + overflow: 'hidden', + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0 + }, + transitioner: { + flex: 1 + } + }); + var RCTNavigator = requireNativeComponent('RCTNavigator'); + var RCTNavigatorItem = requireNativeComponent('RCTNavItem'); + module.exports = NavigatorIOS; +},446,[1,11,195,361,168,200,212,261,447,201,327,227,376,365,166,229,210],"node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + StaticContainer: { + displayName: "StaticContainer" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/StaticContainer.react.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StaticContainer = function (_React$Component) { + function StaticContainer() { + _classCallCheck(this, StaticContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(StaticContainer).apply(this, arguments)); + } + + _createClass(StaticContainer, [{ + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + return !!nextProps.shouldUpdate; + } + }, { + key: "render", + value: function render() { + var child = this.props.children; + return child === null || child === false ? null : React.Children.only(child); + } + }]); + + _inherits(StaticContainer, _React$Component); + + return StaticContainer; + }(React.Component); + + StaticContainer = _wrapComponent("StaticContainer")(StaticContainer); + module.exports = StaticContainer; +},447,[1,11,200],"node_modules/react-native/Libraries/Components/StaticContainer.react.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Picker/Picker.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _components = { + PickerItem: { + displayName: "PickerItem" + }, + Picker: { + displayName: "Picker" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Picker/Picker.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[2], 'ColorPropType'); + + var PickerIOS = _$$_REQUIRE(_dependencyMap[3], 'PickerIOS'); + + var PickerAndroid = _$$_REQUIRE(_dependencyMap[4], 'PickerAndroid'); + + var Platform = _$$_REQUIRE(_dependencyMap[5], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[6], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[7], 'prop-types'); + + var StyleSheetPropType = _$$_REQUIRE(_dependencyMap[8], 'StyleSheetPropType'); + + var TextStylePropTypes = _$$_REQUIRE(_dependencyMap[9], 'TextStylePropTypes'); + + var UnimplementedView = _$$_REQUIRE(_dependencyMap[10], 'UnimplementedView'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[11], 'ViewPropTypes'); + + var ViewStylePropTypes = _$$_REQUIRE(_dependencyMap[12], 'ViewStylePropTypes'); + + var itemStylePropType = StyleSheetPropType(TextStylePropTypes); + var pickerStyleType = StyleSheetPropType(_objectSpread({}, ViewStylePropTypes, { + color: ColorPropType + })); + var MODE_DIALOG = 'dialog'; + var MODE_DROPDOWN = 'dropdown'; + + var PickerItem = function (_React$Component) { + function PickerItem() { + _classCallCheck(this, PickerItem); + + return _possibleConstructorReturn(this, _getPrototypeOf(PickerItem).apply(this, arguments)); + } + + _createClass(PickerItem, [{ + key: "render", + value: function render() { + throw null; + } + }]); + + _inherits(PickerItem, _React$Component); + + return PickerItem; + }(React.Component); + + PickerItem.propTypes = { + label: PropTypes.string.isRequired, + value: PropTypes.any, + color: ColorPropType, + testID: PropTypes.string + }; + PickerItem = _wrapComponent("PickerItem")(PickerItem); + + var Picker = function (_React$Component2) { + function Picker() { + _classCallCheck(this, Picker); + + return _possibleConstructorReturn(this, _getPrototypeOf(Picker).apply(this, arguments)); + } + + _createClass(Picker, [{ + key: "render", + value: function render() { + if (Platform.OS === 'ios') { + return React.createElement(PickerIOS, _extends({}, this.props, { + __source: { + fileName: _jsxFileName, + lineNumber: 155 + } + }), this.props.children); + } else if (Platform.OS === 'android') { + return React.createElement(PickerAndroid, _extends({}, this.props, { + __source: { + fileName: _jsxFileName, + lineNumber: 159 + } + }), this.props.children); + } else { + return React.createElement(UnimplementedView, { + __source: { + fileName: _jsxFileName, + lineNumber: 162 + } + }); + } + } + }]); + + _inherits(Picker, _React$Component2); + + return Picker; + }(React.Component); + + Picker.MODE_DIALOG = MODE_DIALOG; + Picker.MODE_DROPDOWN = MODE_DROPDOWN; + Picker.Item = PickerItem; + Picker.defaultProps = { + mode: MODE_DIALOG + }; + Picker.propTypes = _objectSpread({}, ViewPropTypes, { + style: pickerStyleType, + selectedValue: PropTypes.any, + onValueChange: PropTypes.func, + enabled: PropTypes.bool, + mode: PropTypes.oneOf(['dialog', 'dropdown']), + itemStyle: itemStylePropType, + prompt: PropTypes.string, + testID: PropTypes.string + }); + Picker = _wrapComponent("Picker")(Picker); + module.exports = Picker; +},448,[1,11,207,449,450,176,200,212,255,219,240,376,220],"node_modules/react-native/Libraries/Components/Picker/Picker.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + PickerIOS: { + displayName: "PickerIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[3], 'ReactNative'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[5], 'View'); + + var processColor = _$$_REQUIRE(_dependencyMap[6], 'processColor'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[7], 'requireNativeComponent'); + + var RCTPickerIOS = requireNativeComponent('RCTPicker'); + + var PickerIOSItem = function PickerIOSItem(props) { + return null; + }; + + var PickerIOS = function (_React$Component) { + function PickerIOS() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, PickerIOS); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(PickerIOS)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._picker = null, _this.state = { + selectedIndex: 0, + items: [] + }, _this._onChange = function (event) { + if (_this.props.onChange) { + _this.props.onChange(event); + } + + if (_this.props.onValueChange) { + _this.props.onValueChange(event.nativeEvent.newValue, event.nativeEvent.newIndex); + } + + if (_this._picker && _this.state.selectedIndex !== event.nativeEvent.newIndex) { + _this._picker.setNativeProps({ + selectedIndex: _this.state.selectedIndex + }); + } + }, _temp)); + } + + _createClass(PickerIOS, [{ + key: "render", + value: function render() { + var _this2 = this; + + return React.createElement(View, { + style: this.props.style, + __source: { + fileName: _jsxFileName, + lineNumber: 112 + } + }, React.createElement(RCTPickerIOS, { + ref: function ref(picker) { + _this2._picker = picker; + }, + style: [styles.pickerIOS, this.props.itemStyle], + items: this.state.items, + selectedIndex: this.state.selectedIndex, + onChange: this._onChange, + onStartShouldSetResponder: function onStartShouldSetResponder() { + return true; + }, + onResponderTerminationRequest: function onResponderTerminationRequest() { + return false; + }, + __source: { + fileName: _jsxFileName, + lineNumber: 113 + } + })); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(props) { + var selectedIndex = 0; + var items = []; + React.Children.toArray(props.children).forEach(function (child, index) { + if (child.props.value === props.selectedValue) { + selectedIndex = index; + } + + items.push({ + value: child.props.value, + label: child.props.label, + textColor: processColor(child.props.color) + }); + }); + return { + selectedIndex: selectedIndex, + items: items + }; + } + }]); + + _inherits(PickerIOS, _React$Component); + + return PickerIOS; + }(React.Component); + + PickerIOS.Item = PickerIOSItem; + PickerIOS = _wrapComponent("PickerIOS")(PickerIOS); + var styles = StyleSheet.create({ + pickerIOS: { + height: 216 + } + }); + module.exports = PickerIOS; +},449,[1,11,200,261,201,227,221,229],"node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},450,[240],"node_modules/react-native/Libraries/Components/Picker/PickerAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var Image = _$$_REQUIRE(_dependencyMap[0], 'Image'); + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[1], 'NativeMethodsMixin'); + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[3], 'ReactNative'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[6], 'ViewPropTypes'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[7], 'create-react-class'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[8], 'requireNativeComponent'); + + var RCTProgressView = requireNativeComponent('RCTProgressView'); + var ProgressViewIOS = createReactClass({ + displayName: 'ProgressViewIOS', + mixins: [NativeMethodsMixin], + propTypes: _objectSpread({}, ViewPropTypes, { + progressViewStyle: PropTypes.oneOf(['default', 'bar']), + progress: PropTypes.number, + progressTintColor: PropTypes.string, + trackTintColor: PropTypes.string, + progressImage: Image.propTypes.source, + trackImage: Image.propTypes.source + }), + render: function render() { + return React.createElement(RCTProgressView, _extends({}, this.props, { + style: [styles.progressView, this.props.style], + __source: { + fileName: _jsxFileName, + lineNumber: 82 + } + })); + } + }); + var styles = StyleSheet.create({ + progressView: { + height: 2 + } + }); + module.exports = ProgressViewIOS; +},451,[361,364,200,261,212,201,376,365,229],"node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/SectionList.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _components = { + SectionList: { + displayName: "SectionList" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/SectionList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var MetroListView = _$$_REQUIRE(_dependencyMap[2], 'MetroListView'); + + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[5], 'ScrollView'); + + var VirtualizedSectionList = _$$_REQUIRE(_dependencyMap[6], 'VirtualizedSectionList'); + + var defaultProps = _objectSpread({}, VirtualizedSectionList.defaultProps, { + stickySectionHeadersEnabled: Platform.OS === 'ios' + }); + + var SectionList = function (_React$PureComponent) { + function SectionList() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, SectionList); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SectionList)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._captureRef = function (ref) { + _this._wrapperListRef = ref; + }, _temp)); + } + + _createClass(SectionList, [{ + key: "scrollToLocation", + value: function scrollToLocation(params) { + this._wrapperListRef.scrollToLocation(params); + } + }, { + key: "recordInteraction", + value: function recordInteraction() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + + listRef && listRef.recordInteraction(); + } + }, { + key: "flashScrollIndicators", + value: function flashScrollIndicators() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + + listRef && listRef.flashScrollIndicators(); + } + }, { + key: "getScrollResponder", + value: function getScrollResponder() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + + if (listRef) { + return listRef.getScrollResponder(); + } + } + }, { + key: "getScrollableNode", + value: function getScrollableNode() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + + if (listRef) { + return listRef.getScrollableNode(); + } + } + }, { + key: "setNativeProps", + value: function setNativeProps(props) { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + + if (listRef) { + listRef.setNativeProps(props); + } + } + }, { + key: "render", + value: function render() { + var List = this.props.legacyImplementation ? MetroListView : VirtualizedSectionList; + return React.createElement(List, _extends({}, this.props, { + ref: this._captureRef, + __source: { + fileName: _jsxFileName, + lineNumber: 332 + } + })); + } + }]); + + _inherits(SectionList, _React$PureComponent); + + return SectionList; + }(React.PureComponent); + + SectionList.defaultProps = defaultProps; + SectionList = _wrapComponent("SectionList")(SectionList); + module.exports = SectionList; +},452,[1,11,389,176,200,367,453],"node_modules/react-native/Libraries/Lists/SectionList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + var _components = { + VirtualizedSectionList: { + displayName: "VirtualizedSectionList" + }, + ItemWithSeparator: { + displayName: "ItemWithSeparator" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var View = _$$_REQUIRE(_dependencyMap[3], 'View'); + + var VirtualizedList = _$$_REQUIRE(_dependencyMap[4], 'VirtualizedList'); + + var invariant = _$$_REQUIRE(_dependencyMap[5], 'fbjs/lib/invariant'); + + var VirtualizedSectionList = function (_React$PureComponent) { + _createClass(VirtualizedSectionList, [{ + key: "scrollToLocation", + value: function scrollToLocation(params) { + var index = params.itemIndex + 1; + + for (var ii = 0; ii < params.sectionIndex; ii++) { + index += this.props.sections[ii].data.length + 2; + } + + var toIndexParams = _objectSpread({}, params, { + index: index + }); + + this._listRef.scrollToIndex(toIndexParams); + } + }, { + key: "getListRef", + value: function getListRef() { + return this._listRef; + } + }]); + + function VirtualizedSectionList(props, context) { + var _this; + + _classCallCheck(this, VirtualizedSectionList); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(VirtualizedSectionList).call(this, props, context)); + + _this._keyExtractor = function (item, index) { + var info = _this._subExtractor(index); + + return info && info.key || String(index); + }; + + _this._convertViewable = function (viewable) { + invariant(viewable.index != null, 'Received a broken ViewToken'); + + var info = _this._subExtractor(viewable.index); + + if (!info) { + return null; + } + + var keyExtractor = info.section.keyExtractor || _this.props.keyExtractor; + return _objectSpread({}, viewable, { + index: info.index, + key: keyExtractor(viewable.item, info.index), + section: info.section + }); + }; + + _this._onViewableItemsChanged = function (_ref) { + var viewableItems = _ref.viewableItems, + changed = _ref.changed; + + if (_this.props.onViewableItemsChanged) { + _this.props.onViewableItemsChanged({ + viewableItems: viewableItems.map(_this._convertViewable, _assertThisInitialized(_assertThisInitialized(_this))).filter(Boolean), + changed: changed.map(_this._convertViewable, _assertThisInitialized(_assertThisInitialized(_this))).filter(Boolean) + }); + } + }; + + _this._renderItem = function (_ref2) { + var item = _ref2.item, + index = _ref2.index; + + var info = _this._subExtractor(index); + + if (!info) { + return null; + } + + var infoIndex = info.index; + + if (infoIndex == null) { + var _section = info.section; + + if (info.header === true) { + var _renderSectionHeader = _this.props.renderSectionHeader; + return _renderSectionHeader ? _renderSectionHeader({ + section: _section + }) : null; + } else { + var _renderSectionFooter = _this.props.renderSectionFooter; + return _renderSectionFooter ? _renderSectionFooter({ + section: _section + }) : null; + } + } else { + var _renderItem = info.section.renderItem || _this.props.renderItem; + + var _SeparatorComponent = _this._getSeparatorComponent(index, info); + + invariant(_renderItem, 'no renderItem!'); + return React.createElement(ItemWithSeparator, { + SeparatorComponent: _SeparatorComponent, + LeadingSeparatorComponent: infoIndex === 0 ? _this.props.SectionSeparatorComponent : undefined, + cellKey: info.key, + index: infoIndex, + item: item, + leadingItem: info.leadingItem, + leadingSection: info.leadingSection, + onUpdateSeparator: _this._onUpdateSeparator, + prevCellKey: (_this._subExtractor(index - 1) || {}).key, + ref: function ref(_ref3) { + _this._cellRefs[info.key] = _ref3; + }, + renderItem: _renderItem, + section: info.section, + trailingItem: info.trailingItem, + trailingSection: info.trailingSection, + __source: { + fileName: _jsxFileName, + lineNumber: 316 + } + }); + } + }; + + _this._onUpdateSeparator = function (key, newProps) { + var ref = _this._cellRefs[key]; + ref && ref.updateSeparatorProps(newProps); + }; + + _this._cellRefs = {}; + + _this._captureRef = function (ref) { + _this._listRef = ref; + }; + + _this.state = _this._computeState(props); + return _this; + } + + _createClass(VirtualizedSectionList, [{ + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + this.setState(this._computeState(nextProps)); + } + }, { + key: "_computeState", + value: function _computeState(props) { + var offset = props.ListHeaderComponent ? 1 : 0; + var stickyHeaderIndices = []; + var itemCount = props.sections.reduce(function (v, section) { + stickyHeaderIndices.push(v + offset); + return v + section.data.length + 2; + }, 0); + return { + childProps: _objectSpread({}, props, { + renderItem: this._renderItem, + ItemSeparatorComponent: undefined, + data: props.sections, + getItemCount: function getItemCount() { + return itemCount; + }, + getItem: getItem, + keyExtractor: this._keyExtractor, + onViewableItemsChanged: props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined, + stickyHeaderIndices: props.stickySectionHeadersEnabled ? stickyHeaderIndices : undefined + }) + }; + } + }, { + key: "render", + value: function render() { + return React.createElement(VirtualizedList, _extends({}, this.state.childProps, { + ref: this._captureRef, + __source: { + fileName: _jsxFileName, + lineNumber: 201 + } + })); + } + }, { + key: "_subExtractor", + value: function _subExtractor(index) { + var itemIndex = index; + var defaultKeyExtractor = this.props.keyExtractor; + + for (var ii = 0; ii < this.props.sections.length; ii++) { + var _section2 = this.props.sections[ii]; + + var _key = _section2.key || String(ii); + + itemIndex -= 1; + + if (itemIndex >= _section2.data.length + 1) { + itemIndex -= _section2.data.length + 1; + } else if (itemIndex === -1) { + return { + section: _section2, + key: _key + ':header', + index: null, + header: true, + trailingSection: this.props.sections[ii + 1] + }; + } else if (itemIndex === _section2.data.length) { + return { + section: _section2, + key: _key + ':footer', + index: null, + header: false, + trailingSection: this.props.sections[ii + 1] + }; + } else { + var _keyExtractor = _section2.keyExtractor || defaultKeyExtractor; + + return { + section: _section2, + key: _key + ':' + _keyExtractor(_section2.data[itemIndex], itemIndex), + index: itemIndex, + leadingItem: _section2.data[itemIndex - 1], + leadingSection: this.props.sections[ii - 1], + trailingItem: _section2.data[itemIndex + 1], + trailingSection: this.props.sections[ii + 1] + }; + } + } + } + }, { + key: "_getSeparatorComponent", + value: function _getSeparatorComponent(index, info) { + info = info || this._subExtractor(index); + + if (!info) { + return null; + } + + var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent; + var SectionSeparatorComponent = this.props.SectionSeparatorComponent; + var isLastItemInList = index === this.state.childProps.getItemCount() - 1; + var isLastItemInSection = info.index === info.section.data.length - 1; + + if (SectionSeparatorComponent && isLastItemInSection) { + return SectionSeparatorComponent; + } + + if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) { + return ItemSeparatorComponent; + } + + return null; + } + }]); + + _inherits(VirtualizedSectionList, _React$PureComponent); + + return VirtualizedSectionList; + }(React.PureComponent); + + VirtualizedSectionList.defaultProps = _objectSpread({}, VirtualizedList.defaultProps, { + data: [] + }); + VirtualizedSectionList = _wrapComponent("VirtualizedSectionList")(VirtualizedSectionList); + + var ItemWithSeparator = function (_React$Component) { + function ItemWithSeparator() { + var _getPrototypeOf2; + + var _temp, _this2; + + _classCallCheck(this, ItemWithSeparator); + + for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) { + args[_key2] = arguments[_key2]; + } + + return _possibleConstructorReturn(_this2, (_temp = _this2 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ItemWithSeparator)).call.apply(_getPrototypeOf2, [this].concat(args))), _this2.state = { + separatorProps: { + highlighted: false, + leadingItem: _this2.props.item, + leadingSection: _this2.props.leadingSection, + section: _this2.props.section, + trailingItem: _this2.props.trailingItem, + trailingSection: _this2.props.trailingSection + }, + leadingSeparatorProps: { + highlighted: false, + leadingItem: _this2.props.leadingItem, + leadingSection: _this2.props.leadingSection, + section: _this2.props.section, + trailingItem: _this2.props.item, + trailingSection: _this2.props.trailingSection + } + }, _this2._separators = { + highlight: function highlight() { + ['leading', 'trailing'].forEach(function (s) { + return _this2._separators.updateProps(s, { + highlighted: true + }); + }); + }, + unhighlight: function unhighlight() { + ['leading', 'trailing'].forEach(function (s) { + return _this2._separators.updateProps(s, { + highlighted: false + }); + }); + }, + updateProps: function updateProps(select, newProps) { + var _this2$props = _this2.props, + LeadingSeparatorComponent = _this2$props.LeadingSeparatorComponent, + cellKey = _this2$props.cellKey, + prevCellKey = _this2$props.prevCellKey; + + if (select === 'leading' && LeadingSeparatorComponent != null) { + _this2.setState(function (state) { + return { + leadingSeparatorProps: _objectSpread({}, state.leadingSeparatorProps, newProps) + }; + }); + } else { + _this2.props.onUpdateSeparator(select === 'leading' && prevCellKey || cellKey, newProps); + } + } + }, _temp)); + } + + _createClass(ItemWithSeparator, [{ + key: "updateSeparatorProps", + value: function updateSeparatorProps(newProps) { + this.setState(function (state) { + return { + separatorProps: _objectSpread({}, state.separatorProps, newProps) + }; + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + LeadingSeparatorComponent = _this$props.LeadingSeparatorComponent, + SeparatorComponent = _this$props.SeparatorComponent, + item = _this$props.item, + index = _this$props.index, + section = _this$props.section; + var element = this.props.renderItem({ + item: item, + index: index, + section: section, + separators: this._separators + }); + var leadingSeparator = LeadingSeparatorComponent && React.createElement(LeadingSeparatorComponent, _extends({}, this.state.leadingSeparatorProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 502 + } + })); + var separator = SeparatorComponent && React.createElement(SeparatorComponent, _extends({}, this.state.separatorProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 505 + } + })); + return leadingSeparator || separator ? React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 508 + } + }, leadingSeparator, element, separator) : element; + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(props, prevState) { + return { + separatorProps: _objectSpread({}, prevState.separatorProps, { + leadingItem: props.item, + leadingSection: props.leadingSection, + section: props.section, + trailingItem: props.trailingItem, + trailingSection: props.trailingSection + }), + leadingSeparatorProps: _objectSpread({}, prevState.leadingSeparatorProps, { + leadingItem: props.leadingItem, + leadingSection: props.leadingSection, + section: props.section, + trailingItem: props.item, + trailingSection: props.trailingSection + }) + }; + } + }]); + + _inherits(ItemWithSeparator, _React$Component); + + return ItemWithSeparator; + }(React.Component); + + ItemWithSeparator = _wrapComponent("ItemWithSeparator")(ItemWithSeparator); + + function getItem(sections, index) { + if (!sections) { + return null; + } + + var itemIdx = index - 1; + + for (var ii = 0; ii < sections.length; ii++) { + if (itemIdx === -1 || itemIdx === sections[ii].data.length) { + return sections[ii]; + } else if (itemIdx < sections[ii].data.length) { + return sections[ii].data[itemIdx]; + } else { + itemIdx -= sections[ii].data.length + 2; + } + } + + return null; + } + + module.exports = VirtualizedSectionList; +},453,[1,11,200,227,397,166],"node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[0], 'NativeMethodsMixin'); + + var React = _$$_REQUIRE(_dependencyMap[1], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[2], 'ReactNative'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[5], 'ViewPropTypes'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[6], 'create-react-class'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[7], 'requireNativeComponent'); + + var RCTSegmentedControl = requireNativeComponent('RCTSegmentedControl'); + var SEGMENTED_CONTROL_REFERENCE = 'segmentedcontrol'; + var SegmentedControlIOS = createReactClass({ + displayName: 'SegmentedControlIOS', + mixins: [NativeMethodsMixin], + propTypes: _objectSpread({}, ViewPropTypes, { + values: PropTypes.arrayOf(PropTypes.string), + selectedIndex: PropTypes.number, + onValueChange: PropTypes.func, + onChange: PropTypes.func, + enabled: PropTypes.bool, + tintColor: PropTypes.string, + momentary: PropTypes.bool + }), + getDefaultProps: function getDefaultProps() { + return { + values: [], + enabled: true + }; + }, + _onChange: function _onChange(event) { + this.props.onChange && this.props.onChange(event); + this.props.onValueChange && this.props.onValueChange(event.nativeEvent.value); + }, + render: function render() { + return React.createElement(RCTSegmentedControl, _extends({}, this.props, { + ref: SEGMENTED_CONTROL_REFERENCE, + style: [styles.segmentedControl, this.props.style], + onChange: this._onChange, + __source: { + fileName: _jsxFileName, + lineNumber: 128 + } + })); + } + }); + var styles = StyleSheet.create({ + segmentedControl: { + height: 28 + } + }); + module.exports = SegmentedControlIOS; +},454,[364,200,261,212,201,376,365,229],"node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Slider/Slider.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var ReactNative = _$$_REQUIRE(_dependencyMap[0], 'ReactNative'); + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[3], 'StyleSheet'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[4], 'requireNativeComponent'); + + var RCTSlider = requireNativeComponent('RCTSlider'); + + var Slider = function Slider(props, forwardedRef) { + var style = StyleSheet.compose(styles.slider, props.style); + + var onValueChange = props.onValueChange && function (event) { + var userEvent = true; + + if (Platform.OS === 'android') { + userEvent = event.nativeEvent.fromUser; + } + + props.onValueChange && userEvent && props.onValueChange(event.nativeEvent.value); + }; + + var onChange = onValueChange; + + var onSlidingComplete = props.onSlidingComplete && function (event) { + props.onSlidingComplete && props.onSlidingComplete(event.nativeEvent.value); + }; + + return React.createElement(RCTSlider, _extends({}, props, { + ref: forwardedRef, + style: style, + onChange: onChange, + onSlidingComplete: onSlidingComplete, + onValueChange: onValueChange, + enabled: !props.disabled, + onStartShouldSetResponder: function onStartShouldSetResponder() { + return true; + }, + onResponderTerminationRequest: function onResponderTerminationRequest() { + return false; + }, + __source: { + fileName: _jsxFileName, + lineNumber: 229 + } + })); + }; + + var SliderWithRef = React.forwardRef(Slider); + SliderWithRef.defaultProps = { + disabled: false, + value: 0, + minimumValue: 0, + maximumValue: 1, + step: 0 + }; + SliderWithRef.displayName = 'Slider'; + var styles; + + if (Platform.OS === 'ios') { + styles = StyleSheet.create({ + slider: { + height: 40 + } + }); + } else { + styles = StyleSheet.create({ + slider: {} + }); + } + + module.exports = SliderWithRef; +},455,[261,176,200,201,229],"node_modules/react-native/Libraries/Components/Slider/Slider.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + SnapshotViewIOS: { + displayName: "SnapshotViewIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[4], 'StyleSheet'); + + var _require = _$$_REQUIRE(_dependencyMap[5], 'NativeModules'), + TestModule = _require.TestModule; + + var UIManager = _$$_REQUIRE(_dependencyMap[6], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[8], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[9], 'requireNativeComponent'); + + var RCTSnapshot = UIManager.RCTSnapshot ? requireNativeComponent('RCTSnapshot') : View; + + var SnapshotViewIOS = function (_React$Component) { + function SnapshotViewIOS() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, SnapshotViewIOS); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SnapshotViewIOS)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.onDefaultAction = function (event) { + TestModule.verifySnapshot(TestModule.markTestPassed); + }, _temp)); + } + + _createClass(SnapshotViewIOS, [{ + key: "render", + value: function render() { + var testIdentifier = this.props.testIdentifier || 'test'; + var onSnapshotReady = this.props.onSnapshotReady || this.onDefaultAction; + return React.createElement(RCTSnapshot, _extends({ + style: style.snapshot + }, this.props, { + onSnapshotReady: onSnapshotReady, + testIdentifier: testIdentifier, + __source: { + fileName: _jsxFileName, + lineNumber: 53 + } + })); + } + }]); + + _inherits(SnapshotViewIOS, _React$Component); + + return SnapshotViewIOS; + }(React.Component); + + SnapshotViewIOS.propTypes = _objectSpread({}, ViewPropTypes, { + onSnapshotReady: PropTypes.func, + testIdentifier: PropTypes.string + }); + SnapshotViewIOS = _wrapComponent("SnapshotViewIOS")(SnapshotViewIOS); + var style = StyleSheet.create({ + snapshot: { + flex: 1 + } + }); + module.exports = SnapshotViewIOS; +},456,[1,11,200,212,201,168,218,227,376,229],"node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Switch/Switch.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Switch: { + displayName: "Switch" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/Switch/Switch.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[4], 'ReactNative'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var nullthrows = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/nullthrows'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[7], 'requireNativeComponent'); + + var RCTSwitch = Platform.OS === 'android' ? requireNativeComponent('AndroidSwitch') : requireNativeComponent('RCTSwitch'); + + var Switch = function (_React$Component) { + function Switch() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, Switch); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Switch)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._rctSwitch = null, _this._onChange = function (event) { + if (Platform.OS === 'android') { + nullthrows(_this._rctSwitch).setNativeProps({ + on: _this.props.value + }); + } else { + nullthrows(_this._rctSwitch).setNativeProps({ + value: _this.props.value + }); + } + + _this.props.onChange && _this.props.onChange(event); + _this.props.onValueChange && _this.props.onValueChange(event.nativeEvent.value); + }, _temp)); + } + + _createClass(Switch, [{ + key: "render", + value: function render() { + var _this2 = this; + + var props = _objectSpread({}, this.props, { + onStartShouldSetResponder: function onStartShouldSetResponder() { + return true; + }, + onResponderTerminationRequest: function onResponderTerminationRequest() { + return false; + } + }); + + var platformProps = Platform.OS === 'android' ? { + enabled: !this.props.disabled, + on: this.props.value, + style: this.props.style, + trackTintColor: this.props.value ? this.props.onTintColor : this.props.tintColor + } : { + style: StyleSheet.compose(styles.rctSwitchIOS, this.props.style) + }; + return React.createElement(RCTSwitch, _extends({}, props, platformProps, { + ref: function ref(_ref) { + _this2._rctSwitch = _ref; + }, + onChange: this._onChange, + __source: { + fileName: _jsxFileName, + lineNumber: 144 + } + })); + } + }]); + + _inherits(Switch, _React$Component); + + return Switch; + }(React.Component); + + Switch.defaultProps = { + value: false, + disabled: false + }; + Switch = _wrapComponent("Switch")(Switch); + var styles = StyleSheet.create({ + rctSwitchIOS: { + height: 31, + width: 51 + } + }); + module.exports = Switch; +},457,[1,11,176,200,261,201,329,229],"node_modules/react-native/Libraries/Components/Switch/Switch.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var _components = { + StatusBar: { + displayName: "StatusBar" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var React = _$$_REQUIRE(_dependencyMap[2], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var ColorPropType = _$$_REQUIRE(_dependencyMap[4], 'ColorPropType'); + + var Platform = _$$_REQUIRE(_dependencyMap[5], 'Platform'); + + var processColor = _$$_REQUIRE(_dependencyMap[6], 'processColor'); + + var StatusBarManager = _$$_REQUIRE(_dependencyMap[7], 'NativeModules').StatusBarManager; + + function mergePropsStack(propsStack, defaultValues) { + return propsStack.reduce(function (prev, cur) { + for (var prop in cur) { + if (cur[prop] != null) { + prev[prop] = cur[prop]; + } + } + + return prev; + }, _extends({}, defaultValues)); + } + + function createStackEntry(props) { + return { + backgroundColor: props.backgroundColor != null ? { + value: props.backgroundColor, + animated: props.animated + } : null, + barStyle: props.barStyle != null ? { + value: props.barStyle, + animated: props.animated + } : null, + translucent: props.translucent, + hidden: props.hidden != null ? { + value: props.hidden, + animated: props.animated, + transition: props.showHideTransition + } : null, + networkActivityIndicatorVisible: props.networkActivityIndicatorVisible + }; + } + + var StatusBar = function (_React$Component) { + function StatusBar() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, StatusBar); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(StatusBar)).call.apply(_getPrototypeOf2, [this].concat(args))), _this._stackEntry = null, _this._updatePropsStack = function () { + clearImmediate(StatusBar._updateImmediate); + StatusBar._updateImmediate = setImmediate(function () { + var oldProps = StatusBar._currentValues; + var mergedProps = mergePropsStack(StatusBar._propsStack, StatusBar._defaultProps); + + if (Platform.OS === 'ios') { + if (!oldProps || oldProps.barStyle.value !== mergedProps.barStyle.value) { + StatusBarManager.setStyle(mergedProps.barStyle.value, mergedProps.barStyle.animated); + } + + if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) { + StatusBarManager.setHidden(mergedProps.hidden.value, mergedProps.hidden.animated ? mergedProps.hidden.transition : 'none'); + } + + if (!oldProps || oldProps.networkActivityIndicatorVisible !== mergedProps.networkActivityIndicatorVisible) { + StatusBarManager.setNetworkActivityIndicatorVisible(mergedProps.networkActivityIndicatorVisible); + } + } else if (Platform.OS === 'android') { + if (!oldProps || oldProps.barStyle.value !== mergedProps.barStyle.value) { + StatusBarManager.setStyle(mergedProps.barStyle.value); + } + + if (!oldProps || oldProps.backgroundColor.value !== mergedProps.backgroundColor.value) { + StatusBarManager.setColor(processColor(mergedProps.backgroundColor.value), mergedProps.backgroundColor.animated); + } + + if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) { + StatusBarManager.setHidden(mergedProps.hidden.value); + } + + if (!oldProps || oldProps.translucent !== mergedProps.translucent) { + StatusBarManager.setTranslucent(mergedProps.translucent); + } + } + + StatusBar._currentValues = mergedProps; + }); + }, _temp)); + } + + _createClass(StatusBar, [{ + key: "componentDidMount", + value: function componentDidMount() { + this._stackEntry = createStackEntry(this.props); + + StatusBar._propsStack.push(this._stackEntry); + + this._updatePropsStack(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + var index = StatusBar._propsStack.indexOf(this._stackEntry); + + StatusBar._propsStack.splice(index, 1); + + this._updatePropsStack(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + var index = StatusBar._propsStack.indexOf(this._stackEntry); + + this._stackEntry = createStackEntry(this.props); + StatusBar._propsStack[index] = this._stackEntry; + + this._updatePropsStack(); + } + }, { + key: "render", + value: function render() { + return null; + } + }], [{ + key: "setHidden", + value: function setHidden(hidden, animation) { + animation = animation || 'none'; + StatusBar._defaultProps.hidden.value = hidden; + + if (Platform.OS === 'ios') { + StatusBarManager.setHidden(hidden, animation); + } else if (Platform.OS === 'android') { + StatusBarManager.setHidden(hidden); + } + } + }, { + key: "setBarStyle", + value: function setBarStyle(style, animated) { + animated = animated || false; + StatusBar._defaultProps.barStyle.value = style; + + if (Platform.OS === 'ios') { + StatusBarManager.setStyle(style, animated); + } else if (Platform.OS === 'android') { + StatusBarManager.setStyle(style); + } + } + }, { + key: "setNetworkActivityIndicatorVisible", + value: function setNetworkActivityIndicatorVisible(visible) { + if (Platform.OS !== 'ios') { + console.warn('`setNetworkActivityIndicatorVisible` is only available on iOS'); + return; + } + + StatusBar._defaultProps.networkActivityIndicatorVisible = visible; + StatusBarManager.setNetworkActivityIndicatorVisible(visible); + } + }, { + key: "setBackgroundColor", + value: function setBackgroundColor(color, animated) { + if (Platform.OS !== 'android') { + console.warn('`setBackgroundColor` is only available on Android'); + return; + } + + animated = animated || false; + StatusBar._defaultProps.backgroundColor.value = color; + StatusBarManager.setColor(processColor(color), animated); + } + }, { + key: "setTranslucent", + value: function setTranslucent(translucent) { + if (Platform.OS !== 'android') { + console.warn('`setTranslucent` is only available on Android'); + return; + } + + StatusBar._defaultProps.translucent = translucent; + StatusBarManager.setTranslucent(translucent); + } + }]); + + _inherits(StatusBar, _React$Component); + + return StatusBar; + }(React.Component); + + StatusBar._propsStack = []; + StatusBar._defaultProps = createStackEntry({ + animated: false, + showHideTransition: 'fade', + backgroundColor: 'black', + barStyle: 'default', + translucent: false, + hidden: false, + networkActivityIndicatorVisible: false + }); + StatusBar._updateImmediate = null; + StatusBar._currentValues = null; + StatusBar.currentHeight = StatusBarManager.HEIGHT; + StatusBar.propTypes = { + hidden: PropTypes.bool, + animated: PropTypes.bool, + backgroundColor: ColorPropType, + translucent: PropTypes.bool, + barStyle: PropTypes.oneOf(['default', 'light-content', 'dark-content']), + networkActivityIndicatorVisible: PropTypes.bool, + showHideTransition: PropTypes.oneOf(['fade', 'slide']) + }; + StatusBar.defaultProps = { + animated: false, + showHideTransition: 'fade' + }; + StatusBar = _wrapComponent("StatusBar")(StatusBar); + module.exports = StatusBar; +},458,[1,11,200,212,207,176,221,168],"node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableFlatList.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + SwipeableFlatList: { + displayName: "SwipeableFlatList" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableFlatList.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var PropTypes = _$$_REQUIRE(_dependencyMap[2], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var SwipeableRow = _$$_REQUIRE(_dependencyMap[4], 'SwipeableRow'); + + var FlatList = _$$_REQUIRE(_dependencyMap[5], 'FlatList'); + + var SwipeableFlatList = function (_React$Component) { + function SwipeableFlatList(props, context) { + var _this; + + _classCallCheck(this, SwipeableFlatList); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(SwipeableFlatList).call(this, props, context)); + _this._flatListRef = null; + _this._shouldBounceFirstRowOnMount = false; + + _this._onScroll = function (e) { + if (_this.state.openRowKey) { + _this.setState({ + openRowKey: null + }); + } + + _this.props.onScroll && _this.props.onScroll(e); + }; + + _this._renderItem = function (info) { + var slideoutView = _this.props.renderQuickActions(info); + + var key = _this.props.keyExtractor(info.item, info.index); + + if (!slideoutView) { + return _this.props.renderItem(info); + } + + var shouldBounceOnMount = false; + + if (_this._shouldBounceFirstRowOnMount) { + _this._shouldBounceFirstRowOnMount = false; + shouldBounceOnMount = true; + } + + return React.createElement(SwipeableRow, { + slideoutView: slideoutView, + isOpen: key === _this.state.openRowKey, + maxSwipeDistance: _this._getMaxSwipeDistance(info), + onOpen: function onOpen() { + return _this._onOpen(key); + }, + onClose: function onClose() { + return _this._onClose(key); + }, + shouldBounceOnMount: shouldBounceOnMount, + onSwipeEnd: _this._setListViewScrollable, + onSwipeStart: _this._setListViewNotScrollable, + __source: { + fileName: _jsxFileName, + lineNumber: 134 + } + }, _this.props.renderItem(info)); + }; + + _this._setListViewScrollable = function () { + _this._setListViewScrollableTo(true); + }; + + _this._setListViewNotScrollable = function () { + _this._setListViewScrollableTo(false); + }; + + _this.state = { + openRowKey: null + }; + _this._shouldBounceFirstRowOnMount = _this.props.bounceFirstRowOnMount; + return _this; + } + + _createClass(SwipeableFlatList, [{ + key: "render", + value: function render() { + var _this2 = this; + + return React.createElement(FlatList, _extends({}, this.props, { + ref: function ref(_ref) { + _this2._flatListRef = _ref; + }, + onScroll: this._onScroll, + renderItem: this._renderItem, + __source: { + fileName: _jsxFileName, + lineNumber: 96 + } + })); + } + }, { + key: "_getMaxSwipeDistance", + value: function _getMaxSwipeDistance(info) { + if (typeof this.props.maxSwipeDistance === 'function') { + return this.props.maxSwipeDistance(info); + } + + return this.props.maxSwipeDistance; + } + }, { + key: "_setListViewScrollableTo", + value: function _setListViewScrollableTo(value) { + if (this._flatListRef) { + this._flatListRef.setNativeProps({ + scrollEnabled: value + }); + } + } + }, { + key: "_onOpen", + value: function _onOpen(key) { + this.setState({ + openRowKey: key + }); + } + }, { + key: "_onClose", + value: function _onClose(key) { + this.setState({ + openRowKey: null + }); + } + }]); + + _inherits(SwipeableFlatList, _React$Component); + + return SwipeableFlatList; + }(React.Component); + + SwipeableFlatList.propTypes = _objectSpread({}, FlatList.propTypes, { + bounceFirstRowOnMount: PropTypes.bool.isRequired, + maxSwipeDistance: PropTypes.oneOfType([PropTypes.number, PropTypes.func]).isRequired, + renderQuickActions: PropTypes.func.isRequired + }); + SwipeableFlatList.defaultProps = _objectSpread({}, FlatList.defaultProps, { + bounceFirstRowOnMount: true, + renderQuickActions: function renderQuickActions() { + return null; + } + }); + SwipeableFlatList = _wrapComponent("SwipeableFlatList")(SwipeableFlatList); + module.exports = SwipeableFlatList; +},459,[1,11,212,200,460,388],"node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableFlatList.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var Animated = _$$_REQUIRE(_dependencyMap[0], 'Animated'); + + var I18nManager = _$$_REQUIRE(_dependencyMap[1], 'I18nManager'); + + var PanResponder = _$$_REQUIRE(_dependencyMap[2], 'PanResponder'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var TimerMixin = _$$_REQUIRE(_dependencyMap[6], 'react-timer-mixin'); + + var View = _$$_REQUIRE(_dependencyMap[7], 'View'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[8], 'create-react-class'); + + var emptyFunction = _$$_REQUIRE(_dependencyMap[9], 'fbjs/lib/emptyFunction'); + + var IS_RTL = I18nManager.isRTL; + var CLOSED_LEFT_POSITION = 0; + var HORIZONTAL_SWIPE_DISTANCE_THRESHOLD = 10; + var HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD = 0.3; + var SLOW_SPEED_SWIPE_FACTOR = 4; + var SWIPE_DURATION = 300; + var ON_MOUNT_BOUNCE_DELAY = 700; + var ON_MOUNT_BOUNCE_DURATION = 400; + var RIGHT_SWIPE_BOUNCE_BACK_DISTANCE = 30; + var RIGHT_SWIPE_BOUNCE_BACK_DURATION = 300; + var RIGHT_SWIPE_THRESHOLD = 30 * SLOW_SPEED_SWIPE_FACTOR; + var SwipeableRow = createReactClass({ + displayName: 'SwipeableRow', + _panResponder: {}, + _previousLeft: CLOSED_LEFT_POSITION, + mixins: [TimerMixin], + propTypes: { + children: PropTypes.any, + isOpen: PropTypes.bool, + preventSwipeRight: PropTypes.bool, + maxSwipeDistance: PropTypes.number.isRequired, + onOpen: PropTypes.func.isRequired, + onClose: PropTypes.func.isRequired, + onSwipeEnd: PropTypes.func.isRequired, + onSwipeStart: PropTypes.func.isRequired, + shouldBounceOnMount: PropTypes.bool, + slideoutView: PropTypes.node.isRequired, + swipeThreshold: PropTypes.number.isRequired + }, + getInitialState: function getInitialState() { + return { + currentLeft: new Animated.Value(this._previousLeft), + isSwipeableViewRendered: false, + rowHeight: null + }; + }, + getDefaultProps: function getDefaultProps() { + return { + isOpen: false, + preventSwipeRight: false, + maxSwipeDistance: 0, + onOpen: emptyFunction, + onClose: emptyFunction, + onSwipeEnd: emptyFunction, + onSwipeStart: emptyFunction, + swipeThreshold: 30 + }; + }, + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + this._panResponder = PanResponder.create({ + onMoveShouldSetPanResponderCapture: this._handleMoveShouldSetPanResponderCapture, + onPanResponderGrant: this._handlePanResponderGrant, + onPanResponderMove: this._handlePanResponderMove, + onPanResponderRelease: this._handlePanResponderEnd, + onPanResponderTerminationRequest: this._onPanResponderTerminationRequest, + onPanResponderTerminate: this._handlePanResponderEnd, + onShouldBlockNativeResponder: function onShouldBlockNativeResponder(event, gestureState) { + return false; + } + }); + }, + componentDidMount: function componentDidMount() { + var _this = this; + + if (this.props.shouldBounceOnMount) { + this.setTimeout(function () { + _this._animateBounceBack(ON_MOUNT_BOUNCE_DURATION); + }, ON_MOUNT_BOUNCE_DELAY); + } + }, + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + if (this.props.isOpen && !nextProps.isOpen) { + this._animateToClosedPosition(); + } + }, + render: function render() { + var slideOutView; + + if (this.state.isSwipeableViewRendered && this.state.rowHeight) { + slideOutView = React.createElement(View, { + style: [styles.slideOutContainer, { + height: this.state.rowHeight + }], + __source: { + fileName: _jsxFileName, + lineNumber: 178 + } + }, this.props.slideoutView); + } + + var swipeableView = React.createElement(Animated.View, { + onLayout: this._onSwipeableViewLayout, + style: { + transform: [{ + translateX: this.state.currentLeft + }] + }, + __source: { + fileName: _jsxFileName, + lineNumber: 187 + } + }, this.props.children); + return React.createElement(View, _extends({}, this._panResponder.panHandlers, { + __source: { + fileName: _jsxFileName, + lineNumber: 195 + } + }), slideOutView, swipeableView); + }, + close: function close() { + this.props.onClose(); + + this._animateToClosedPosition(); + }, + _onSwipeableViewLayout: function _onSwipeableViewLayout(event) { + this.setState({ + isSwipeableViewRendered: true, + rowHeight: event.nativeEvent.layout.height + }); + }, + _handleMoveShouldSetPanResponderCapture: function _handleMoveShouldSetPanResponderCapture(event, gestureState) { + return gestureState.dy < 10 && this._isValidSwipe(gestureState); + }, + _handlePanResponderGrant: function _handlePanResponderGrant(event, gestureState) {}, + _handlePanResponderMove: function _handlePanResponderMove(event, gestureState) { + if (this._isSwipingExcessivelyRightFromClosedPosition(gestureState)) { + return; + } + + this.props.onSwipeStart(); + + if (this._isSwipingRightFromClosed(gestureState)) { + this._swipeSlowSpeed(gestureState); + } else { + this._swipeFullSpeed(gestureState); + } + }, + _isSwipingRightFromClosed: function _isSwipingRightFromClosed(gestureState) { + var gestureStateDx = IS_RTL ? -gestureState.dx : gestureState.dx; + return this._previousLeft === CLOSED_LEFT_POSITION && gestureStateDx > 0; + }, + _swipeFullSpeed: function _swipeFullSpeed(gestureState) { + this.state.currentLeft.setValue(this._previousLeft + gestureState.dx); + }, + _swipeSlowSpeed: function _swipeSlowSpeed(gestureState) { + this.state.currentLeft.setValue(this._previousLeft + gestureState.dx / SLOW_SPEED_SWIPE_FACTOR); + }, + _isSwipingExcessivelyRightFromClosedPosition: function _isSwipingExcessivelyRightFromClosedPosition(gestureState) { + var gestureStateDx = IS_RTL ? -gestureState.dx : gestureState.dx; + return this._isSwipingRightFromClosed(gestureState) && gestureStateDx > RIGHT_SWIPE_THRESHOLD; + }, + _onPanResponderTerminationRequest: function _onPanResponderTerminationRequest(event, gestureState) { + return false; + }, + _animateTo: function _animateTo(toValue) { + var _this2 = this; + + var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SWIPE_DURATION; + var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : emptyFunction; + Animated.timing(this.state.currentLeft, { + duration: duration, + toValue: toValue, + useNativeDriver: true + }).start(function () { + _this2._previousLeft = toValue; + callback(); + }); + }, + _animateToOpenPosition: function _animateToOpenPosition() { + var maxSwipeDistance = IS_RTL ? -this.props.maxSwipeDistance : this.props.maxSwipeDistance; + + this._animateTo(-maxSwipeDistance); + }, + _animateToOpenPositionWith: function _animateToOpenPositionWith(speed, distMoved) { + speed = speed > HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD ? speed : HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD; + var duration = Math.abs((this.props.maxSwipeDistance - Math.abs(distMoved)) / speed); + var maxSwipeDistance = IS_RTL ? -this.props.maxSwipeDistance : this.props.maxSwipeDistance; + + this._animateTo(-maxSwipeDistance, duration); + }, + _animateToClosedPosition: function _animateToClosedPosition() { + var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SWIPE_DURATION; + + this._animateTo(CLOSED_LEFT_POSITION, duration); + }, + _animateToClosedPositionDuringBounce: function _animateToClosedPositionDuringBounce() { + this._animateToClosedPosition(RIGHT_SWIPE_BOUNCE_BACK_DURATION); + }, + _animateBounceBack: function _animateBounceBack(duration) { + var swipeBounceBackDistance = IS_RTL ? -RIGHT_SWIPE_BOUNCE_BACK_DISTANCE : RIGHT_SWIPE_BOUNCE_BACK_DISTANCE; + + this._animateTo(-swipeBounceBackDistance, duration, this._animateToClosedPositionDuringBounce); + }, + _isValidSwipe: function _isValidSwipe(gestureState) { + if (this.props.preventSwipeRight && this._previousLeft === CLOSED_LEFT_POSITION && gestureState.dx > 0) { + return false; + } + + return Math.abs(gestureState.dx) > HORIZONTAL_SWIPE_DISTANCE_THRESHOLD; + }, + _shouldAnimateRemainder: function _shouldAnimateRemainder(gestureState) { + return Math.abs(gestureState.dx) > this.props.swipeThreshold || gestureState.vx > HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD; + }, + _handlePanResponderEnd: function _handlePanResponderEnd(event, gestureState) { + var horizontalDistance = IS_RTL ? -gestureState.dx : gestureState.dx; + + if (this._isSwipingRightFromClosed(gestureState)) { + this.props.onOpen(); + + this._animateBounceBack(RIGHT_SWIPE_BOUNCE_BACK_DURATION); + } else if (this._shouldAnimateRemainder(gestureState)) { + if (horizontalDistance < 0) { + this.props.onOpen(); + + this._animateToOpenPositionWith(gestureState.vx, horizontalDistance); + } else { + this.props.onClose(); + + this._animateToClosedPosition(); + } + } else { + if (this._previousLeft === CLOSED_LEFT_POSITION) { + this._animateToClosedPosition(); + } else { + this._animateToOpenPosition(); + } + } + + this.props.onSwipeEnd(); + } + }); + + var TypedSwipeableRow = function (_React$Component) { + function TypedSwipeableRow() { + _classCallCheck(this, TypedSwipeableRow); + + return _possibleConstructorReturn(this, _getPrototypeOf(TypedSwipeableRow).apply(this, arguments)); + } + + _createClass(TypedSwipeableRow, [{ + key: "close", + value: function close() {} + }]); + + _inherits(TypedSwipeableRow, _React$Component); + + return TypedSwipeableRow; + }(React.Component); + + var styles = StyleSheet.create({ + slideOutContainer: { + bottom: 0, + left: 0, + position: 'absolute', + right: 0, + top: 0 + } + }); + module.exports = SwipeableRow; +},460,[332,445,461,200,212,201,382,227,365,184],"node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var InteractionManager = _$$_REQUIRE(_dependencyMap[0], './InteractionManager'); + + var TouchHistoryMath = _$$_REQUIRE(_dependencyMap[1], './TouchHistoryMath'); + + var currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter; + var currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter; + var previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter; + var previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter; + var currentCentroidX = TouchHistoryMath.currentCentroidX; + var currentCentroidY = TouchHistoryMath.currentCentroidY; + var PanResponder = { + _initializeGestureState: function _initializeGestureState(gestureState) { + gestureState.moveX = 0; + gestureState.moveY = 0; + gestureState.x0 = 0; + gestureState.y0 = 0; + gestureState.dx = 0; + gestureState.dy = 0; + gestureState.vx = 0; + gestureState.vy = 0; + gestureState.numberActiveTouches = 0; + gestureState._accountsForMovesUpTo = 0; + }, + _updateGestureStateOnMove: function _updateGestureStateOnMove(gestureState, touchHistory) { + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo); + gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo); + var movedAfter = gestureState._accountsForMovesUpTo; + var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter); + var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter); + var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter); + var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter); + var nextDX = gestureState.dx + (x - prevX); + var nextDY = gestureState.dy + (y - prevY); + var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo; + gestureState.vx = (nextDX - gestureState.dx) / dt; + gestureState.vy = (nextDY - gestureState.dy) / dt; + gestureState.dx = nextDX; + gestureState.dy = nextDY; + gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp; + }, + create: function create(config) { + var interactionState = { + handle: null + }; + var gestureState = { + stateID: Math.random() + }; + + PanResponder._initializeGestureState(gestureState); + + var panHandlers = { + onStartShouldSetResponder: function onStartShouldSetResponder(e) { + return config.onStartShouldSetPanResponder === undefined ? false : config.onStartShouldSetPanResponder(e, gestureState); + }, + onMoveShouldSetResponder: function onMoveShouldSetResponder(e) { + return config.onMoveShouldSetPanResponder === undefined ? false : config.onMoveShouldSetPanResponder(e, gestureState); + }, + onStartShouldSetResponderCapture: function onStartShouldSetResponderCapture(e) { + if (e.nativeEvent.touches.length === 1) { + PanResponder._initializeGestureState(gestureState); + } + + gestureState.numberActiveTouches = e.touchHistory.numberActiveTouches; + return config.onStartShouldSetPanResponderCapture !== undefined ? config.onStartShouldSetPanResponderCapture(e, gestureState) : false; + }, + onMoveShouldSetResponderCapture: function onMoveShouldSetResponderCapture(e) { + var touchHistory = e.touchHistory; + + if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) { + return false; + } + + PanResponder._updateGestureStateOnMove(gestureState, touchHistory); + + return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(e, gestureState) : false; + }, + onResponderGrant: function onResponderGrant(e) { + if (!interactionState.handle) { + interactionState.handle = InteractionManager.createInteractionHandle(); + } + + gestureState.x0 = currentCentroidX(e.touchHistory); + gestureState.y0 = currentCentroidY(e.touchHistory); + gestureState.dx = 0; + gestureState.dy = 0; + + if (config.onPanResponderGrant) { + config.onPanResponderGrant(e, gestureState); + } + + return config.onShouldBlockNativeResponder === undefined ? true : config.onShouldBlockNativeResponder(); + }, + onResponderReject: function onResponderReject(e) { + clearInteractionHandle(interactionState, config.onPanResponderReject, e, gestureState); + }, + onResponderRelease: function onResponderRelease(e) { + clearInteractionHandle(interactionState, config.onPanResponderRelease, e, gestureState); + + PanResponder._initializeGestureState(gestureState); + }, + onResponderStart: function onResponderStart(e) { + var touchHistory = e.touchHistory; + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + + if (config.onPanResponderStart) { + config.onPanResponderStart(e, gestureState); + } + }, + onResponderMove: function onResponderMove(e) { + var touchHistory = e.touchHistory; + + if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) { + return; + } + + PanResponder._updateGestureStateOnMove(gestureState, touchHistory); + + if (config.onPanResponderMove) { + config.onPanResponderMove(e, gestureState); + } + }, + onResponderEnd: function onResponderEnd(e) { + var touchHistory = e.touchHistory; + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + clearInteractionHandle(interactionState, config.onPanResponderEnd, e, gestureState); + }, + onResponderTerminate: function onResponderTerminate(e) { + clearInteractionHandle(interactionState, config.onPanResponderTerminate, e, gestureState); + + PanResponder._initializeGestureState(gestureState); + }, + onResponderTerminationRequest: function onResponderTerminationRequest(e) { + return config.onPanResponderTerminationRequest === undefined ? true : config.onPanResponderTerminationRequest(e, gestureState); + } + }; + return { + panHandlers: panHandlers, + getInteractionHandle: function getInteractionHandle() { + return interactionState.handle; + } + }; + } + }; + + function clearInteractionHandle(interactionState, callback, event, gestureState) { + if (interactionState.handle) { + InteractionManager.clearInteractionHandle(interactionState.handle); + interactionState.handle = null; + } + + if (callback) { + callback(event, gestureState); + } + } + + module.exports = PanResponder; +},461,[340,462],"node_modules/react-native/Libraries/Interaction/PanResponder.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var TouchHistoryMath = { + centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) { + var touchBank = touchHistory.touchBank; + var total = 0; + var count = 0; + var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null; + + if (oneTouchData !== null) { + if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) { + total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY; + count = 1; + } + } else { + for (var i = 0; i < touchBank.length; i++) { + var touchTrack = touchBank[i]; + + if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) { + var toAdd = void 0; + + if (ofCurrent && isXAxis) { + toAdd = touchTrack.currentPageX; + } else if (ofCurrent && !isXAxis) { + toAdd = touchTrack.currentPageY; + } else if (!ofCurrent && isXAxis) { + toAdd = touchTrack.previousPageX; + } else { + toAdd = touchTrack.previousPageY; + } + + total += toAdd; + count++; + } + } + } + + return count > 0 ? total / count : TouchHistoryMath.noCentroid; + }, + currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, true); + }, + currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, true); + }, + previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, false); + }, + previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, false); + }, + currentCentroidX: function currentCentroidX(touchHistory) { + return TouchHistoryMath.centroidDimension(touchHistory, 0, true, true); + }, + currentCentroidY: function currentCentroidY(touchHistory) { + return TouchHistoryMath.centroidDimension(touchHistory, 0, false, true); + }, + noCentroid: -1 + }; + module.exports = TouchHistoryMath; +},462,[],"node_modules/react-native/Libraries/Interaction/TouchHistoryMath.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var _components = { + SwipeableListView: { + displayName: "SwipeableListView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ListView = _$$_REQUIRE(_dependencyMap[2], 'ListView'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[3], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var SwipeableListViewDataSource = _$$_REQUIRE(_dependencyMap[5], 'SwipeableListViewDataSource'); + + var SwipeableRow = _$$_REQUIRE(_dependencyMap[6], 'SwipeableRow'); + + var SwipeableListView = function (_React$Component) { + _createClass(SwipeableListView, null, [{ + key: "getNewDataSource", + value: function getNewDataSource() { + return new SwipeableListViewDataSource({ + getRowData: function getRowData(data, sectionID, rowID) { + return data[sectionID][rowID]; + }, + getSectionHeaderData: function getSectionHeaderData(data, sectionID) { + return data[sectionID]; + }, + rowHasChanged: function rowHasChanged(row1, row2) { + return row1 !== row2; + }, + sectionHeaderHasChanged: function sectionHeaderHasChanged(s1, s2) { + return s1 !== s2; + } + }); + } + }]); + + function SwipeableListView(props, context) { + var _this; + + _classCallCheck(this, SwipeableListView); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(SwipeableListView).call(this, props, context)); + _this._listViewRef = null; + _this._shouldBounceFirstRowOnMount = false; + + _this._onScroll = function (e) { + if (_this.props.dataSource.getOpenRowID()) { + _this.setState({ + dataSource: _this.state.dataSource.setOpenRowID(null) + }); + } + + _this.props.onScroll && _this.props.onScroll(e); + }; + + _this._renderRow = function (rowData, sectionID, rowID) { + var slideoutView = _this.props.renderQuickActions(rowData, sectionID, rowID); + + if (!slideoutView) { + return _this.props.renderRow(rowData, sectionID, rowID); + } + + var shouldBounceOnMount = false; + + if (_this._shouldBounceFirstRowOnMount) { + _this._shouldBounceFirstRowOnMount = false; + shouldBounceOnMount = rowID === _this.props.dataSource.getFirstRowID(); + } + + return React.createElement(SwipeableRow, { + slideoutView: slideoutView, + isOpen: rowData.id === _this.props.dataSource.getOpenRowID(), + maxSwipeDistance: _this._getMaxSwipeDistance(rowData, sectionID, rowID), + key: rowID, + onOpen: function onOpen() { + return _this._onOpen(rowData.id); + }, + onClose: function onClose() { + return _this._onClose(rowData.id); + }, + onSwipeEnd: function onSwipeEnd() { + return _this._setListViewScrollable(true); + }, + onSwipeStart: function onSwipeStart() { + return _this._setListViewScrollable(false); + }, + shouldBounceOnMount: shouldBounceOnMount, + __source: { + fileName: _jsxFileName, + lineNumber: 213 + } + }, _this.props.renderRow(rowData, sectionID, rowID)); + }; + + _this._shouldBounceFirstRowOnMount = _this.props.bounceFirstRowOnMount; + _this.state = { + dataSource: _this.props.dataSource + }; + return _this; + } + + _createClass(SwipeableListView, [{ + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (this.state.dataSource.getDataSource() !== nextProps.dataSource.getDataSource()) { + this.setState({ + dataSource: nextProps.dataSource + }); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return React.createElement(ListView, _extends({}, this.props, { + ref: function ref(_ref) { + _this2._listViewRef = _ref; + }, + dataSource: this.state.dataSource.getDataSource(), + onScroll: this._onScroll, + renderRow: this._renderRow, + __source: { + fileName: _jsxFileName, + lineNumber: 121 + } + })); + } + }, { + key: "_setListViewScrollable", + value: function _setListViewScrollable(value) { + if (this._listViewRef && typeof this._listViewRef.setNativeProps === 'function') { + this._listViewRef.setNativeProps({ + scrollEnabled: value + }); + } + } + }, { + key: "getScrollResponder", + value: function getScrollResponder() { + if (this._listViewRef && typeof this._listViewRef.getScrollResponder === 'function') { + return this._listViewRef.getScrollResponder(); + } + } + }, { + key: "_getMaxSwipeDistance", + value: function _getMaxSwipeDistance(rowData, sectionID, rowID) { + if (typeof this.props.maxSwipeDistance === 'function') { + return this.props.maxSwipeDistance(rowData, sectionID, rowID); + } + + return this.props.maxSwipeDistance; + } + }, { + key: "_onOpen", + value: function _onOpen(rowID) { + this.setState({ + dataSource: this.state.dataSource.setOpenRowID(rowID) + }); + } + }, { + key: "_onClose", + value: function _onClose(rowID) { + this.setState({ + dataSource: this.state.dataSource.setOpenRowID(null) + }); + } + }]); + + _inherits(SwipeableListView, _React$Component); + + return SwipeableListView; + }(React.Component); + + SwipeableListView.propTypes = { + bounceFirstRowOnMount: PropTypes.bool.isRequired, + dataSource: PropTypes.instanceOf(SwipeableListViewDataSource).isRequired, + maxSwipeDistance: PropTypes.oneOfType([PropTypes.number, PropTypes.func]).isRequired, + renderRow: PropTypes.func.isRequired, + renderQuickActions: PropTypes.func.isRequired + }; + SwipeableListView.defaultProps = { + bounceFirstRowOnMount: false, + renderQuickActions: function renderQuickActions() { + return null; + } + }; + SwipeableListView = _wrapComponent("SwipeableListView")(SwipeableListView); + module.exports = SwipeableListView; +},463,[1,11,390,212,200,464,460],"node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var ListViewDataSource = _$$_REQUIRE(_dependencyMap[0], 'ListViewDataSource'); + + var SwipeableListViewDataSource = function () { + function SwipeableListViewDataSource(params) { + var _this = this; + + _classCallCheck(this, SwipeableListViewDataSource); + + this._dataSource = new ListViewDataSource({ + getRowData: params.getRowData, + getSectionHeaderData: params.getSectionHeaderData, + rowHasChanged: function rowHasChanged(row1, row2) { + return row1.id !== _this._previousOpenRowID && row2.id === _this._openRowID || row1.id === _this._previousOpenRowID && row2.id !== _this._openRowID || params.rowHasChanged(row1, row2); + }, + sectionHeaderHasChanged: params.sectionHeaderHasChanged + }); + } + + _createClass(SwipeableListViewDataSource, [{ + key: "cloneWithRowsAndSections", + value: function cloneWithRowsAndSections(dataBlob, sectionIdentities, rowIdentities) { + this._dataSource = this._dataSource.cloneWithRowsAndSections(dataBlob, sectionIdentities, rowIdentities); + this._dataBlob = dataBlob; + this.rowIdentities = this._dataSource.rowIdentities; + this.sectionIdentities = this._dataSource.sectionIdentities; + return this; + } + }, { + key: "getDataSource", + value: function getDataSource() { + return this._dataSource; + } + }, { + key: "getOpenRowID", + value: function getOpenRowID() { + return this._openRowID; + } + }, { + key: "getFirstRowID", + value: function getFirstRowID() { + if (this.rowIdentities) { + return this.rowIdentities[0] && this.rowIdentities[0][0]; + } + + return Object.keys(this._dataBlob)[0]; + } + }, { + key: "getLastRowID", + value: function getLastRowID() { + if (this.rowIdentities && this.rowIdentities.length) { + var lastSection = this.rowIdentities[this.rowIdentities.length - 1]; + + if (lastSection && lastSection.length) { + return lastSection[lastSection.length - 1]; + } + } + + return Object.keys(this._dataBlob)[this._dataBlob.length - 1]; + } + }, { + key: "setOpenRowID", + value: function setOpenRowID(rowID) { + this._previousOpenRowID = this._openRowID; + this._openRowID = rowID; + this._dataSource = this._dataSource.cloneWithRowsAndSections(this._dataBlob, this.sectionIdentities, this.rowIdentities); + return this; + } + }]); + + return SwipeableListViewDataSource; + }(); + + module.exports = SwipeableListViewDataSource; +},464,[392],"node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListViewDataSource.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + TabBarIOS: { + displayName: "TabBarIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[2], 'ColorPropType'); + + var React = _$$_REQUIRE(_dependencyMap[3], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[4], 'prop-types'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[5], 'StyleSheet'); + + var TabBarItemIOS = _$$_REQUIRE(_dependencyMap[6], 'TabBarItemIOS'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[7], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[8], 'requireNativeComponent'); + + var RCTTabBar = requireNativeComponent('RCTTabBar'); + + var TabBarIOS = function (_React$Component) { + function TabBarIOS() { + _classCallCheck(this, TabBarIOS); + + return _possibleConstructorReturn(this, _getPrototypeOf(TabBarIOS).apply(this, arguments)); + } + + _createClass(TabBarIOS, [{ + key: "render", + value: function render() { + return React.createElement(RCTTabBar, { + style: [styles.tabGroup, this.props.style], + unselectedTintColor: this.props.unselectedTintColor, + unselectedItemTintColor: this.props.unselectedItemTintColor, + tintColor: this.props.tintColor, + barTintColor: this.props.barTintColor, + barStyle: this.props.barStyle, + itemPositioning: this.props.itemPositioning, + translucent: this.props.translucent !== false, + __source: { + fileName: _jsxFileName, + lineNumber: 86 + } + }, this.props.children); + } + }]); + + _inherits(TabBarIOS, _React$Component); + + return TabBarIOS; + }(React.Component); + + TabBarIOS.Item = TabBarItemIOS; + TabBarIOS.propTypes = _objectSpread({}, ViewPropTypes, { + style: ViewPropTypes.style, + unselectedTintColor: ColorPropType, + tintColor: ColorPropType, + unselectedItemTintColor: ColorPropType, + barTintColor: ColorPropType, + barStyle: PropTypes.oneOf(['default', 'black']), + translucent: PropTypes.bool, + itemPositioning: PropTypes.oneOf(['fill', 'center', 'auto']) + }); + TabBarIOS = _wrapComponent("TabBarIOS")(TabBarIOS); + var styles = StyleSheet.create({ + tabGroup: { + flex: 1 + } + }); + module.exports = TabBarIOS; +},465,[1,11,207,200,212,201,466,376,229],"node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + TabBarItemIOS: { + displayName: "TabBarItemIOS" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[2], 'ColorPropType'); + + var Image = _$$_REQUIRE(_dependencyMap[3], 'Image'); + + var React = _$$_REQUIRE(_dependencyMap[4], 'React'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[5], 'prop-types'); + + var StaticContainer = _$$_REQUIRE(_dependencyMap[6], 'StaticContainer.react'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[7], 'StyleSheet'); + + var View = _$$_REQUIRE(_dependencyMap[8], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[9], 'ViewPropTypes'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[10], 'requireNativeComponent'); + + var TabBarItemIOS = function (_React$Component) { + function TabBarItemIOS() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, TabBarItemIOS); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TabBarItemIOS)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + hasBeenSelected: false + }, _temp)); + } + + _createClass(TabBarItemIOS, [{ + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + if (this.props.selected) { + this.setState({ + hasBeenSelected: true + }); + } + } + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (this.state.hasBeenSelected || nextProps.selected) { + this.setState({ + hasBeenSelected: true + }); + } + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + style = _this$props.style, + children = _this$props.children, + props = _objectWithoutProperties(_this$props, ["style", "children"]); + + if (this.state.hasBeenSelected) { + var tabContents = React.createElement(StaticContainer, { + shouldUpdate: this.props.selected, + __source: { + fileName: _jsxFileName, + lineNumber: 120 + } + }, children); + } else { + var tabContents = React.createElement(View, { + __source: { + fileName: _jsxFileName, + lineNumber: 125 + } + }); + } + + return React.createElement(RCTTabBarItem, _extends({}, props, { + style: [styles.tab, style], + __source: { + fileName: _jsxFileName, + lineNumber: 129 + } + }), tabContents); + } + }]); + + _inherits(TabBarItemIOS, _React$Component); + + return TabBarItemIOS; + }(React.Component); + + TabBarItemIOS.propTypes = _objectSpread({}, ViewPropTypes, { + badge: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + badgeColor: ColorPropType, + systemIcon: PropTypes.oneOf(['bookmarks', 'contacts', 'downloads', 'favorites', 'featured', 'history', 'more', 'most-recent', 'most-viewed', 'recents', 'search', 'top-rated']), + icon: Image.propTypes.source, + selectedIcon: Image.propTypes.source, + onPress: PropTypes.func, + renderAsOriginal: PropTypes.bool, + selected: PropTypes.bool, + style: ViewPropTypes.style, + title: PropTypes.string, + isTVSelectable: PropTypes.bool + }); + TabBarItemIOS = _wrapComponent("TabBarItemIOS")(TabBarItemIOS); + var styles = StyleSheet.create({ + tab: { + position: 'absolute', + top: 0, + right: 0, + bottom: 0, + left: 0 + } + }); + var RCTTabBarItem = requireNativeComponent('RCTTabBarItem'); + module.exports = TabBarItemIOS; +},466,[1,11,207,361,200,212,447,201,227,376,229],"node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/TextInput/TextInput.js"; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var ColorPropType = _$$_REQUIRE(_dependencyMap[0], 'ColorPropType'); + + var DocumentSelectionState = _$$_REQUIRE(_dependencyMap[1], 'DocumentSelectionState'); + + var EventEmitter = _$$_REQUIRE(_dependencyMap[2], 'EventEmitter'); + + var NativeMethodsMixin = _$$_REQUIRE(_dependencyMap[3], 'NativeMethodsMixin'); + + var Platform = _$$_REQUIRE(_dependencyMap[4], 'Platform'); + + var React = _$$_REQUIRE(_dependencyMap[5], 'React'); + + var createReactClass = _$$_REQUIRE(_dependencyMap[6], 'create-react-class'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[7], 'prop-types'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[8], 'ReactNative'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[9], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[10], 'Text'); + + var TextAncestor = _$$_REQUIRE(_dependencyMap[11], 'TextAncestor'); + + var TextInputState = _$$_REQUIRE(_dependencyMap[12], 'TextInputState'); + + var TimerMixin = _$$_REQUIRE(_dependencyMap[13], 'react-timer-mixin'); + + var TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[14], 'TouchableWithoutFeedback'); + + var UIManager = _$$_REQUIRE(_dependencyMap[15], 'UIManager'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[16], 'ViewPropTypes'); + + var emptyFunction = _$$_REQUIRE(_dependencyMap[17], 'fbjs/lib/emptyFunction'); + + var invariant = _$$_REQUIRE(_dependencyMap[18], 'fbjs/lib/invariant'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[19], 'requireNativeComponent'); + + var warning = _$$_REQUIRE(_dependencyMap[20], 'fbjs/lib/warning'); + + var AndroidTextInput; + var RCTMultilineTextInputView; + var RCTSinglelineTextInputView; + + if (Platform.OS === 'android') { + AndroidTextInput = requireNativeComponent('AndroidTextInput'); + } else if (Platform.OS === 'ios') { + RCTMultilineTextInputView = requireNativeComponent('RCTMultilineTextInputView'); + RCTSinglelineTextInputView = requireNativeComponent('RCTSinglelineTextInputView'); + } + + var onlyMultiline = { + onTextInput: true, + children: true + }; + var DataDetectorTypes = ['phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all']; + var TextInput = createReactClass({ + displayName: 'TextInput', + statics: { + State: { + currentlyFocusedField: TextInputState.currentlyFocusedField, + focusTextInput: function focusTextInput(textFieldID) { + console.warn('`focusTextInput` is deprecated, use the `focus` method of the `TextInput` ref instead.'); + TextInputState.focusTextInput(textFieldID); + }, + blurTextInput: function blurTextInput(textFieldID) { + console.warn('`blurTextInput` is deprecated, use `Keyboard.dismiss` or the `blur` method of the `TextInput` ref.'); + TextInputState.blurTextInput(textFieldID); + } + } + }, + propTypes: _objectSpread({}, ViewPropTypes, { + autoCapitalize: PropTypes.oneOf(['none', 'sentences', 'words', 'characters']), + autoCorrect: PropTypes.bool, + spellCheck: PropTypes.bool, + autoFocus: PropTypes.bool, + allowFontScaling: PropTypes.bool, + editable: PropTypes.bool, + keyboardType: PropTypes.oneOf(['default', 'email-address', 'numeric', 'phone-pad', 'number-pad', 'ascii-capable', 'numbers-and-punctuation', 'url', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search', 'visible-password']), + keyboardAppearance: PropTypes.oneOf(['default', 'light', 'dark']), + returnKeyType: PropTypes.oneOf(['done', 'go', 'next', 'search', 'send', 'none', 'previous', 'default', 'emergency-call', 'google', 'join', 'route', 'yahoo']), + returnKeyLabel: PropTypes.string, + maxLength: PropTypes.number, + numberOfLines: PropTypes.number, + disableFullscreenUI: PropTypes.bool, + enablesReturnKeyAutomatically: PropTypes.bool, + multiline: PropTypes.bool, + textBreakStrategy: PropTypes.oneOf(['simple', 'highQuality', 'balanced']), + onBlur: PropTypes.func, + onFocus: PropTypes.func, + onChange: PropTypes.func, + onChangeText: PropTypes.func, + onContentSizeChange: PropTypes.func, + onTextInput: PropTypes.func, + onEndEditing: PropTypes.func, + onSelectionChange: PropTypes.func, + onSubmitEditing: PropTypes.func, + onKeyPress: PropTypes.func, + onLayout: PropTypes.func, + onScroll: PropTypes.func, + placeholder: PropTypes.string, + placeholderTextColor: ColorPropType, + secureTextEntry: PropTypes.bool, + selectionColor: ColorPropType, + selectionState: PropTypes.instanceOf(DocumentSelectionState), + selection: PropTypes.shape({ + start: PropTypes.number.isRequired, + end: PropTypes.number + }), + value: PropTypes.string, + defaultValue: PropTypes.string, + clearButtonMode: PropTypes.oneOf(['never', 'while-editing', 'unless-editing', 'always']), + clearTextOnFocus: PropTypes.bool, + selectTextOnFocus: PropTypes.bool, + blurOnSubmit: PropTypes.bool, + style: Text.propTypes.style, + underlineColorAndroid: ColorPropType, + inlineImageLeft: PropTypes.string, + inlineImagePadding: PropTypes.number, + dataDetectorTypes: PropTypes.oneOfType([PropTypes.oneOf(DataDetectorTypes), PropTypes.arrayOf(PropTypes.oneOf(DataDetectorTypes))]), + caretHidden: PropTypes.bool, + contextMenuHidden: PropTypes.bool, + inputAccessoryViewID: PropTypes.string, + textContentType: PropTypes.oneOf(['none', 'URL', 'addressCity', 'addressCityAndState', 'addressState', 'countryName', 'creditCardNumber', 'emailAddress', 'familyName', 'fullStreetAddress', 'givenName', 'jobTitle', 'location', 'middleName', 'name', 'namePrefix', 'nameSuffix', 'nickname', 'organizationName', 'postalCode', 'streetAddressLine1', 'streetAddressLine2', 'sublocality', 'telephoneNumber', 'username', 'password']) + }), + getDefaultProps: function getDefaultProps() { + return { + allowFontScaling: true, + underlineColorAndroid: 'transparent' + }; + }, + mixins: [NativeMethodsMixin, TimerMixin], + isFocused: function isFocused() { + return TextInputState.currentlyFocusedField() === ReactNative.findNodeHandle(this._inputRef); + }, + _inputRef: undefined, + _focusSubscription: undefined, + _lastNativeText: undefined, + _lastNativeSelection: undefined, + componentDidMount: function componentDidMount() { + var _this = this; + + this._lastNativeText = this.props.value; + var tag = ReactNative.findNodeHandle(this._inputRef); + + if (tag != null) { + TextInputState.registerInput(tag); + } + + if (this.context.focusEmitter) { + this._focusSubscription = this.context.focusEmitter.addListener('focus', function (el) { + if (_this === el) { + _this.requestAnimationFrame(_this.focus); + } else if (_this.isFocused()) { + _this.blur(); + } + }); + + if (this.props.autoFocus) { + this.context.onFocusRequested(this); + } + } else { + if (this.props.autoFocus) { + this.requestAnimationFrame(this.focus); + } + } + }, + componentWillUnmount: function componentWillUnmount() { + this._focusSubscription && this._focusSubscription.remove(); + + if (this.isFocused()) { + this.blur(); + } + + var tag = ReactNative.findNodeHandle(this._inputRef); + + if (tag != null) { + TextInputState.unregisterInput(tag); + } + }, + contextTypes: { + onFocusRequested: PropTypes.func, + focusEmitter: PropTypes.instanceOf(EventEmitter) + }, + clear: function clear() { + this.setNativeProps({ + text: '' + }); + }, + render: function render() { + var textInput; + + if (Platform.OS === 'ios') { + textInput = UIManager.RCTVirtualText ? this._renderIOS() : this._renderIOSLegacy(); + } else if (Platform.OS === 'android') { + textInput = this._renderAndroid(); + } + + return React.createElement(TextAncestor.Provider, { + value: true, + __source: { + fileName: _jsxFileName, + lineNumber: 875 + } + }, textInput); + }, + _getText: function _getText() { + return typeof this.props.value === 'string' ? this.props.value : typeof this.props.defaultValue === 'string' ? this.props.defaultValue : ''; + }, + _setNativeRef: function _setNativeRef(ref) { + this._inputRef = ref; + }, + _renderIOSLegacy: function _renderIOSLegacy() { + var textContainer; + + var props = _extends({}, this.props); + + props.style = [this.props.style]; + + if (props.selection && props.selection.end == null) { + props.selection = { + start: props.selection.start, + end: props.selection.start + }; + } + + if (!props.multiline) { + if (__DEV__) { + for (var propKey in onlyMultiline) { + if (props[propKey]) { + var error = new Error('TextInput prop `' + propKey + '` is only supported with multiline.'); + warning(false, '%s', error.stack); + } + } + } + + textContainer = React.createElement(RCTSinglelineTextInputView, _extends({ + ref: this._setNativeRef + }, props, { + onFocus: this._onFocus, + onBlur: this._onBlur, + onChange: this._onChange, + onSelectionChange: this._onSelectionChange, + onSelectionChangeShouldSetResponder: emptyFunction.thatReturnsTrue, + text: this._getText(), + __source: { + fileName: _jsxFileName, + lineNumber: 918 + } + })); + } else { + var children = props.children; + var childCount = 0; + React.Children.forEach(children, function () { + return ++childCount; + }); + invariant(!(props.value && childCount), 'Cannot specify both value and children.'); + + if (childCount >= 1) { + children = React.createElement(Text, { + style: props.style, + allowFontScaling: props.allowFontScaling, + __source: { + fileName: _jsxFileName, + lineNumber: 939 + } + }, children); + } + + if (props.inputView) { + children = [children, props.inputView]; + } + + props.style.unshift(styles.multilineInput); + textContainer = React.createElement(RCTMultilineTextInputView, _extends({ + ref: this._setNativeRef + }, props, { + children: children, + onFocus: this._onFocus, + onBlur: this._onBlur, + onChange: this._onChange, + onContentSizeChange: this.props.onContentSizeChange, + onSelectionChange: this._onSelectionChange, + onTextInput: this._onTextInput, + onSelectionChangeShouldSetResponder: emptyFunction.thatReturnsTrue, + text: this._getText(), + dataDetectorTypes: this.props.dataDetectorTypes, + onScroll: this._onScroll, + __source: { + fileName: _jsxFileName, + lineNumber: 949 + } + })); + } + + return React.createElement(TouchableWithoutFeedback, { + onLayout: props.onLayout, + onPress: this._onPress, + rejectResponderTermination: true, + accessible: props.accessible, + accessibilityLabel: props.accessibilityLabel, + accessibilityTraits: props.accessibilityTraits, + nativeID: this.props.nativeID, + testID: props.testID, + __source: { + fileName: _jsxFileName, + lineNumber: 968 + } + }, textContainer); + }, + _renderIOS: function _renderIOS() { + var props = _extends({}, this.props); + + props.style = [this.props.style]; + + if (props.selection && props.selection.end == null) { + props.selection = { + start: props.selection.start, + end: props.selection.start + }; + } + + var RCTTextInputView = props.multiline ? RCTMultilineTextInputView : RCTSinglelineTextInputView; + + if (props.multiline) { + props.style.unshift(styles.multilineInput); + } + + var textContainer = React.createElement(RCTTextInputView, _extends({ + ref: this._setNativeRef + }, props, { + onFocus: this._onFocus, + onBlur: this._onBlur, + onChange: this._onChange, + onContentSizeChange: this.props.onContentSizeChange, + onSelectionChange: this._onSelectionChange, + onTextInput: this._onTextInput, + onSelectionChangeShouldSetResponder: emptyFunction.thatReturnsTrue, + text: this._getText(), + dataDetectorTypes: this.props.dataDetectorTypes, + onScroll: this._onScroll, + __source: { + fileName: _jsxFileName, + lineNumber: 1002 + } + })); + return React.createElement(TouchableWithoutFeedback, { + onLayout: props.onLayout, + onPress: this._onPress, + rejectResponderTermination: true, + accessible: props.accessible, + accessibilityLabel: props.accessibilityLabel, + accessibilityTraits: props.accessibilityTraits, + nativeID: this.props.nativeID, + testID: props.testID, + __source: { + fileName: _jsxFileName, + lineNumber: 1019 + } + }, textContainer); + }, + _renderAndroid: function _renderAndroid() { + var props = _extends({}, this.props); + + props.style = [this.props.style]; + props.autoCapitalize = UIManager.AndroidTextInput.Constants.AutoCapitalizationType[props.autoCapitalize || 'sentences']; + var children = this.props.children; + var childCount = 0; + React.Children.forEach(children, function () { + return ++childCount; + }); + invariant(!(this.props.value && childCount), 'Cannot specify both value and children.'); + + if (childCount > 1) { + children = React.createElement(Text, { + __source: { + fileName: _jsxFileName, + lineNumber: 1051 + } + }, children); + } + + if (props.selection && props.selection.end == null) { + props.selection = { + start: props.selection.start, + end: props.selection.start + }; + } + + var textContainer = React.createElement(AndroidTextInput, _extends({ + ref: this._setNativeRef + }, props, { + mostRecentEventCount: 0, + onFocus: this._onFocus, + onBlur: this._onBlur, + onChange: this._onChange, + onSelectionChange: this._onSelectionChange, + onTextInput: this._onTextInput, + text: this._getText(), + children: children, + disableFullscreenUI: this.props.disableFullscreenUI, + textBreakStrategy: this.props.textBreakStrategy, + onScroll: this._onScroll, + __source: { + fileName: _jsxFileName, + lineNumber: 1062 + } + })); + return React.createElement(TouchableWithoutFeedback, { + onLayout: props.onLayout, + onPress: this._onPress, + accessible: this.props.accessible, + accessibilityLabel: this.props.accessibilityLabel, + accessibilityComponentType: this.props.accessibilityComponentType, + nativeID: this.props.nativeID, + testID: this.props.testID, + __source: { + fileName: _jsxFileName, + lineNumber: 1080 + } + }, textContainer); + }, + _onFocus: function _onFocus(event) { + if (this.props.onFocus) { + this.props.onFocus(event); + } + + if (this.props.selectionState) { + this.props.selectionState.focus(); + } + }, + _onPress: function _onPress(event) { + if (this.props.editable || this.props.editable === undefined) { + this.focus(); + } + }, + _onChange: function _onChange(event) { + if (this._inputRef) { + this._inputRef.setNativeProps({ + mostRecentEventCount: event.nativeEvent.eventCount + }); + } + + var text = event.nativeEvent.text; + this.props.onChange && this.props.onChange(event); + this.props.onChangeText && this.props.onChangeText(text); + + if (!this._inputRef) { + return; + } + + this._lastNativeText = text; + this.forceUpdate(); + }, + _onSelectionChange: function _onSelectionChange(event) { + this.props.onSelectionChange && this.props.onSelectionChange(event); + + if (!this._inputRef) { + return; + } + + this._lastNativeSelection = event.nativeEvent.selection; + + if (this.props.selection || this.props.selectionState) { + this.forceUpdate(); + } + }, + componentDidUpdate: function componentDidUpdate() { + var nativeProps = {}; + + if (this._lastNativeText !== this.props.value && typeof this.props.value === 'string') { + nativeProps.text = this.props.value; + } + + var selection = this.props.selection; + + if (this._lastNativeSelection && selection && (this._lastNativeSelection.start !== selection.start || this._lastNativeSelection.end !== selection.end)) { + nativeProps.selection = this.props.selection; + } + + if (Object.keys(nativeProps).length > 0 && this._inputRef) { + this._inputRef.setNativeProps(nativeProps); + } + + if (this.props.selectionState && selection) { + this.props.selectionState.update(selection.start, selection.end); + } + }, + _onBlur: function _onBlur(event) { + this.blur(); + + if (this.props.onBlur) { + this.props.onBlur(event); + } + + if (this.props.selectionState) { + this.props.selectionState.blur(); + } + }, + _onTextInput: function _onTextInput(event) { + this.props.onTextInput && this.props.onTextInput(event); + }, + _onScroll: function _onScroll(event) { + this.props.onScroll && this.props.onScroll(event); + } + }); + + var InternalTextInputType = function (_ReactNative$NativeCo) { + function InternalTextInputType() { + _classCallCheck(this, InternalTextInputType); + + return _possibleConstructorReturn(this, _getPrototypeOf(InternalTextInputType).apply(this, arguments)); + } + + _createClass(InternalTextInputType, [{ + key: "clear", + value: function clear() {} + }, { + key: "isFocused", + value: function isFocused() {} + }]); + + _inherits(InternalTextInputType, _ReactNative$NativeCo); + + return InternalTextInputType; + }(ReactNative.NativeComponent); + + var TypedTextInput = TextInput; + var styles = StyleSheet.create({ + multilineInput: { + paddingTop: 5 + } + }); + module.exports = TypedTextInput; +},467,[207,468,195,364,176,200,365,212,261,201,252,228,325,382,383,218,376,184,166,229,183],"node_modules/react-native/Libraries/Components/TextInput/TextInput.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var mixInEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'mixInEventEmitter'); + + var DocumentSelectionState = function () { + function DocumentSelectionState(anchor, focus) { + _classCallCheck(this, DocumentSelectionState); + + this._anchorOffset = anchor; + this._focusOffset = focus; + this._hasFocus = false; + } + + _createClass(DocumentSelectionState, [{ + key: "update", + value: function update(anchor, focus) { + if (this._anchorOffset !== anchor || this._focusOffset !== focus) { + this._anchorOffset = anchor; + this._focusOffset = focus; + this.emit('update'); + } + } + }, { + key: "constrainLength", + value: function constrainLength(maxLength) { + this.update(Math.min(this._anchorOffset, maxLength), Math.min(this._focusOffset, maxLength)); + } + }, { + key: "focus", + value: function focus() { + if (!this._hasFocus) { + this._hasFocus = true; + this.emit('focus'); + } + } + }, { + key: "blur", + value: function blur() { + if (this._hasFocus) { + this._hasFocus = false; + this.emit('blur'); + } + } + }, { + key: "hasFocus", + value: function hasFocus() { + return this._hasFocus; + } + }, { + key: "isCollapsed", + value: function isCollapsed() { + return this._anchorOffset === this._focusOffset; + } + }, { + key: "isBackward", + value: function isBackward() { + return this._anchorOffset > this._focusOffset; + } + }, { + key: "getAnchorOffset", + value: function getAnchorOffset() { + return this._hasFocus ? this._anchorOffset : null; + } + }, { + key: "getFocusOffset", + value: function getFocusOffset() { + return this._hasFocus ? this._focusOffset : null; + } + }, { + key: "getStartOffset", + value: function getStartOffset() { + return this._hasFocus ? Math.min(this._anchorOffset, this._focusOffset) : null; + } + }, { + key: "getEndOffset", + value: function getEndOffset() { + return this._hasFocus ? Math.max(this._anchorOffset, this._focusOffset) : null; + } + }, { + key: "overlaps", + value: function overlaps(start, end) { + return this.hasFocus() && this.getStartOffset() <= end && start <= this.getEndOffset(); + } + }]); + + return DocumentSelectionState; + }(); + + mixInEventEmitter(DocumentSelectionState, { + blur: true, + focus: true, + update: true + }); + module.exports = DocumentSelectionState; +},468,[469],"node_modules/react-native/Libraries/vendor/document/selection/DocumentSelectionState.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var EventEmitter = _$$_REQUIRE(_dependencyMap[0], 'EventEmitter'); + + var EventEmitterWithHolding = _$$_REQUIRE(_dependencyMap[1], 'EventEmitterWithHolding'); + + var EventHolder = _$$_REQUIRE(_dependencyMap[2], 'EventHolder'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var keyOf = _$$_REQUIRE(_dependencyMap[4], 'fbjs/lib/keyOf'); + + var TYPES_KEY = keyOf({ + __types: true + }); + + function mixInEventEmitter(cls, types) { + invariant(types, 'Must supply set of valid event types'); + var target = cls.prototype || cls; + invariant(!target.__eventEmitter, 'An active emitter is already mixed in'); + var ctor = cls.constructor; + + if (ctor) { + invariant(ctor === Object || ctor === Function, 'Mix EventEmitter into a class, not an instance'); + } + + if (target.hasOwnProperty(TYPES_KEY)) { + _extends(target.__types, types); + } else if (target.__types) { + target.__types = _extends({}, target.__types, types); + } else { + target.__types = types; + } + + _extends(target, EventEmitterMixin); + } + + var EventEmitterMixin = { + emit: function emit(eventType, a, b, c, d, e, _) { + return this.__getEventEmitter().emit(eventType, a, b, c, d, e, _); + }, + emitAndHold: function emitAndHold(eventType, a, b, c, d, e, _) { + return this.__getEventEmitter().emitAndHold(eventType, a, b, c, d, e, _); + }, + addListener: function addListener(eventType, listener, context) { + return this.__getEventEmitter().addListener(eventType, listener, context); + }, + once: function once(eventType, listener, context) { + return this.__getEventEmitter().once(eventType, listener, context); + }, + addRetroactiveListener: function addRetroactiveListener(eventType, listener, context) { + return this.__getEventEmitter().addRetroactiveListener(eventType, listener, context); + }, + addListenerMap: function addListenerMap(listenerMap, context) { + return this.__getEventEmitter().addListenerMap(listenerMap, context); + }, + addRetroactiveListenerMap: function addRetroactiveListenerMap(listenerMap, context) { + return this.__getEventEmitter().addListenerMap(listenerMap, context); + }, + removeAllListeners: function removeAllListeners() { + this.__getEventEmitter().removeAllListeners(); + }, + removeCurrentListener: function removeCurrentListener() { + this.__getEventEmitter().removeCurrentListener(); + }, + releaseHeldEventType: function releaseHeldEventType(eventType) { + this.__getEventEmitter().releaseHeldEventType(eventType); + }, + __getEventEmitter: function __getEventEmitter() { + if (!this.__eventEmitter) { + var emitter = new EventEmitter(); + + if (__DEV__) { + var EventValidator = _$$_REQUIRE(_dependencyMap[5], 'EventValidator'); + + emitter = EventValidator.addValidation(emitter, this.__types); + } + + var holder = new EventHolder(); + this.__eventEmitter = new EventEmitterWithHolding(emitter, holder); + } + + return this.__eventEmitter; + } + }; + module.exports = mixInEventEmitter; +},469,[195,470,471,166,472,473],"node_modules/react-native/Libraries/vendor/emitter/mixInEventEmitter.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var EventEmitterWithHolding = function () { + function EventEmitterWithHolding(emitter, holder) { + _classCallCheck(this, EventEmitterWithHolding); + + this._emitter = emitter; + this._eventHolder = holder; + this._currentEventToken = null; + this._emittingHeldEvents = false; + } + + _createClass(EventEmitterWithHolding, [{ + key: "addListener", + value: function addListener(eventType, listener, context) { + return this._emitter.addListener(eventType, listener, context); + } + }, { + key: "once", + value: function once(eventType, listener, context) { + return this._emitter.once(eventType, listener, context); + } + }, { + key: "addRetroactiveListener", + value: function addRetroactiveListener(eventType, listener, context) { + var subscription = this._emitter.addListener(eventType, listener, context); + + this._emittingHeldEvents = true; + + this._eventHolder.emitToListener(eventType, listener, context); + + this._emittingHeldEvents = false; + return subscription; + } + }, { + key: "removeAllListeners", + value: function removeAllListeners(eventType) { + this._emitter.removeAllListeners(eventType); + } + }, { + key: "removeCurrentListener", + value: function removeCurrentListener() { + this._emitter.removeCurrentListener(); + } + }, { + key: "listeners", + value: function listeners(eventType) { + return this._emitter.listeners(eventType); + } + }, { + key: "emit", + value: function emit(eventType) { + var _this$_emitter; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + (_this$_emitter = this._emitter).emit.apply(_this$_emitter, [eventType].concat(args)); + } + }, { + key: "emitAndHold", + value: function emitAndHold(eventType) { + var _this$_eventHolder, _this$_emitter2; + + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + this._currentEventToken = (_this$_eventHolder = this._eventHolder).holdEvent.apply(_this$_eventHolder, [eventType].concat(args)); + + (_this$_emitter2 = this._emitter).emit.apply(_this$_emitter2, [eventType].concat(args)); + + this._currentEventToken = null; + } + }, { + key: "releaseCurrentEvent", + value: function releaseCurrentEvent() { + if (this._currentEventToken) { + this._eventHolder.releaseEvent(this._currentEventToken); + } else if (this._emittingHeldEvents) { + this._eventHolder.releaseCurrentEvent(); + } + } + }, { + key: "releaseHeldEventType", + value: function releaseHeldEventType(eventType) { + this._eventHolder.releaseEventType(eventType); + } + }]); + + return EventEmitterWithHolding; + }(); + + module.exports = EventEmitterWithHolding; +},470,[],"node_modules/react-native/Libraries/vendor/emitter/EventEmitterWithHolding.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var invariant = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/invariant'); + + var EventHolder = function () { + function EventHolder() { + _classCallCheck(this, EventHolder); + + this._heldEvents = {}; + this._currentEventKey = null; + } + + _createClass(EventHolder, [{ + key: "holdEvent", + value: function holdEvent(eventType) { + this._heldEvents[eventType] = this._heldEvents[eventType] || []; + var eventsOfType = this._heldEvents[eventType]; + var key = { + eventType: eventType, + index: eventsOfType.length + }; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + eventsOfType.push(args); + return key; + } + }, { + key: "emitToListener", + value: function emitToListener(eventType, listener, context) { + var _this = this; + + var eventsOfType = this._heldEvents[eventType]; + + if (!eventsOfType) { + return; + } + + var origEventKey = this._currentEventKey; + eventsOfType.forEach(function (eventHeld, index) { + if (!eventHeld) { + return; + } + + _this._currentEventKey = { + eventType: eventType, + index: index + }; + listener.apply(context, eventHeld); + }); + this._currentEventKey = origEventKey; + } + }, { + key: "releaseCurrentEvent", + value: function releaseCurrentEvent() { + invariant(this._currentEventKey !== null, 'Not in an emitting cycle; there is no current event'); + this._currentEventKey && this.releaseEvent(this._currentEventKey); + } + }, { + key: "releaseEvent", + value: function releaseEvent(token) { + delete this._heldEvents[token.eventType][token.index]; + } + }, { + key: "releaseEventType", + value: function releaseEventType(type) { + this._heldEvents[type] = []; + } + }]); + + return EventHolder; + }(); + + module.exports = EventHolder; +},471,[166],"node_modules/react-native/Libraries/vendor/emitter/EventHolder.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var keyOf = function keyOf(oneKeyObj) { + var key; + + for (key in oneKeyObj) { + if (!oneKeyObj.hasOwnProperty(key)) { + continue; + } + + return key; + } + + return null; + }; + + module.exports = keyOf; +},472,[],"node_modules/react-native/node_modules/fbjs/lib/keyOf.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var EventValidator = { + addValidation: function addValidation(emitter, types) { + var eventTypes = Object.keys(types); + var emitterWithValidation = Object.create(emitter); + + _extends(emitterWithValidation, { + emit: function emit(type, a, b, c, d, e, _) { + assertAllowsEventType(type, eventTypes); + return emitter.emit.call(this, type, a, b, c, d, e, _); + } + }); + + return emitterWithValidation; + } + }; + + function assertAllowsEventType(type, allowedTypes) { + if (allowedTypes.indexOf(type) === -1) { + throw new TypeError(errorMessageFor(type, allowedTypes)); + } + } + + function errorMessageFor(type, allowedTypes) { + var message = 'Unknown event type "' + type + '". '; + + if (__DEV__) { + message += recommendationFor(type, allowedTypes); + } + + message += 'Known event types: ' + allowedTypes.join(', ') + '.'; + return message; + } + + if (__DEV__) { + var recommendationFor = function recommendationFor(type, allowedTypes) { + var closestTypeRecommendation = closestTypeFor(type, allowedTypes); + + if (isCloseEnough(closestTypeRecommendation, type)) { + return 'Did you mean "' + closestTypeRecommendation.type + '"? '; + } else { + return ''; + } + }; + + var closestTypeFor = function closestTypeFor(type, allowedTypes) { + var typeRecommendations = allowedTypes.map(typeRecommendationFor.bind(this, type)); + return typeRecommendations.sort(recommendationSort)[0]; + }; + + var typeRecommendationFor = function typeRecommendationFor(type, recommendedType) { + return { + type: recommendedType, + distance: damerauLevenshteinDistance(type, recommendedType) + }; + }; + + var recommendationSort = function recommendationSort(recommendationA, recommendationB) { + if (recommendationA.distance < recommendationB.distance) { + return -1; + } else if (recommendationA.distance > recommendationB.distance) { + return 1; + } else { + return 0; + } + }; + + var isCloseEnough = function isCloseEnough(closestType, actualType) { + return closestType.distance / actualType.length < 0.334; + }; + + var damerauLevenshteinDistance = function damerauLevenshteinDistance(a, b) { + var i, j; + var d = []; + + for (i = 0; i <= a.length; i++) { + d[i] = [i]; + } + + for (j = 1; j <= b.length; j++) { + d[0][j] = j; + } + + for (i = 1; i <= a.length; i++) { + for (j = 1; j <= b.length; j++) { + var cost = a.charAt(i - 1) === b.charAt(j - 1) ? 0 : 1; + d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost); + + if (i > 1 && j > 1 && a.charAt(i - 1) === b.charAt(j - 2) && a.charAt(i - 2) === b.charAt(j - 1)) { + d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost); + } + } + } + + return d[a.length][b.length]; + }; + } + + module.exports = EventValidator; +},473,[],"node_modules/react-native/Libraries/vendor/emitter/EventValidator.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var warning = _$$_REQUIRE(_dependencyMap[0], 'fbjs/lib/warning'); + + var ToastAndroid = { + show: function show(message, duration) { + warning(false, 'ToastAndroid is not supported on this platform.'); + } + }; + module.exports = ToastAndroid; +},474,[183],"node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},475,[240],"node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + module.exports = _$$_REQUIRE(_dependencyMap[0], 'UnimplementedView'); +},476,[240],"node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _default = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")).default; + + var _reactTransformHmrLibIndexJs = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../../../../react-transform-hmr/lib/index.js")).default; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/WebView/WebView.ios.js"; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + WebView: { + displayName: "WebView" + } + }; + + var _reactTransformHmrLibIndexJs2 = _reactTransformHmrLibIndexJs({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/Components/WebView/WebView.ios.js", + components: _components, + locals: [module], + imports: [_default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var ActivityIndicator = _$$_REQUIRE(_dependencyMap[2], 'ActivityIndicator'); + + var EdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[3], 'EdgeInsetsPropType'); + + var Linking = _$$_REQUIRE(_dependencyMap[4], 'Linking'); + + var PropTypes = _$$_REQUIRE(_dependencyMap[5], 'prop-types'); + + var React = _$$_REQUIRE(_dependencyMap[6], 'React'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[7], 'ReactNative'); + + var ScrollView = _$$_REQUIRE(_dependencyMap[8], 'ScrollView'); + + var StyleSheet = _$$_REQUIRE(_dependencyMap[9], 'StyleSheet'); + + var Text = _$$_REQUIRE(_dependencyMap[10], 'Text'); + + var UIManager = _$$_REQUIRE(_dependencyMap[11], 'UIManager'); + + var View = _$$_REQUIRE(_dependencyMap[12], 'View'); + + var ViewPropTypes = _$$_REQUIRE(_dependencyMap[13], 'ViewPropTypes'); + + var WebViewShared = _$$_REQUIRE(_dependencyMap[14], 'WebViewShared'); + + var deprecatedPropType = _$$_REQUIRE(_dependencyMap[15], 'deprecatedPropType'); + + var invariant = _$$_REQUIRE(_dependencyMap[16], 'fbjs/lib/invariant'); + + var keyMirror = _$$_REQUIRE(_dependencyMap[17], 'fbjs/lib/keyMirror'); + + var processDecelerationRate = _$$_REQUIRE(_dependencyMap[18], 'processDecelerationRate'); + + var requireNativeComponent = _$$_REQUIRE(_dependencyMap[19], 'requireNativeComponent'); + + var resolveAssetSource = _$$_REQUIRE(_dependencyMap[20], 'resolveAssetSource'); + + var RCTWebViewManager = _$$_REQUIRE(_dependencyMap[21], 'NativeModules').WebViewManager; + + var BGWASH = 'rgba(255,255,255,0.8)'; + var RCT_WEBVIEW_REF = 'webview'; + var WebViewState = keyMirror({ + IDLE: null, + LOADING: null, + ERROR: null + }); + var NavigationType = keyMirror({ + click: true, + formsubmit: true, + backforward: true, + reload: true, + formresubmit: true, + other: true + }); + var JSNavigationScheme = 'react-js-navigation'; + var DataDetectorTypes = ['phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all']; + + var defaultRenderLoading = function defaultRenderLoading() { + return React.createElement(View, { + style: styles.loadingView, + __source: { + fileName: _jsxFileName, + lineNumber: 74 + } + }, React.createElement(ActivityIndicator, { + __source: { + fileName: _jsxFileName, + lineNumber: 75 + } + })); + }; + + var defaultRenderError = function defaultRenderError(errorDomain, errorCode, errorDesc) { + return React.createElement(View, { + style: styles.errorContainer, + __source: { + fileName: _jsxFileName, + lineNumber: 79 + } + }, React.createElement(Text, { + style: styles.errorTextTitle, + __source: { + fileName: _jsxFileName, + lineNumber: 80 + } + }, "Error loading page"), React.createElement(Text, { + style: styles.errorText, + __source: { + fileName: _jsxFileName, + lineNumber: 81 + } + }, 'Domain: ' + errorDomain), React.createElement(Text, { + style: styles.errorText, + __source: { + fileName: _jsxFileName, + lineNumber: 82 + } + }, 'Error Code: ' + errorCode), React.createElement(Text, { + style: styles.errorText, + __source: { + fileName: _jsxFileName, + lineNumber: 83 + } + }, 'Description: ' + errorDesc)); + }; + + var WebView = function (_React$Component) { + function WebView() { + var _getPrototypeOf2; + + var _temp, _this; + + _classCallCheck(this, WebView); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _possibleConstructorReturn(_this, (_temp = _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WebView)).call.apply(_getPrototypeOf2, [this].concat(args))), _this.state = { + viewState: WebViewState.IDLE, + lastErrorEvent: null, + startInLoadingState: true + }, _this.goForward = function () { + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.goForward, null); + }, _this.goBack = function () { + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.goBack, null); + }, _this.reload = function () { + _this.setState({ + viewState: WebViewState.LOADING + }); + + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.reload, null); + }, _this.stopLoading = function () { + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.stopLoading, null); + }, _this.postMessage = function (data) { + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.postMessage, [String(data)]); + }, _this.injectJavaScript = function (data) { + UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), UIManager.RCTWebView.Commands.injectJavaScript, [data]); + }, _this._updateNavigationState = function (event) { + if (_this.props.onNavigationStateChange) { + _this.props.onNavigationStateChange(event.nativeEvent); + } + }, _this.getWebViewHandle = function () { + return ReactNative.findNodeHandle(_this.refs[RCT_WEBVIEW_REF]); + }, _this._onLoadingStart = function (event) { + var onLoadStart = _this.props.onLoadStart; + onLoadStart && onLoadStart(event); + + _this._updateNavigationState(event); + }, _this._onLoadingError = function (event) { + event.persist(); + var _this$props = _this.props, + onError = _this$props.onError, + onLoadEnd = _this$props.onLoadEnd; + onError && onError(event); + onLoadEnd && onLoadEnd(event); + console.warn('Encountered an error loading page', event.nativeEvent); + + _this.setState({ + lastErrorEvent: event.nativeEvent, + viewState: WebViewState.ERROR + }); + }, _this._onLoadingFinish = function (event) { + var _this$props2 = _this.props, + onLoad = _this$props2.onLoad, + onLoadEnd = _this$props2.onLoadEnd; + onLoad && onLoad(event); + onLoadEnd && onLoadEnd(event); + + _this.setState({ + viewState: WebViewState.IDLE + }); + + _this._updateNavigationState(event); + }, _this._onMessage = function (event) { + var onMessage = _this.props.onMessage; + onMessage && onMessage(event); + }, _temp)); + } + + _createClass(WebView, [{ + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + if (this.props.startInLoadingState) { + this.setState({ + viewState: WebViewState.LOADING + }); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var otherView = null; + + if (this.state.viewState === WebViewState.LOADING) { + otherView = (this.props.renderLoading || defaultRenderLoading)(); + } else if (this.state.viewState === WebViewState.ERROR) { + var errorEvent = this.state.lastErrorEvent; + invariant(errorEvent != null, 'lastErrorEvent expected to be non-null'); + otherView = (this.props.renderError || defaultRenderError)(errorEvent.domain, errorEvent.code, errorEvent.description); + } else if (this.state.viewState !== WebViewState.IDLE) { + console.error('RCTWebView invalid state encountered: ' + this.state.loading); + } + + var webViewStyles = [styles.container, styles.webView, this.props.style]; + + if (this.state.viewState === WebViewState.LOADING || this.state.viewState === WebViewState.ERROR) { + webViewStyles.push(styles.hidden); + } + + var nativeConfig = this.props.nativeConfig || {}; + var viewManager = nativeConfig.viewManager || RCTWebViewManager; + var compiledWhitelist = (this.props.originWhitelist || []).map(WebViewShared.originWhitelistToRegex); + + var onShouldStartLoadWithRequest = function onShouldStartLoadWithRequest(event) { + var shouldStart = true; + var url = event.nativeEvent.url; + var origin = WebViewShared.extractOrigin(url); + var passesWhitelist = compiledWhitelist.some(function (x) { + return new RegExp(x).test(origin); + }); + shouldStart = shouldStart && passesWhitelist; + + if (!passesWhitelist) { + Linking.openURL(url); + } + + if (_this2.props.onShouldStartLoadWithRequest) { + shouldStart = shouldStart && _this2.props.onShouldStartLoadWithRequest(event.nativeEvent); + } + + viewManager.startLoadWithResult(!!shouldStart, event.nativeEvent.lockIdentifier); + }; + + var decelerationRate = processDecelerationRate(this.props.decelerationRate); + var source = this.props.source || {}; + + if (this.props.html) { + source.html = this.props.html; + } else if (this.props.url) { + source.uri = this.props.url; + } + + var messagingEnabled = typeof this.props.onMessage === 'function'; + var NativeWebView = nativeConfig.component || RCTWebView; + var webView = React.createElement(NativeWebView, _extends({ + ref: RCT_WEBVIEW_REF, + key: "webViewKey", + style: webViewStyles, + source: resolveAssetSource(source), + injectedJavaScript: this.props.injectedJavaScript, + bounces: this.props.bounces, + scrollEnabled: this.props.scrollEnabled, + decelerationRate: decelerationRate, + contentInset: this.props.contentInset, + automaticallyAdjustContentInsets: this.props.automaticallyAdjustContentInsets, + onLoadingStart: this._onLoadingStart, + onLoadingFinish: this._onLoadingFinish, + onLoadingError: this._onLoadingError, + messagingEnabled: messagingEnabled, + onMessage: this._onMessage, + onShouldStartLoadWithRequest: onShouldStartLoadWithRequest, + scalesPageToFit: this.props.scalesPageToFit, + allowsInlineMediaPlayback: this.props.allowsInlineMediaPlayback, + mediaPlaybackRequiresUserAction: this.props.mediaPlaybackRequiresUserAction, + dataDetectorTypes: this.props.dataDetectorTypes + }, nativeConfig.props, { + __source: { + fileName: _jsxFileName, + lineNumber: 476 + } + })); + return React.createElement(View, { + style: styles.container, + __source: { + fileName: _jsxFileName, + lineNumber: 506 + } + }, webView, otherView); + } + }]); + + _inherits(WebView, _React$Component); + + return WebView; + }(React.Component); + + WebView.JSNavigationScheme = JSNavigationScheme; + WebView.NavigationType = NavigationType; + WebView.propTypes = _objectSpread({}, ViewPropTypes, { + html: deprecatedPropType(PropTypes.string, 'Use the `source` prop instead.'), + url: deprecatedPropType(PropTypes.string, 'Use the `source` prop instead.'), + source: PropTypes.oneOfType([PropTypes.shape({ + uri: PropTypes.string, + method: PropTypes.string, + headers: PropTypes.object, + body: PropTypes.string + }), PropTypes.shape({ + html: PropTypes.string, + baseUrl: PropTypes.string + }), PropTypes.number]), + renderError: PropTypes.func, + renderLoading: PropTypes.func, + onLoad: PropTypes.func, + onLoadEnd: PropTypes.func, + onLoadStart: PropTypes.func, + onError: PropTypes.func, + bounces: PropTypes.bool, + decelerationRate: ScrollView.propTypes.decelerationRate, + scrollEnabled: PropTypes.bool, + automaticallyAdjustContentInsets: PropTypes.bool, + contentInset: EdgeInsetsPropType, + onNavigationStateChange: PropTypes.func, + onMessage: PropTypes.func, + startInLoadingState: PropTypes.bool, + style: ViewPropTypes.style, + dataDetectorTypes: PropTypes.oneOfType([PropTypes.oneOf(DataDetectorTypes), PropTypes.arrayOf(PropTypes.oneOf(DataDetectorTypes))]), + javaScriptEnabled: PropTypes.bool, + thirdPartyCookiesEnabled: PropTypes.bool, + domStorageEnabled: PropTypes.bool, + injectedJavaScript: PropTypes.string, + userAgent: PropTypes.string, + scalesPageToFit: PropTypes.bool, + onShouldStartLoadWithRequest: PropTypes.func, + allowsInlineMediaPlayback: PropTypes.bool, + mediaPlaybackRequiresUserAction: PropTypes.bool, + originWhitelist: PropTypes.arrayOf(PropTypes.string), + injectJavaScript: PropTypes.func, + mixedContentMode: PropTypes.oneOf(['never', 'always', 'compatibility']), + nativeConfig: PropTypes.shape({ + component: PropTypes.any, + props: PropTypes.object, + viewManager: PropTypes.object + }) + }); + WebView.defaultProps = { + originWhitelist: WebViewShared.defaultOriginWhitelist, + scalesPageToFit: true + }; + WebView = _wrapComponent("WebView")(WebView); + var RCTWebView = requireNativeComponent('RCTWebView'); + var styles = StyleSheet.create({ + container: { + flex: 1 + }, + errorContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: BGWASH + }, + errorText: { + fontSize: 14, + textAlign: 'center', + marginBottom: 2 + }, + errorTextTitle: { + fontSize: 15, + fontWeight: '500', + marginBottom: 10 + }, + hidden: { + height: 0, + flex: 0 + }, + loadingView: { + backgroundColor: BGWASH, + flex: 1, + justifyContent: 'center', + alignItems: 'center', + height: 100 + }, + webView: { + backgroundColor: '#ffffff' + } + }); + module.exports = WebView; +},477,[1,11,199,254,478,212,200,261,367,201,252,218,227,376,479,217,166,210,381,229,235,168],"node_modules/react-native/Libraries/Components/WebView/WebView.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'NativeEventEmitter'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[2], 'Platform'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var LinkingManager = Platform.OS === 'android' ? NativeModules.IntentAndroid : NativeModules.LinkingManager; + + var Linking = function (_NativeEventEmitter) { + function Linking() { + _classCallCheck(this, Linking); + + return _possibleConstructorReturn(this, _getPrototypeOf(Linking).call(this, LinkingManager)); + } + + _createClass(Linking, [{ + key: "addEventListener", + value: function addEventListener(type, handler) { + this.addListener(type, handler); + } + }, { + key: "removeEventListener", + value: function removeEventListener(type, handler) { + this.removeListener(type, handler); + } + }, { + key: "openURL", + value: function openURL(url) { + this._validateURL(url); + + return LinkingManager.openURL(url); + } + }, { + key: "canOpenURL", + value: function canOpenURL(url) { + this._validateURL(url); + + return LinkingManager.canOpenURL(url); + } + }, { + key: "getInitialURL", + value: function getInitialURL() { + return LinkingManager.getInitialURL(); + } + }, { + key: "_validateURL", + value: function _validateURL(url) { + invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url); + invariant(url, 'Invalid URL: cannot be empty'); + } + }]); + + _inherits(Linking, _NativeEventEmitter); + + return Linking; + }(NativeEventEmitter); + + module.exports = new Linking(); +},478,[286,168,176,166],"node_modules/react-native/Libraries/Linking/Linking.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var escapeStringRegexp = _$$_REQUIRE(_dependencyMap[0], 'escape-string-regexp'); + + var WebViewShared = { + defaultOriginWhitelist: ['http://*', 'https://*'], + extractOrigin: function extractOrigin(url) { + var result = /^[A-Za-z0-9]+:(\/\/)?[^/]*/.exec(url); + return result === null ? null : result[0]; + }, + originWhitelistToRegex: function originWhitelistToRegex(originWhitelist) { + return escapeStringRegexp(originWhitelist).replace(/\\\*/g, '.*'); + } + }; + module.exports = WebViewShared; +},479,[480],"node_modules/react-native/Libraries/Components/WebView/WebViewShared.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + + module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); + }; +},480,[],"node_modules/escape-string-regexp/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var RCTActionSheetManager = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').ActionSheetManager; + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var processColor = _$$_REQUIRE(_dependencyMap[2], 'processColor'); + + var ActionSheetIOS = { + showActionSheetWithOptions: function showActionSheetWithOptions(options, callback) { + invariant(typeof options === 'object' && options !== null, 'Options must be a valid object'); + invariant(typeof callback === 'function', 'Must provide a valid callback'); + RCTActionSheetManager.showActionSheetWithOptions(_objectSpread({}, options, { + tintColor: processColor(options.tintColor) + }), callback); + }, + showShareActionSheetWithOptions: function showShareActionSheetWithOptions(options, failureCallback, successCallback) { + invariant(typeof options === 'object' && options !== null, 'Options must be a valid object'); + invariant(typeof failureCallback === 'function', 'Must provide a valid failureCallback'); + invariant(typeof successCallback === 'function', 'Must provide a valid successCallback'); + RCTActionSheetManager.showShareActionSheetWithOptions(_objectSpread({}, options, { + tintColor: processColor(options.tintColor) + }), failureCallback, successCallback); + } + }; + module.exports = ActionSheetIOS; +},481,[168,166,221],"node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[0], 'BatchedBridge'); + + var BugReporting = _$$_REQUIRE(_dependencyMap[1], 'BugReporting'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'); + + var ReactNative = _$$_REQUIRE(_dependencyMap[3], 'ReactNative'); + + var SceneTracker = _$$_REQUIRE(_dependencyMap[4], 'SceneTracker'); + + var infoLog = _$$_REQUIRE(_dependencyMap[5], 'infoLog'); + + var invariant = _$$_REQUIRE(_dependencyMap[6], 'fbjs/lib/invariant'); + + var renderApplication = _$$_REQUIRE(_dependencyMap[7], 'renderApplication'); + + var runnables = {}; + var runCount = 1; + var sections = {}; + var tasks = new Map(); + + var componentProviderInstrumentationHook = function componentProviderInstrumentationHook(component) { + return component(); + }; + + var wrapperComponentProvider; + var AppRegistry = { + setWrapperComponentProvider: function setWrapperComponentProvider(provider) { + wrapperComponentProvider = provider; + }, + registerConfig: function registerConfig(config) { + config.forEach(function (appConfig) { + if (appConfig.run) { + AppRegistry.registerRunnable(appConfig.appKey, appConfig.run); + } else { + invariant(appConfig.component != null, 'AppRegistry.registerConfig(...): Every config is expected to set ' + 'either `run` or `component`, but `%s` has neither.', appConfig.appKey); + AppRegistry.registerComponent(appConfig.appKey, appConfig.component, appConfig.section); + } + }); + }, + registerComponent: function registerComponent(appKey, componentProvider, section) { + runnables[appKey] = { + componentProvider: componentProvider, + run: function run(appParameters) { + renderApplication(componentProviderInstrumentationHook(componentProvider), appParameters.initialProps, appParameters.rootTag, wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.fabric); + } + }; + + if (section) { + sections[appKey] = runnables[appKey]; + } + + return appKey; + }, + registerRunnable: function registerRunnable(appKey, run) { + runnables[appKey] = { + run: run + }; + return appKey; + }, + registerSection: function registerSection(appKey, component) { + AppRegistry.registerComponent(appKey, component, true); + }, + getAppKeys: function getAppKeys() { + return Object.keys(runnables); + }, + getSectionKeys: function getSectionKeys() { + return Object.keys(sections); + }, + getSections: function getSections() { + return _objectSpread({}, sections); + }, + getRunnable: function getRunnable(appKey) { + return runnables[appKey]; + }, + getRegistry: function getRegistry() { + return { + sections: AppRegistry.getSectionKeys(), + runnables: _objectSpread({}, runnables) + }; + }, + setComponentProviderInstrumentationHook: function setComponentProviderInstrumentationHook(hook) { + componentProviderInstrumentationHook = hook; + }, + runApplication: function runApplication(appKey, appParameters) { + var msg = 'Running application "' + appKey + '" with appParams: ' + JSON.stringify(appParameters) + '. ' + '__DEV__ === ' + String(__DEV__) + ', development-level warning are ' + (__DEV__ ? 'ON' : 'OFF') + ', performance optimizations are ' + (__DEV__ ? 'OFF' : 'ON'); + infoLog(msg); + BugReporting.addSource('AppRegistry.runApplication' + runCount++, function () { + return msg; + }); + invariant(runnables[appKey] && runnables[appKey].run, 'Application ' + appKey + ' has not been registered.\n\n' + "Hint: This error often happens when you're running the packager " + '(local dev server) from a wrong folder. For example you have ' + 'multiple apps and the packager is still running for the app you ' + 'were working on before.\nIf this is the case, simply kill the old ' + 'packager instance (e.g. close the packager terminal window) ' + 'and start the packager in the correct app folder (e.g. cd into app ' + "folder and run 'npm start').\n\n" + 'This error can also happen due to a require() error during ' + 'initialization or failure to call AppRegistry.registerComponent.\n\n'); + SceneTracker.setActiveScene({ + name: appKey + }); + runnables[appKey].run(appParameters); + }, + unmountApplicationComponentAtRootTag: function unmountApplicationComponentAtRootTag(rootTag) { + ReactNative.unmountComponentAtNodeAndRemoveContainer(rootTag); + }, + registerHeadlessTask: function registerHeadlessTask(taskKey, task) { + if (tasks.has(taskKey)) { + console.warn("registerHeadlessTask called multiple times for same key '" + taskKey + "'"); + } + + tasks.set(taskKey, task); + }, + startHeadlessTask: function startHeadlessTask(taskId, taskKey, data) { + var taskProvider = tasks.get(taskKey); + + if (!taskProvider) { + throw new Error("No task registered for key " + taskKey); + } + + taskProvider()(data).then(function () { + return NativeModules.HeadlessJsTaskSupport.notifyTaskFinished(taskId); + }).catch(function (reason) { + console.error(reason); + NativeModules.HeadlessJsTaskSupport.notifyTaskFinished(taskId); + }); + } + }; + BatchedBridge.registerCallableModule('AppRegistry', AppRegistry); + module.exports = AppRegistry; +},482,[169,483,168,261,485,309,166,486],"node_modules/react-native/Libraries/ReactNative/AppRegistry.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'RCTDeviceEventEmitter'); + + var Map = _$$_REQUIRE(_dependencyMap[1], 'Map'); + + var infoLog = _$$_REQUIRE(_dependencyMap[2], 'infoLog'); + + function defaultExtras() { + BugReporting.addFileSource('react_hierarchy.txt', function () { + return _$$_REQUIRE(_dependencyMap[3], 'dumpReactTree')(); + }); + } + + var BugReporting = function () { + function BugReporting() { + _classCallCheck(this, BugReporting); + } + + _createClass(BugReporting, null, [{ + key: "_maybeInit", + value: function _maybeInit() { + if (!BugReporting._subscription) { + BugReporting._subscription = RCTDeviceEventEmitter.addListener('collectBugExtraData', BugReporting.collectExtraData, null); + defaultExtras(); + } + + if (!BugReporting._redboxSubscription) { + BugReporting._redboxSubscription = RCTDeviceEventEmitter.addListener('collectRedBoxExtraData', BugReporting.collectExtraData, null); + } + } + }, { + key: "addSource", + value: function addSource(key, callback) { + return this._addSource(key, callback, BugReporting._extraSources); + } + }, { + key: "addFileSource", + value: function addFileSource(key, callback) { + return this._addSource(key, callback, BugReporting._fileSources); + } + }, { + key: "_addSource", + value: function _addSource(key, callback, source) { + BugReporting._maybeInit(); + + if (source.has(key)) { + console.warn("BugReporting.add* called multiple times for same key '" + key + "'"); + } + + source.set(key, callback); + return { + remove: function remove() { + source.delete(key); + } + }; + } + }, { + key: "collectExtraData", + value: function collectExtraData() { + var extraData = {}; + + for (var _iterator = BugReporting._extraSources, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref3; + + if (_isArray) { + if (_i2 >= _iterator.length) break; + _ref3 = _iterator[_i2++]; + } else { + _i2 = _iterator.next(); + if (_i2.done) break; + _ref3 = _i2.value; + } + + var _ref7 = _ref3; + + var _ref2 = _slicedToArray(_ref7, 2); + + var _key3 = _ref2[0]; + var _callback2 = _ref2[1]; + extraData[_key3] = _callback2(); + } + + var fileData = {}; + + for (var _iterator2 = BugReporting._fileSources, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"]();;) { + var _ref6; + + if (_isArray2) { + if (_i3 >= _iterator2.length) break; + _ref6 = _iterator2[_i3++]; + } else { + _i3 = _iterator2.next(); + if (_i3.done) break; + _ref6 = _i3.value; + } + + var _ref8 = _ref6; + + var _ref5 = _slicedToArray(_ref8, 2); + + var _key4 = _ref5[0]; + var _callback3 = _ref5[1]; + fileData[_key4] = _callback3(); + } + + infoLog('BugReporting extraData:', extraData); + + var BugReportingNativeModule = _$$_REQUIRE(_dependencyMap[4], 'NativeModules').BugReporting; + + BugReportingNativeModule && BugReportingNativeModule.setExtraData && BugReportingNativeModule.setExtraData(extraData, fileData); + + var RedBoxNativeModule = _$$_REQUIRE(_dependencyMap[4], 'NativeModules').RedBox; + + RedBoxNativeModule && RedBoxNativeModule.setExtraData && RedBoxNativeModule.setExtraData(extraData, 'From BugReporting.js'); + return { + extras: extraData, + files: fileData + }; + } + }]); + + return BugReporting; + }(); + + BugReporting._extraSources = new Map(); + BugReporting._fileSources = new Map(); + BugReporting._subscription = null; + BugReporting._redboxSubscription = null; + module.exports = BugReporting; +},483,[194,266,309,484,168],"node_modules/react-native/Libraries/BugReporting/BugReporting.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function dumpReactTree() { + try { + return getReactTree(); + } catch (e) { + return 'Failed to dump react tree: ' + e; + } + } + + function getReactTree() { + return 'React tree dumps have been temporarily disabled while React is ' + 'upgraded to Fiber.'; + } + + module.exports = dumpReactTree; +},484,[],"node_modules/react-native/Libraries/BugReporting/dumpReactTree.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _listeners = []; + var _activeScene = { + name: 'default' + }; + var SceneTracker = { + setActiveScene: function setActiveScene(scene) { + _activeScene = scene; + + _listeners.forEach(function (listener) { + return listener(_activeScene); + }); + }, + getActiveScene: function getActiveScene() { + return _activeScene; + }, + addActiveSceneChangedListener: function addActiveSceneChangedListener(callback) { + _listeners.push(callback); + + return { + remove: function remove() { + _listeners = _listeners.filter(function (listener) { + return callback !== listener; + }); + } + }; + } + }; + module.exports = SceneTracker; +},485,[],"node_modules/react-native/Libraries/Utilities/SceneTracker.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native/Libraries/ReactNative/renderApplication.js"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var AppContainer = _$$_REQUIRE(_dependencyMap[0], 'AppContainer'); + + var React = _$$_REQUIRE(_dependencyMap[1], 'React'); + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + _$$_REQUIRE(_dependencyMap[3], 'BackHandler'); + + function renderApplication(RootComponent, initialProps, rootTag, WrapperComponent, fabric) { + invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag); + var renderable = React.createElement(AppContainer, { + rootTag: rootTag, + WrapperComponent: WrapperComponent, + __source: { + fileName: _jsxFileName, + lineNumber: 31 + } + }, React.createElement(RootComponent, _extends({}, initialProps, { + rootTag: rootTag, + __source: { + fileName: _jsxFileName, + lineNumber: 32 + } + }))); + + if (RootComponent.prototype != null && RootComponent.prototype.unstable_isAsyncReactComponent === true) { + var AsyncMode = React.unstable_AsyncMode; + renderable = React.createElement(AsyncMode, { + __source: { + fileName: _jsxFileName, + lineNumber: 48 + } + }, renderable); + } + + if (fabric) { + _$$_REQUIRE(_dependencyMap[4], 'ReactFabric').render(renderable, rootTag); + } else { + _$$_REQUIRE(_dependencyMap[5], 'ReactNative').render(renderable, rootTag); + } + } + + module.exports = renderApplication; +},486,[410,200,166,487,488,261],"node_modules/react-native/Libraries/ReactNative/renderApplication.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var TVEventHandler = _$$_REQUIRE(_dependencyMap[1], 'TVEventHandler'); + + function emptyFunction() {} + + var BackHandler; + + if (Platform.isTV) { + var _tvEventHandler = new TVEventHandler(); + + var _backPressSubscriptions = new Set(); + + _tvEventHandler.enable(this, function (cmp, evt) { + if (evt && evt.eventType === 'menu') { + var invokeDefault = true; + var subscriptions = Array.from(_backPressSubscriptions.values()).reverse(); + + for (var i = 0; i < subscriptions.length; ++i) { + if (subscriptions[i]()) { + invokeDefault = false; + break; + } + } + + if (invokeDefault) { + BackHandler.exitApp(); + } + } + }); + + BackHandler = { + exitApp: emptyFunction, + addEventListener: function addEventListener(eventName, handler) { + _backPressSubscriptions.add(handler); + + return { + remove: function remove() { + return BackHandler.removeEventListener(eventName, handler); + } + }; + }, + removeEventListener: function removeEventListener(eventName, handler) { + _backPressSubscriptions.delete(handler); + } + }; + } else { + BackHandler = { + exitApp: emptyFunction, + addEventListener: function addEventListener() { + return { + remove: emptyFunction + }; + }, + removeEventListener: emptyFunction + }; + } + + module.exports = BackHandler; +},487,[176,327],"node_modules/react-native/Libraries/Utilities/BackHandler.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var BatchedBridge = _$$_REQUIRE(_dependencyMap[0], 'BatchedBridge'); + + var ReactFabric; + + if (__DEV__) { + ReactFabric = _$$_REQUIRE(_dependencyMap[1], 'ReactFabric-dev'); + } else { + ReactFabric = _$$_REQUIRE(_dependencyMap[2], 'ReactFabric-prod'); + } + + BatchedBridge.registerCallableModule('ReactFabric', ReactFabric); + module.exports = ReactFabric; +},488,[169,489,491],"node_modules/react-native/Libraries/Renderer/shims/ReactFabric.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + if (__DEV__) { + (function () { + "use strict"; + + _$$_REQUIRE(_dependencyMap[0], "InitializeCore"); + + var invariant = _$$_REQUIRE(_dependencyMap[1], "fbjs/lib/invariant"); + + var warning = _$$_REQUIRE(_dependencyMap[2], "fbjs/lib/warning"); + + var ReactNativeViewConfigRegistry = _$$_REQUIRE(_dependencyMap[3], "ReactNativeViewConfigRegistry"); + + var UIManager = _$$_REQUIRE(_dependencyMap[4], "UIManager"); + + var React = _$$_REQUIRE(_dependencyMap[5], "react"); + + var emptyObject = _$$_REQUIRE(_dependencyMap[6], "fbjs/lib/emptyObject"); + + var deepDiffer = _$$_REQUIRE(_dependencyMap[7], "deepDiffer"); + + var flattenStyle = _$$_REQUIRE(_dependencyMap[8], "flattenStyle"); + + var deepFreezeAndThrowOnMutationInDev = _$$_REQUIRE(_dependencyMap[9], "deepFreezeAndThrowOnMutationInDev"); + + var TextInputState = _$$_REQUIRE(_dependencyMap[10], "TextInputState"); + + var FabricUIManager = _$$_REQUIRE(_dependencyMap[11], "FabricUIManager"); + + var checkPropTypes = _$$_REQUIRE(_dependencyMap[12], "prop-types/checkPropTypes"); + + var ExceptionsManager = _$$_REQUIRE(_dependencyMap[13], "ExceptionsManager"); + + var invokeGuardedCallback = function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + this._hasCaughtError = false; + this._caughtError = null; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + try { + func.apply(context, funcArgs); + } catch (error) { + this._caughtError = error; + this._hasCaughtError = true; + } + }; + + { + if (typeof window !== "undefined" && typeof window.dispatchEvent === "function" && typeof document !== "undefined" && typeof document.createEvent === "function") { + var fakeNode = document.createElement("react"); + + var invokeGuardedCallbackDev = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) { + invariant(typeof document !== "undefined", "The `document` global was defined when React was initialized, but is not " + "defined anymore. This can happen in a test environment if a component " + "schedules an update from an asynchronous callback, but the test has already " + "finished running. To solve this, you can either unmount the component at " + "the end of your test (and ensure that any asynchronous operations get " + "canceled in `componentWillUnmount`), or you can change the test itself " + "to be asynchronous."); + var evt = document.createEvent("Event"); + var didError = true; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + function callCallback() { + fakeNode.removeEventListener(evtType, callCallback, false); + func.apply(context, funcArgs); + didError = false; + } + + var error = void 0; + var didSetError = false; + var isCrossOriginError = false; + + function onError(event) { + error = event.error; + didSetError = true; + + if (error === null && event.colno === 0 && event.lineno === 0) { + isCrossOriginError = true; + } + } + + var evtType = "react-" + (name ? name : "invokeguardedcallback"); + window.addEventListener("error", onError); + fakeNode.addEventListener(evtType, callCallback, false); + evt.initEvent(evtType, false, false); + fakeNode.dispatchEvent(evt); + + if (didError) { + if (!didSetError) { + error = new Error("An error was thrown inside one of your components, but React " + "doesn't know what it was. This is likely due to browser " + 'flakiness. React does its best to preserve the "Pause on ' + 'exceptions" behavior of the DevTools, which requires some ' + "DEV-mode only tricks. It's possible that these don't work in " + "your browser. Try triggering the error in production mode, " + "or switching to a modern browser. If you suspect that this is " + "actually an issue with React, please file an issue."); + } else if (isCrossOriginError) { + error = new Error("A cross-origin error was thrown. React doesn't have access to " + "the actual error object in development. " + "See https://fb.me/react-crossorigin-error for more information."); + } + + this._hasCaughtError = true; + this._caughtError = error; + } else { + this._hasCaughtError = false; + this._caughtError = null; + } + + window.removeEventListener("error", onError); + }; + + invokeGuardedCallback = invokeGuardedCallbackDev; + } + } + var invokeGuardedCallback$1 = invokeGuardedCallback; + var ReactErrorUtils = { + _caughtError: null, + _hasCaughtError: false, + _rethrowError: null, + _hasRethrowError: false, + invokeGuardedCallback: function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + invokeGuardedCallback$1.apply(ReactErrorUtils, arguments); + }, + invokeGuardedCallbackAndCatchFirstError: function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { + ReactErrorUtils.invokeGuardedCallback.apply(this, arguments); + + if (ReactErrorUtils.hasCaughtError()) { + var error = ReactErrorUtils.clearCaughtError(); + + if (!ReactErrorUtils._hasRethrowError) { + ReactErrorUtils._hasRethrowError = true; + ReactErrorUtils._rethrowError = error; + } + } + }, + rethrowCaughtError: function rethrowCaughtError() { + return _rethrowCaughtError.apply(ReactErrorUtils, arguments); + }, + hasCaughtError: function hasCaughtError() { + return ReactErrorUtils._hasCaughtError; + }, + clearCaughtError: function clearCaughtError() { + if (ReactErrorUtils._hasCaughtError) { + var error = ReactErrorUtils._caughtError; + ReactErrorUtils._caughtError = null; + ReactErrorUtils._hasCaughtError = false; + return error; + } else { + invariant(false, "clearCaughtError was called but no error was captured. This error " + "is likely caused by a bug in React. Please file an issue."); + } + } + }; + + var _rethrowCaughtError = function _rethrowCaughtError() { + if (ReactErrorUtils._hasRethrowError) { + var error = ReactErrorUtils._rethrowError; + ReactErrorUtils._rethrowError = null; + ReactErrorUtils._hasRethrowError = false; + throw error; + } + }; + + var eventPluginOrder = null; + var namesToPlugins = {}; + + function recomputePluginOrdering() { + if (!eventPluginOrder) { + return; + } + + for (var pluginName in namesToPlugins) { + var pluginModule = namesToPlugins[pluginName]; + var pluginIndex = eventPluginOrder.indexOf(pluginName); + invariant(pluginIndex > -1, "EventPluginRegistry: Cannot inject event plugins that do not exist in " + "the plugin ordering, `%s`.", pluginName); + + if (plugins[pluginIndex]) { + continue; + } + + invariant(pluginModule.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` " + "method, but `%s` does not.", pluginName); + plugins[pluginIndex] = pluginModule; + var publishedEvents = pluginModule.eventTypes; + + for (var eventName in publishedEvents) { + invariant(publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName), "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", eventName, pluginName); + } + } + } + + function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { + invariant(!eventNameDispatchConfigs.hasOwnProperty(eventName), "EventPluginHub: More than one plugin attempted to publish the same " + "event name, `%s`.", eventName); + eventNameDispatchConfigs[eventName] = dispatchConfig; + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + + if (phasedRegistrationNames) { + for (var phaseName in phasedRegistrationNames) { + if (phasedRegistrationNames.hasOwnProperty(phaseName)) { + var phasedRegistrationName = phasedRegistrationNames[phaseName]; + publishRegistrationName(phasedRegistrationName, pluginModule, eventName); + } + } + + return true; + } else if (dispatchConfig.registrationName) { + publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); + return true; + } + + return false; + } + + function publishRegistrationName(registrationName, pluginModule, eventName) { + invariant(!registrationNameModules[registrationName], "EventPluginHub: More than one plugin attempted to publish the same " + "registration name, `%s`.", registrationName); + registrationNameModules[registrationName] = pluginModule; + registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; + { + var lowerCasedName = registrationName.toLowerCase(); + } + } + + var plugins = []; + var eventNameDispatchConfigs = {}; + var registrationNameModules = {}; + var registrationNameDependencies = {}; + + function injectEventPluginOrder(injectedEventPluginOrder) { + invariant(!eventPluginOrder, "EventPluginRegistry: Cannot inject event plugin ordering more than " + "once. You are likely trying to load more than one copy of React."); + eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); + recomputePluginOrdering(); + } + + function injectEventPluginsByName(injectedNamesToPlugins) { + var isOrderingDirty = false; + + for (var pluginName in injectedNamesToPlugins) { + if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { + continue; + } + + var pluginModule = injectedNamesToPlugins[pluginName]; + + if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { + invariant(!namesToPlugins[pluginName], "EventPluginRegistry: Cannot inject two different event plugins " + "using the same name, `%s`.", pluginName); + namesToPlugins[pluginName] = pluginModule; + isOrderingDirty = true; + } + } + + if (isOrderingDirty) { + recomputePluginOrdering(); + } + } + + var getFiberCurrentPropsFromNode = null; + var getInstanceFromNode = null; + var getNodeFromInstance = null; + var injection$1 = { + injectComponentTree: function injectComponentTree(Injected) { + getFiberCurrentPropsFromNode = Injected.getFiberCurrentPropsFromNode; + getInstanceFromNode = Injected.getInstanceFromNode; + getNodeFromInstance = Injected.getNodeFromInstance; + { + !(getNodeFromInstance && getInstanceFromNode) ? warning(false, "EventPluginUtils.injection.injectComponentTree(...): Injected " + "module is missing getNodeFromInstance or getInstanceFromNode.") : void 0; + } + } + }; + var validateEventDispatches = void 0; + { + validateEventDispatches = function validateEventDispatches(event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + var listenersIsArr = Array.isArray(dispatchListeners); + var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; + var instancesIsArr = Array.isArray(dispatchInstances); + var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; + !(instancesIsArr === listenersIsArr && instancesLen === listenersLen) ? warning(false, "EventPluginUtils: Invalid `event`.") : void 0; + }; + } + + function executeDispatch(event, simulated, listener, inst) { + var type = event.type || "unknown-event"; + event.currentTarget = getNodeFromInstance(inst); + ReactErrorUtils.invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event); + event.currentTarget = null; + } + + function executeDispatchesInOrder(event, simulated) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + { + validateEventDispatches(event); + } + + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + + executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); + } + } else if (dispatchListeners) { + executeDispatch(event, simulated, dispatchListeners, dispatchInstances); + } + + event._dispatchListeners = null; + event._dispatchInstances = null; + } + + function executeDispatchesInOrderStopAtTrueImpl(event) { + var dispatchListeners = event._dispatchListeners; + var dispatchInstances = event._dispatchInstances; + { + validateEventDispatches(event); + } + + if (Array.isArray(dispatchListeners)) { + for (var i = 0; i < dispatchListeners.length; i++) { + if (event.isPropagationStopped()) { + break; + } + + if (dispatchListeners[i](event, dispatchInstances[i])) { + return dispatchInstances[i]; + } + } + } else if (dispatchListeners) { + if (dispatchListeners(event, dispatchInstances)) { + return dispatchInstances; + } + } + + return null; + } + + function executeDispatchesInOrderStopAtTrue(event) { + var ret = executeDispatchesInOrderStopAtTrueImpl(event); + event._dispatchInstances = null; + event._dispatchListeners = null; + return ret; + } + + function executeDirectDispatch(event) { + { + validateEventDispatches(event); + } + var dispatchListener = event._dispatchListeners; + var dispatchInstance = event._dispatchInstances; + invariant(!Array.isArray(dispatchListener), "executeDirectDispatch(...): Invalid `event`."); + event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null; + var res = dispatchListener ? dispatchListener(event) : null; + event.currentTarget = null; + event._dispatchListeners = null; + event._dispatchInstances = null; + return res; + } + + function hasDispatches(event) { + return !!event._dispatchListeners; + } + + function accumulateInto(current, next) { + invariant(next != null, "accumulateInto(...): Accumulated items must not be null or undefined."); + + if (current == null) { + return next; + } + + if (Array.isArray(current)) { + if (Array.isArray(next)) { + current.push.apply(current, next); + return current; + } + + current.push(next); + return current; + } + + if (Array.isArray(next)) { + return [current].concat(next); + } + + return [current, next]; + } + + function forEachAccumulated(arr, cb, scope) { + if (Array.isArray(arr)) { + arr.forEach(cb, scope); + } else if (arr) { + cb.call(scope, arr); + } + } + + var eventQueue = null; + + var executeDispatchesAndRelease = function executeDispatchesAndRelease(event, simulated) { + if (event) { + executeDispatchesInOrder(event, simulated); + + if (!event.isPersistent()) { + event.constructor.release(event); + } + } + }; + + var executeDispatchesAndReleaseSimulated = function executeDispatchesAndReleaseSimulated(e) { + return executeDispatchesAndRelease(e, true); + }; + + var executeDispatchesAndReleaseTopLevel = function executeDispatchesAndReleaseTopLevel(e) { + return executeDispatchesAndRelease(e, false); + }; + + function isInteractive(tag) { + return tag === "button" || tag === "input" || tag === "select" || tag === "textarea"; + } + + function shouldPreventMouseEvent(name, type, props) { + switch (name) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + return !!(props.disabled && isInteractive(type)); + + default: + return false; + } + } + + var injection = { + injectEventPluginOrder: injectEventPluginOrder, + injectEventPluginsByName: injectEventPluginsByName + }; + + function getListener(inst, registrationName) { + var listener = void 0; + var stateNode = inst.stateNode; + + if (!stateNode) { + return null; + } + + var props = getFiberCurrentPropsFromNode(stateNode); + + if (!props) { + return null; + } + + listener = props[registrationName]; + + if (shouldPreventMouseEvent(registrationName, inst.type, props)) { + return null; + } + + invariant(!listener || typeof listener === "function", "Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); + return listener; + } + + function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var events = null; + + for (var i = 0; i < plugins.length; i++) { + var possiblePlugin = plugins[i]; + + if (possiblePlugin) { + var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); + + if (extractedEvents) { + events = accumulateInto(events, extractedEvents); + } + } + } + + return events; + } + + function runEventsInBatch(events, simulated) { + if (events !== null) { + eventQueue = accumulateInto(eventQueue, events); + } + + var processingEventQueue = eventQueue; + eventQueue = null; + + if (!processingEventQueue) { + return; + } + + if (simulated) { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); + } else { + forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); + } + + invariant(!eventQueue, "processEventQueue(): Additional events were enqueued while processing " + "an event queue. Support for this has not yet been implemented."); + ReactErrorUtils.rethrowCaughtError(); + } + + function runExtractedEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var events = extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); + runEventsInBatch(events, false); + } + + var IndeterminateComponent = 0; + var FunctionalComponent = 1; + var ClassComponent = 2; + var HostRoot = 3; + var HostPortal = 4; + var HostComponent = 5; + var HostText = 6; + var Fragment = 10; + var Mode = 11; + var ContextConsumer = 12; + var ContextProvider = 13; + var ForwardRef = 14; + var Profiler = 15; + var TimeoutComponent = 16; + + function getParent(inst) { + do { + inst = inst.return; + } while (inst && inst.tag !== HostComponent); + + if (inst) { + return inst; + } + + return null; + } + + function getLowestCommonAncestor(instA, instB) { + var depthA = 0; + + for (var tempA = instA; tempA; tempA = getParent(tempA)) { + depthA++; + } + + var depthB = 0; + + for (var tempB = instB; tempB; tempB = getParent(tempB)) { + depthB++; + } + + while (depthA - depthB > 0) { + instA = getParent(instA); + depthA--; + } + + while (depthB - depthA > 0) { + instB = getParent(instB); + depthB--; + } + + var depth = depthA; + + while (depth--) { + if (instA === instB || instA === instB.alternate) { + return instA; + } + + instA = getParent(instA); + instB = getParent(instB); + } + + return null; + } + + function isAncestor(instA, instB) { + while (instB) { + if (instA === instB || instA === instB.alternate) { + return true; + } + + instB = getParent(instB); + } + + return false; + } + + function getParentInstance(inst) { + return getParent(inst); + } + + function traverseTwoPhase(inst, fn, arg) { + var path = []; + + while (inst) { + path.push(inst); + inst = getParent(inst); + } + + var i = void 0; + + for (i = path.length; i-- > 0;) { + fn(path[i], "captured", arg); + } + + for (i = 0; i < path.length; i++) { + fn(path[i], "bubbled", arg); + } + } + + function listenerAtPhase(inst, event, propagationPhase) { + var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; + return getListener(inst, registrationName); + } + + function accumulateDirectionalDispatches(inst, phase, event) { + { + !inst ? warning(false, "Dispatching inst must not be null") : void 0; + } + var listener = listenerAtPhase(inst, event, phase); + + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + + function accumulateTwoPhaseDispatchesSingle(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + var targetInst = event._targetInst; + var parentInst = targetInst ? getParentInstance(targetInst) : null; + traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateDispatches(inst, ignoredDirection, event) { + if (inst && event && event.dispatchConfig.registrationName) { + var registrationName = event.dispatchConfig.registrationName; + var listener = getListener(inst, registrationName); + + if (listener) { + event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); + event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + } + } + + function accumulateDirectDispatchesSingle(event) { + if (event && event.dispatchConfig.registrationName) { + accumulateDispatches(event._targetInst, null, event); + } + } + + function accumulateTwoPhaseDispatches(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); + } + + function accumulateTwoPhaseDispatchesSkipTarget(events) { + forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); + } + + function accumulateDirectDispatches(events) { + forEachAccumulated(events, accumulateDirectDispatchesSingle); + } + + var didWarnForAddedNewProperty = false; + var EVENT_POOL_SIZE = 10; + var shouldBeReleasedProperties = ["dispatchConfig", "_targetInst", "nativeEvent", "isDefaultPrevented", "isPropagationStopped", "_dispatchListeners", "_dispatchInstances"]; + var EventInterface = { + type: null, + target: null, + currentTarget: function currentTarget() { + return null; + }, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function timeStamp(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }; + + function functionThatReturnsTrue() { + return true; + } + + function functionThatReturnsFalse() { + return false; + } + + function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { + { + delete this.nativeEvent; + delete this.preventDefault; + delete this.stopPropagation; + } + this.dispatchConfig = dispatchConfig; + this._targetInst = targetInst; + this.nativeEvent = nativeEvent; + var Interface = this.constructor.Interface; + + for (var propName in Interface) { + if (!Interface.hasOwnProperty(propName)) { + continue; + } + + { + delete this[propName]; + } + var normalize = Interface[propName]; + + if (normalize) { + this[propName] = normalize(nativeEvent); + } else { + if (propName === "target") { + this.target = nativeEventTarget; + } else { + this[propName] = nativeEvent[propName]; + } + } + } + + var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; + + if (defaultPrevented) { + this.isDefaultPrevented = functionThatReturnsTrue; + } else { + this.isDefaultPrevented = functionThatReturnsFalse; + } + + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + + _extends(SyntheticEvent.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = true; + var event = this.nativeEvent; + + if (!event) { + return; + } + + if (event.preventDefault) { + event.preventDefault(); + } else if (typeof event.returnValue !== "unknown") { + event.returnValue = false; + } + + this.isDefaultPrevented = functionThatReturnsTrue; + }, + stopPropagation: function stopPropagation() { + var event = this.nativeEvent; + + if (!event) { + return; + } + + if (event.stopPropagation) { + event.stopPropagation(); + } else if (typeof event.cancelBubble !== "unknown") { + event.cancelBubble = true; + } + + this.isPropagationStopped = functionThatReturnsTrue; + }, + persist: function persist() { + this.isPersistent = functionThatReturnsTrue; + }, + isPersistent: functionThatReturnsFalse, + destructor: function destructor() { + var Interface = this.constructor.Interface; + + for (var propName in Interface) { + { + Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); + } + } + + for (var i = 0; i < shouldBeReleasedProperties.length; i++) { + this[shouldBeReleasedProperties[i]] = null; + } + + { + Object.defineProperty(this, "nativeEvent", getPooledWarningPropertyDefinition("nativeEvent", null)); + Object.defineProperty(this, "preventDefault", getPooledWarningPropertyDefinition("preventDefault", function () {})); + Object.defineProperty(this, "stopPropagation", getPooledWarningPropertyDefinition("stopPropagation", function () {})); + } + } + }); + + SyntheticEvent.Interface = EventInterface; + + SyntheticEvent.extend = function (Interface) { + var Super = this; + + var E = function E() {}; + + E.prototype = Super.prototype; + var prototype = new E(); + + function Class() { + return Super.apply(this, arguments); + } + + _extends(prototype, Class.prototype); + + Class.prototype = prototype; + Class.prototype.constructor = Class; + Class.Interface = _extends({}, Super.Interface, Interface); + Class.extend = Super.extend; + addEventPoolingTo(Class); + return Class; + }; + + { + var isProxySupported = typeof Proxy === "function" && !Object.isSealed(new Proxy({}, {})); + + if (isProxySupported) { + SyntheticEvent = new Proxy(SyntheticEvent, { + construct: function construct(target, args) { + return this.apply(target, Object.create(target.prototype), args); + }, + apply: function apply(constructor, that, args) { + return new Proxy(constructor.apply(that, args), { + set: function set(target, prop, value) { + if (prop !== "isPersistent" && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { + !(didWarnForAddedNewProperty || target.isPersistent()) ? warning(false, "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + "The property is never released. See " + "https://fb.me/react-event-pooling for more information.") : void 0; + didWarnForAddedNewProperty = true; + } + + target[prop] = value; + return true; + } + }); + } + }); + } + } + addEventPoolingTo(SyntheticEvent); + + function getPooledWarningPropertyDefinition(propName, getVal) { + var isFunction = typeof getVal === "function"; + return { + configurable: true, + set: set, + get: get$$1 + }; + + function set(val) { + var action = isFunction ? "setting the method" : "setting the property"; + warn(action, "This is effectively a no-op"); + return val; + } + + function get$$1() { + var action = isFunction ? "accessing the method" : "accessing the property"; + var result = isFunction ? "This is a no-op function" : "This is set to null"; + warn(action, result); + return getVal; + } + + function warn(action, result) { + var warningCondition = false; + !warningCondition ? warning(false, "This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + "If you must keep the original synthetic event around, use event.persist(). " + "See https://fb.me/react-event-pooling for more information.", action, propName, result) : void 0; + } + } + + function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { + var EventConstructor = this; + + if (EventConstructor.eventPool.length) { + var instance = EventConstructor.eventPool.pop(); + EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); + return instance; + } + + return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst); + } + + function releasePooledEvent(event) { + var EventConstructor = this; + invariant(event instanceof EventConstructor, "Trying to release an event instance into a pool of a different type."); + event.destructor(); + + if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) { + EventConstructor.eventPool.push(event); + } + } + + function addEventPoolingTo(EventConstructor) { + EventConstructor.eventPool = []; + EventConstructor.getPooled = getPooledEvent; + EventConstructor.release = releasePooledEvent; + } + + var SyntheticEvent$1 = SyntheticEvent; + var ResponderSyntheticEvent = SyntheticEvent$1.extend({ + touchHistory: function touchHistory(nativeEvent) { + return null; + } + }); + var TOP_TOUCH_START = "topTouchStart"; + var TOP_TOUCH_MOVE = "topTouchMove"; + var TOP_TOUCH_END = "topTouchEnd"; + var TOP_TOUCH_CANCEL = "topTouchCancel"; + var TOP_SCROLL = "topScroll"; + var TOP_SELECTION_CHANGE = "topSelectionChange"; + + function isStartish(topLevelType) { + return topLevelType === TOP_TOUCH_START; + } + + function isMoveish(topLevelType) { + return topLevelType === TOP_TOUCH_MOVE; + } + + function isEndish(topLevelType) { + return topLevelType === TOP_TOUCH_END || topLevelType === TOP_TOUCH_CANCEL; + } + + var startDependencies = [TOP_TOUCH_START]; + var moveDependencies = [TOP_TOUCH_MOVE]; + var endDependencies = [TOP_TOUCH_CANCEL, TOP_TOUCH_END]; + var MAX_TOUCH_BANK = 20; + var touchBank = []; + var touchHistory = { + touchBank: touchBank, + numberActiveTouches: 0, + indexOfSingleActiveTouch: -1, + mostRecentTimeStamp: 0 + }; + + function timestampForTouch(touch) { + return touch.timeStamp || touch.timestamp; + } + + function createTouchRecord(touch) { + return { + touchActive: true, + startPageX: touch.pageX, + startPageY: touch.pageY, + startTimeStamp: timestampForTouch(touch), + currentPageX: touch.pageX, + currentPageY: touch.pageY, + currentTimeStamp: timestampForTouch(touch), + previousPageX: touch.pageX, + previousPageY: touch.pageY, + previousTimeStamp: timestampForTouch(touch) + }; + } + + function resetTouchRecord(touchRecord, touch) { + touchRecord.touchActive = true; + touchRecord.startPageX = touch.pageX; + touchRecord.startPageY = touch.pageY; + touchRecord.startTimeStamp = timestampForTouch(touch); + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchRecord.previousPageX = touch.pageX; + touchRecord.previousPageY = touch.pageY; + touchRecord.previousTimeStamp = timestampForTouch(touch); + } + + function getTouchIdentifier(_ref) { + var identifier = _ref.identifier; + invariant(identifier != null, "Touch object is missing identifier."); + { + !(identifier <= MAX_TOUCH_BANK) ? warning(false, "Touch identifier %s is greater than maximum supported %s which causes " + "performance issues backfilling array locations for all of the indices.", identifier, MAX_TOUCH_BANK) : void 0; + } + return identifier; + } + + function recordTouchStart(touch) { + var identifier = getTouchIdentifier(touch); + var touchRecord = touchBank[identifier]; + + if (touchRecord) { + resetTouchRecord(touchRecord, touch); + } else { + touchBank[identifier] = createTouchRecord(touch); + } + + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } + + function recordTouchMove(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + + if (touchRecord) { + touchRecord.touchActive = true; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.error("Cannot record touch move without a touch start.\n" + "Touch Move: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + } + + function recordTouchEnd(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + + if (touchRecord) { + touchRecord.touchActive = false; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.error("Cannot record touch end without a touch start.\n" + "Touch End: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + } + + function printTouch(touch) { + return JSON.stringify({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY, + timestamp: timestampForTouch(touch) + }); + } + + function printTouchBank() { + var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK)); + + if (touchBank.length > MAX_TOUCH_BANK) { + printed += " (original size: " + touchBank.length + ")"; + } + + return printed; + } + + var ResponderTouchHistoryStore = { + recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) { + if (isMoveish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchMove); + } else if (isStartish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchStart); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + + if (touchHistory.numberActiveTouches === 1) { + touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier; + } + } else if (isEndish(topLevelType)) { + nativeEvent.changedTouches.forEach(recordTouchEnd); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + + if (touchHistory.numberActiveTouches === 1) { + for (var i = 0; i < touchBank.length; i++) { + var touchTrackToCheck = touchBank[i]; + + if (touchTrackToCheck != null && touchTrackToCheck.touchActive) { + touchHistory.indexOfSingleActiveTouch = i; + break; + } + } + + { + var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch]; + !(activeRecord != null && activeRecord.touchActive) ? warning(false, "Cannot find single active touch.") : void 0; + } + } + } + }, + touchHistory: touchHistory + }; + + function accumulate(current, next) { + invariant(next != null, "accumulate(...): Accumulated items must be not be null or undefined."); + + if (current == null) { + return next; + } + + if (Array.isArray(current)) { + return current.concat(next); + } + + if (Array.isArray(next)) { + return [current].concat(next); + } + + return [current, next]; + } + + var responderInst = null; + var trackedTouchCount = 0; + + var changeResponder = function changeResponder(nextResponderInst, blockHostResponder) { + var oldResponderInst = responderInst; + responderInst = nextResponderInst; + + if (ResponderEventPlugin.GlobalResponderHandler !== null) { + ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder); + } + }; + + var eventTypes$1 = { + startShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onStartShouldSetResponder", + captured: "onStartShouldSetResponderCapture" + }, + dependencies: startDependencies + }, + scrollShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onScrollShouldSetResponder", + captured: "onScrollShouldSetResponderCapture" + }, + dependencies: [TOP_SCROLL] + }, + selectionChangeShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onSelectionChangeShouldSetResponder", + captured: "onSelectionChangeShouldSetResponderCapture" + }, + dependencies: [TOP_SELECTION_CHANGE] + }, + moveShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onMoveShouldSetResponder", + captured: "onMoveShouldSetResponderCapture" + }, + dependencies: moveDependencies + }, + responderStart: { + registrationName: "onResponderStart", + dependencies: startDependencies + }, + responderMove: { + registrationName: "onResponderMove", + dependencies: moveDependencies + }, + responderEnd: { + registrationName: "onResponderEnd", + dependencies: endDependencies + }, + responderRelease: { + registrationName: "onResponderRelease", + dependencies: endDependencies + }, + responderTerminationRequest: { + registrationName: "onResponderTerminationRequest", + dependencies: [] + }, + responderGrant: { + registrationName: "onResponderGrant", + dependencies: [] + }, + responderReject: { + registrationName: "onResponderReject", + dependencies: [] + }, + responderTerminate: { + registrationName: "onResponderTerminate", + dependencies: [] + } + }; + + function setResponderAndExtractTransfer(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + var shouldSetEventType = isStartish(topLevelType) ? eventTypes$1.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes$1.moveShouldSetResponder : topLevelType === TOP_SELECTION_CHANGE ? eventTypes$1.selectionChangeShouldSetResponder : eventTypes$1.scrollShouldSetResponder; + var bubbleShouldSetFrom = !responderInst ? targetInst : getLowestCommonAncestor(responderInst, targetInst); + var skipOverBubbleShouldSetFrom = bubbleShouldSetFrom === responderInst; + var shouldSetEvent = ResponderSyntheticEvent.getPooled(shouldSetEventType, bubbleShouldSetFrom, nativeEvent, nativeEventTarget); + shouldSetEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + + if (skipOverBubbleShouldSetFrom) { + accumulateTwoPhaseDispatchesSkipTarget(shouldSetEvent); + } else { + accumulateTwoPhaseDispatches(shouldSetEvent); + } + + var wantsResponderInst = executeDispatchesInOrderStopAtTrue(shouldSetEvent); + + if (!shouldSetEvent.isPersistent()) { + shouldSetEvent.constructor.release(shouldSetEvent); + } + + if (!wantsResponderInst || wantsResponderInst === responderInst) { + return null; + } + + var extracted = void 0; + var grantEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderGrant, wantsResponderInst, nativeEvent, nativeEventTarget); + grantEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(grantEvent); + var blockHostResponder = executeDirectDispatch(grantEvent) === true; + + if (responderInst) { + var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget); + terminationRequestEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(terminationRequestEvent); + var shouldSwitch = !hasDispatches(terminationRequestEvent) || executeDirectDispatch(terminationRequestEvent); + + if (!terminationRequestEvent.isPersistent()) { + terminationRequestEvent.constructor.release(terminationRequestEvent); + } + + if (shouldSwitch) { + var terminateEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminate, responderInst, nativeEvent, nativeEventTarget); + terminateEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(terminateEvent); + extracted = accumulate(extracted, [grantEvent, terminateEvent]); + changeResponder(wantsResponderInst, blockHostResponder); + } else { + var rejectEvent = ResponderSyntheticEvent.getPooled(eventTypes$1.responderReject, wantsResponderInst, nativeEvent, nativeEventTarget); + rejectEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(rejectEvent); + extracted = accumulate(extracted, rejectEvent); + } + } else { + extracted = accumulate(extracted, grantEvent); + changeResponder(wantsResponderInst, blockHostResponder); + } + + return extracted; + } + + function canTriggerTransfer(topLevelType, topLevelInst, nativeEvent) { + return topLevelInst && (topLevelType === TOP_SCROLL && !nativeEvent.responderIgnoreScroll || trackedTouchCount > 0 && topLevelType === TOP_SELECTION_CHANGE || isStartish(topLevelType) || isMoveish(topLevelType)); + } + + function noResponderTouches(nativeEvent) { + var touches = nativeEvent.touches; + + if (!touches || touches.length === 0) { + return true; + } + + for (var i = 0; i < touches.length; i++) { + var activeTouch = touches[i]; + var target = activeTouch.target; + + if (target !== null && target !== undefined && target !== 0) { + var targetInst = getInstanceFromNode(target); + + if (isAncestor(responderInst, targetInst)) { + return false; + } + } + } + + return true; + } + + var ResponderEventPlugin = { + _getResponder: function _getResponder() { + return responderInst; + }, + eventTypes: eventTypes$1, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (isStartish(topLevelType)) { + trackedTouchCount += 1; + } else if (isEndish(topLevelType)) { + if (trackedTouchCount >= 0) { + trackedTouchCount -= 1; + } else { + console.error("Ended a touch event which was not counted in `trackedTouchCount`."); + return null; + } + } + + ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent); + var extracted = canTriggerTransfer(topLevelType, targetInst, nativeEvent) ? setResponderAndExtractTransfer(topLevelType, targetInst, nativeEvent, nativeEventTarget) : null; + var isResponderTouchStart = responderInst && isStartish(topLevelType); + var isResponderTouchMove = responderInst && isMoveish(topLevelType); + var isResponderTouchEnd = responderInst && isEndish(topLevelType); + var incrementalTouch = isResponderTouchStart ? eventTypes$1.responderStart : isResponderTouchMove ? eventTypes$1.responderMove : isResponderTouchEnd ? eventTypes$1.responderEnd : null; + + if (incrementalTouch) { + var gesture = ResponderSyntheticEvent.getPooled(incrementalTouch, responderInst, nativeEvent, nativeEventTarget); + gesture.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(gesture); + extracted = accumulate(extracted, gesture); + } + + var isResponderTerminate = responderInst && topLevelType === TOP_TOUCH_CANCEL; + var isResponderRelease = responderInst && !isResponderTerminate && isEndish(topLevelType) && noResponderTouches(nativeEvent); + var finalTouch = isResponderTerminate ? eventTypes$1.responderTerminate : isResponderRelease ? eventTypes$1.responderRelease : null; + + if (finalTouch) { + var finalEvent = ResponderSyntheticEvent.getPooled(finalTouch, responderInst, nativeEvent, nativeEventTarget); + finalEvent.touchHistory = ResponderTouchHistoryStore.touchHistory; + accumulateDirectDispatches(finalEvent); + extracted = accumulate(extracted, finalEvent); + changeResponder(null); + } + + return extracted; + }, + GlobalResponderHandler: null, + injection: { + injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) { + ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler; + } + } + }; + var customBubblingEventTypes$1 = ReactNativeViewConfigRegistry.customBubblingEventTypes; + var customDirectEventTypes$1 = ReactNativeViewConfigRegistry.customDirectEventTypes; + var eventTypes$2 = ReactNativeViewConfigRegistry.eventTypes; + var ReactNativeBridgeEventPlugin = { + eventTypes: eventTypes$2, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (targetInst == null) { + return null; + } + + var bubbleDispatchConfig = customBubblingEventTypes$1[topLevelType]; + var directDispatchConfig = customDirectEventTypes$1[topLevelType]; + invariant(bubbleDispatchConfig || directDispatchConfig, 'Unsupported top level event type "%s" dispatched', topLevelType); + var event = SyntheticEvent$1.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget); + + if (bubbleDispatchConfig) { + accumulateTwoPhaseDispatches(event); + } else if (directDispatchConfig) { + accumulateDirectDispatches(event); + } else { + return null; + } + + return event; + } + }; + var ReactNativeEventPluginOrder = ["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]; + injection.injectEventPluginOrder(ReactNativeEventPluginOrder); + injection.injectEventPluginsByName({ + ResponderEventPlugin: ResponderEventPlugin, + ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin + }); + + function getInstanceFromInstance(instanceHandle) { + return instanceHandle; + } + + function getTagFromInstance(inst) { + var tag = inst.stateNode.canonical._nativeTag; + invariant(tag, "All native instances should have a tag."); + return tag; + } + + function getFiberCurrentPropsFromNode$1(inst) { + return inst.canonical.currentProps; + } + + var ReactFabricComponentTree = Object.freeze({ + getClosestInstanceFromNode: getInstanceFromInstance, + getInstanceFromNode: getInstanceFromInstance, + getNodeFromInstance: getTagFromInstance, + getFiberCurrentPropsFromNode: getFiberCurrentPropsFromNode$1 + }); + var ReactFabricGlobalResponderHandler = { + onChange: function onChange(from, to, blockNativeResponder) { + if (to !== null) { + var tag = to.stateNode.canonical._nativeTag; + UIManager.setJSResponder(tag, blockNativeResponder); + } else { + UIManager.clearJSResponder(); + } + } + }; + injection$1.injectComponentTree(ReactFabricComponentTree); + ResponderEventPlugin.injection.injectGlobalResponderHandler(ReactFabricGlobalResponderHandler); + + function get$1(key) { + return key._reactInternalFiber; + } + + function set(key, value) { + key._reactInternalFiber = value; + } + + var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + var ReactCurrentOwner = ReactInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame = ReactInternals.ReactDebugCurrentFrame; + var hasSymbol = typeof Symbol === "function" && (typeof Symbol === "function" ? Symbol.for : "@@for"); + var REACT_ELEMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") : 0xeac7; + var REACT_PORTAL_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.portal") : 0xeaca; + var REACT_FRAGMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.fragment") : 0xeacb; + var REACT_STRICT_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.strict_mode") : 0xeacc; + var REACT_PROFILER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.profiler") : 0xead2; + var REACT_PROVIDER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.provider") : 0xeacd; + var REACT_CONTEXT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.context") : 0xeace; + var REACT_ASYNC_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.async_mode") : 0xeacf; + var REACT_FORWARD_REF_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.forward_ref") : 0xead0; + var REACT_TIMEOUT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.timeout") : 0xead1; + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === "function" && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable === "undefined") { + return null; + } + + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + + if (typeof maybeIterator === "function") { + return maybeIterator; + } + + return null; + } + + function getComponentName(fiber) { + var type = fiber.type; + + if (typeof type === "function") { + return type.displayName || type.name; + } + + if (typeof type === "string") { + return type; + } + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + return "AsyncMode"; + + case REACT_CONTEXT_TYPE: + return "Context.Consumer"; + + case REACT_FRAGMENT_TYPE: + return "ReactFragment"; + + case REACT_PORTAL_TYPE: + return "ReactPortal"; + + case REACT_PROFILER_TYPE: + return "Profiler(" + fiber.pendingProps.id + ")"; + + case REACT_PROVIDER_TYPE: + return "Context.Provider"; + + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + + case REACT_TIMEOUT_TYPE: + return "Timeout"; + } + + if (typeof type === "object" && type !== null) { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + var functionName = type.render.displayName || type.render.name || ""; + return functionName !== "" ? "ForwardRef(" + functionName + ")" : "ForwardRef"; + } + } + + return null; + } + + var NoEffect = 0; + var PerformedWork = 1; + var Placement = 2; + var Update = 4; + var PlacementAndUpdate = 6; + var Deletion = 8; + var ContentReset = 16; + var Callback = 32; + var DidCapture = 64; + var Ref = 128; + var Snapshot = 256; + var HostEffectMask = 511; + var Incomplete = 512; + var ShouldCapture = 1024; + var MOUNTING = 1; + var MOUNTED = 2; + var UNMOUNTED = 3; + + function isFiberMountedImpl(fiber) { + var node = fiber; + + if (!fiber.alternate) { + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + + while (node.return) { + node = node.return; + + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + } + } else { + while (node.return) { + node = node.return; + } + } + + if (node.tag === HostRoot) { + return MOUNTED; + } + + return UNMOUNTED; + } + + function isFiberMounted(fiber) { + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function isMounted(component) { + { + var owner = ReactCurrentOwner.current; + + if (owner !== null && owner.tag === ClassComponent) { + var ownerFiber = owner; + var instance = ownerFiber.stateNode; + !instance._warnedAboutRefsInRender ? warning(false, "%s is accessing isMounted inside its render() function. " + "render() should be a pure function of props and state. It should " + "never access something that requires stale data from the previous " + "render, such as refs. Move this logic to componentDidMount and " + "componentDidUpdate instead.", getComponentName(ownerFiber) || "A component") : void 0; + instance._warnedAboutRefsInRender = true; + } + } + var fiber = get$1(component); + + if (!fiber) { + return false; + } + + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function assertIsMounted(fiber) { + invariant(isFiberMountedImpl(fiber) === MOUNTED, "Unable to find node on an unmounted component."); + } + + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + + if (!alternate) { + var state = isFiberMountedImpl(fiber); + invariant(state !== UNMOUNTED, "Unable to find node on an unmounted component."); + + if (state === MOUNTING) { + return null; + } + + return fiber; + } + + var a = fiber; + var b = alternate; + + while (true) { + var parentA = a.return; + var parentB = parentA ? parentA.alternate : null; + + if (!parentA || !parentB) { + break; + } + + if (parentA.child === parentB.child) { + var child = parentA.child; + + while (child) { + if (child === a) { + assertIsMounted(parentA); + return fiber; + } + + if (child === b) { + assertIsMounted(parentA); + return alternate; + } + + child = child.sibling; + } + + invariant(false, "Unable to find node on an unmounted component."); + } + + if (a.return !== b.return) { + a = parentA; + b = parentB; + } else { + var didFindChild = false; + var _child = parentA.child; + + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + + _child = _child.sibling; + } + + if (!didFindChild) { + _child = parentB.child; + + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + + _child = _child.sibling; + } + + invariant(didFindChild, "Child was not found in either parent set. This indicates a bug " + "in React related to the return pointer. Please file an issue."); + } + } + + invariant(a.alternate === b, "Return fibers should always be each others' alternates. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + invariant(a.tag === HostRoot, "Unable to find node on an unmounted component."); + + if (a.stateNode.current === a) { + return fiber; + } + + return alternate; + } + + function findCurrentHostFiber(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + + if (!currentParent) { + return null; + } + + var node = currentParent; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === currentParent) { + return null; + } + + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + + return null; + } + + function findCurrentHostFiberWithNoPortals(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + + if (!currentParent) { + return null; + } + + var node = currentParent; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child && node.tag !== HostPortal) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === currentParent) { + return null; + } + + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + + return null; + } + + function mountSafeCallback(context, callback) { + return function () { + if (!callback) { + return undefined; + } + + if (typeof context.__isMounted === "boolean") { + if (!context.__isMounted) { + return undefined; + } + } else if (typeof context.isMounted === "function") { + if (!context.isMounted()) { + return undefined; + } + } + + return callback.apply(context, arguments); + }; + } + + function throwOnStylesProp(component, props) { + if (props.styles !== undefined) { + var owner = component._owner || null; + var name = component.constructor.displayName; + var msg = "`styles` is not a supported property of `" + name + "`, did " + "you mean `style` (singular)?"; + + if (owner && owner.constructor && owner.constructor.displayName) { + msg += "\n\nCheck the `" + owner.constructor.displayName + "` parent " + " component."; + } + + throw new Error(msg); + } + } + + function warnForStyleProps(props, validAttributes) { + for (var key in validAttributes.style) { + if (!(validAttributes[key] || props[key] === undefined)) { + console.error("You are setting the style `{ " + key + ": ... }` as a prop. You " + "should nest it in a style object. " + "E.g. `{ style: { " + key + ": ... } }`"); + } + } + } + + var emptyObject$1 = {}; + var removedKeys = null; + var removedKeyCount = 0; + + function defaultDiffer(prevProp, nextProp) { + if (typeof nextProp !== "object" || nextProp === null) { + return true; + } else { + return deepDiffer(prevProp, nextProp); + } + } + + function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) { + if (Array.isArray(node)) { + var i = node.length; + + while (i-- && removedKeyCount > 0) { + restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes); + } + } else if (node && removedKeyCount > 0) { + var obj = node; + + for (var propKey in removedKeys) { + if (!removedKeys[propKey]) { + continue; + } + + var _nextProp = obj[propKey]; + + if (_nextProp === undefined) { + continue; + } + + var attributeConfig = validAttributes[propKey]; + + if (!attributeConfig) { + continue; + } + + if (typeof _nextProp === "function") { + _nextProp = true; + } + + if (typeof _nextProp === "undefined") { + _nextProp = null; + } + + if (typeof attributeConfig !== "object") { + updatePayload[propKey] = _nextProp; + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(_nextProp) : _nextProp; + updatePayload[propKey] = nextValue; + } + + removedKeys[propKey] = false; + removedKeyCount--; + } + } + } + + function diffNestedArrayProperty(updatePayload, prevArray, nextArray, validAttributes) { + var minLength = prevArray.length < nextArray.length ? prevArray.length : nextArray.length; + var i = void 0; + + for (i = 0; i < minLength; i++) { + updatePayload = diffNestedProperty(updatePayload, prevArray[i], nextArray[i], validAttributes); + } + + for (; i < prevArray.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevArray[i], validAttributes); + } + + for (; i < nextArray.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextArray[i], validAttributes); + } + + return updatePayload; + } + + function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) { + if (!updatePayload && prevProp === nextProp) { + return updatePayload; + } + + if (!prevProp || !nextProp) { + if (nextProp) { + return addNestedProperty(updatePayload, nextProp, validAttributes); + } + + if (prevProp) { + return clearNestedProperty(updatePayload, prevProp, validAttributes); + } + + return updatePayload; + } + + if (!Array.isArray(prevProp) && !Array.isArray(nextProp)) { + return diffProperties(updatePayload, prevProp, nextProp, validAttributes); + } + + if (Array.isArray(prevProp) && Array.isArray(nextProp)) { + return diffNestedArrayProperty(updatePayload, prevProp, nextProp, validAttributes); + } + + if (Array.isArray(prevProp)) { + return diffProperties(updatePayload, flattenStyle(prevProp), nextProp, validAttributes); + } + + return diffProperties(updatePayload, prevProp, flattenStyle(nextProp), validAttributes); + } + + function addNestedProperty(updatePayload, nextProp, validAttributes) { + if (!nextProp) { + return updatePayload; + } + + if (!Array.isArray(nextProp)) { + return addProperties(updatePayload, nextProp, validAttributes); + } + + for (var i = 0; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + function clearNestedProperty(updatePayload, prevProp, validAttributes) { + if (!prevProp) { + return updatePayload; + } + + if (!Array.isArray(prevProp)) { + return clearProperties(updatePayload, prevProp, validAttributes); + } + + for (var i = 0; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + return updatePayload; + } + + function diffProperties(updatePayload, prevProps, nextProps, validAttributes) { + var attributeConfig = void 0; + var nextProp = void 0; + var prevProp = void 0; + + for (var propKey in nextProps) { + attributeConfig = validAttributes[propKey]; + + if (!attributeConfig) { + continue; + } + + prevProp = prevProps[propKey]; + nextProp = nextProps[propKey]; + + if (typeof nextProp === "function") { + nextProp = true; + + if (typeof prevProp === "function") { + prevProp = true; + } + } + + if (typeof nextProp === "undefined") { + nextProp = null; + + if (typeof prevProp === "undefined") { + prevProp = null; + } + } + + if (removedKeys) { + removedKeys[propKey] = false; + } + + if (updatePayload && updatePayload[propKey] !== undefined) { + if (typeof attributeConfig !== "object") { + updatePayload[propKey] = nextProp; + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(nextProp) : nextProp; + updatePayload[propKey] = nextValue; + } + + continue; + } + + if (prevProp === nextProp) { + continue; + } + + if (typeof attributeConfig !== "object") { + if (defaultDiffer(prevProp, nextProp)) { + (updatePayload || (updatePayload = {}))[propKey] = nextProp; + } + } else if (typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + var shouldUpdate = prevProp === undefined || (typeof attributeConfig.diff === "function" ? attributeConfig.diff(prevProp, nextProp) : defaultDiffer(prevProp, nextProp)); + + if (shouldUpdate) { + var _nextValue = typeof attributeConfig.process === "function" ? attributeConfig.process(nextProp) : nextProp; + + (updatePayload || (updatePayload = {}))[propKey] = _nextValue; + } + } else { + removedKeys = null; + removedKeyCount = 0; + updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig); + + if (removedKeyCount > 0 && updatePayload) { + restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig); + removedKeys = null; + } + } + } + + for (var _propKey in prevProps) { + if (nextProps[_propKey] !== undefined) { + continue; + } + + attributeConfig = validAttributes[_propKey]; + + if (!attributeConfig) { + continue; + } + + if (updatePayload && updatePayload[_propKey] !== undefined) { + continue; + } + + prevProp = prevProps[_propKey]; + + if (prevProp === undefined) { + continue; + } + + if (typeof attributeConfig !== "object" || typeof attributeConfig.diff === "function" || typeof attributeConfig.process === "function") { + (updatePayload || (updatePayload = {}))[_propKey] = null; + + if (!removedKeys) { + removedKeys = {}; + } + + if (!removedKeys[_propKey]) { + removedKeys[_propKey] = true; + removedKeyCount++; + } + } else { + updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig); + } + } + + return updatePayload; + } + + function addProperties(updatePayload, props, validAttributes) { + return diffProperties(updatePayload, emptyObject$1, props, validAttributes); + } + + function clearProperties(updatePayload, prevProps, validAttributes) { + return diffProperties(updatePayload, prevProps, emptyObject$1, validAttributes); + } + + function create(props, validAttributes) { + return addProperties(null, props, validAttributes); + } + + function diff(prevProps, nextProps, validAttributes) { + return diffProperties(null, prevProps, nextProps, validAttributes); + } + + var hasNativePerformanceNow = typeof performance === "object" && typeof performance.now === "function"; + var now$1 = hasNativePerformanceNow ? function () { + return performance.now(); + } : function () { + return Date.now(); + }; + var scheduledCallback = null; + var frameDeadline = 0; + var frameDeadlineObject = { + timeRemaining: function timeRemaining() { + return frameDeadline - now$1(); + }, + didTimeout: false + }; + + function setTimeoutCallback() { + frameDeadline = now$1() + 5; + var callback = scheduledCallback; + scheduledCallback = null; + + if (callback !== null) { + callback(frameDeadlineObject); + } + } + + function scheduleDeferredCallback$1(callback, options) { + scheduledCallback = callback; + var timeoutId = setTimeout(setTimeoutCallback, 1); + return timeoutId; + } + + function cancelDeferredCallback$1(callbackID) { + scheduledCallback = null; + clearTimeout(callbackID); + } + + var fiberHostComponent = null; + var restoreTarget = null; + var restoreQueue = null; + + function restoreStateOfTarget(target) { + var internalInstance = getInstanceFromNode(target); + + if (!internalInstance) { + return; + } + + invariant(fiberHostComponent && typeof fiberHostComponent.restoreControlledState === "function", "Fiber needs to be injected to handle a fiber target for controlled " + "events. This error is likely caused by a bug in React. Please file an issue."); + var props = getFiberCurrentPropsFromNode(internalInstance.stateNode); + fiberHostComponent.restoreControlledState(internalInstance.stateNode, internalInstance.type, props); + } + + function needsStateRestore() { + return restoreTarget !== null || restoreQueue !== null; + } + + function restoreStateIfNeeded() { + if (!restoreTarget) { + return; + } + + var target = restoreTarget; + var queuedTargets = restoreQueue; + restoreTarget = null; + restoreQueue = null; + restoreStateOfTarget(target); + + if (queuedTargets) { + for (var i = 0; i < queuedTargets.length; i++) { + restoreStateOfTarget(queuedTargets[i]); + } + } + } + + var _batchedUpdates = function _batchedUpdates(fn, bookkeeping) { + return fn(bookkeeping); + }; + + var _interactiveUpdates = function _interactiveUpdates(fn, a, b) { + return fn(a, b); + }; + + var _flushInteractiveUpdates = function _flushInteractiveUpdates() {}; + + var isBatching = false; + + function batchedUpdates(fn, bookkeeping) { + if (isBatching) { + return fn(bookkeeping); + } + + isBatching = true; + + try { + return _batchedUpdates(fn, bookkeeping); + } finally { + isBatching = false; + var controlledComponentsHavePendingUpdates = needsStateRestore(); + + if (controlledComponentsHavePendingUpdates) { + _flushInteractiveUpdates(); + + restoreStateIfNeeded(); + } + } + } + + var injection$2 = { + injectRenderer: function injectRenderer(renderer) { + _batchedUpdates = renderer.batchedUpdates; + _interactiveUpdates = renderer.interactiveUpdates; + _flushInteractiveUpdates = renderer.flushInteractiveUpdates; + } + }; + + function dispatchEvent(target, topLevelType, nativeEvent) { + var targetFiber = target; + batchedUpdates(function () { + runExtractedEventsInBatch(topLevelType, targetFiber, nativeEvent, nativeEvent.target); + }); + } + + function shim() { + invariant(false, "The current renderer does not support mutation. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + + var supportsMutation = false; + var appendChild$1 = shim; + var appendChildToContainer = shim; + var commitTextUpdate = shim; + var commitMount = shim; + var commitUpdate = shim; + var insertBefore = shim; + var insertInContainerBefore = shim; + var removeChild = shim; + var removeChildFromContainer = shim; + var resetTextContent = shim; + + function shim$1() { + invariant(false, "The current renderer does not support hyration. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + + var supportsHydration = false; + var canHydrateInstance = shim$1; + var canHydrateTextInstance = shim$1; + var getNextHydratableSibling = shim$1; + var getFirstHydratableChild = shim$1; + var hydrateInstance = shim$1; + var hydrateTextInstance = shim$1; + var didNotMatchHydratedContainerTextInstance = shim$1; + var didNotMatchHydratedTextInstance = shim$1; + var didNotHydrateContainerInstance = shim$1; + var didNotHydrateInstance = shim$1; + var didNotFindHydratableContainerInstance = shim$1; + var didNotFindHydratableContainerTextInstance = shim$1; + var didNotFindHydratableInstance = shim$1; + var didNotFindHydratableTextInstance = shim$1; + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + var nextReactTag = 2; + + if (FabricUIManager.registerEventHandler) { + FabricUIManager.registerEventHandler(dispatchEvent); + } + + var ReactFabricHostComponent = function () { + function ReactFabricHostComponent(tag, viewConfig, props) { + _classCallCheck(this, ReactFabricHostComponent); + + this._nativeTag = tag; + this.viewConfig = viewConfig; + this.currentProps = props; + } + + ReactFabricHostComponent.prototype.blur = function blur() { + TextInputState.blurTextInput(this._nativeTag); + }; + + ReactFabricHostComponent.prototype.focus = function focus() { + TextInputState.focusTextInput(this._nativeTag); + }; + + ReactFabricHostComponent.prototype.measure = function measure(callback) { + UIManager.measure(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactFabricHostComponent.prototype.measureInWindow = function measureInWindow(callback) { + UIManager.measureInWindow(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactFabricHostComponent.prototype.measureLayout = function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(this._nativeTag, relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactFabricHostComponent.prototype.setNativeProps = function setNativeProps(nativeProps) { + { + warnForStyleProps(nativeProps, this.viewConfig.validAttributes); + } + var updatePayload = create(nativeProps, this.viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(this._nativeTag, this.viewConfig.uiViewClassName, updatePayload); + } + }; + + return ReactFabricHostComponent; + }(); + + function appendInitialChild(parentInstance, child) { + FabricUIManager.appendChild(parentInstance.node, child.node); + } + + function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) { + var tag = nextReactTag; + nextReactTag += 2; + var viewConfig = ReactNativeViewConfigRegistry.get(type); + { + for (var key in viewConfig.validAttributes) { + if (props.hasOwnProperty(key)) { + deepFreezeAndThrowOnMutationInDev(props[key]); + } + } + } + invariant(type !== "RCTView" || !hostContext.isInAParentText, "Nesting of within is not currently supported."); + var updatePayload = create(props, viewConfig.validAttributes); + var node = FabricUIManager.createNode(tag, viewConfig.uiViewClassName, rootContainerInstance, updatePayload, internalInstanceHandle); + var component = new ReactFabricHostComponent(tag, viewConfig, props); + return { + node: node, + canonical: component + }; + } + + function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { + invariant(hostContext.isInAParentText, "Text strings must be rendered within a component."); + var tag = nextReactTag; + nextReactTag += 2; + var node = FabricUIManager.createNode(tag, "RCTRawText", rootContainerInstance, { + text: text + }, internalInstanceHandle); + return { + node: node + }; + } + + function finalizeInitialChildren(parentInstance, type, props, rootContainerInstance, hostContext) { + return false; + } + + function getRootHostContext(rootContainerInstance) { + return { + isInAParentText: false + }; + } + + function getChildHostContext(parentHostContext, type, rootContainerInstance) { + var prevIsInAParentText = parentHostContext.isInAParentText; + var isInAParentText = type === "AndroidTextInput" || type === "RCTMultilineTextInputView" || type === "RCTSinglelineTextInputView" || type === "RCTText" || type === "RCTVirtualText"; + + if (prevIsInAParentText !== isInAParentText) { + return { + isInAParentText: isInAParentText + }; + } else { + return parentHostContext; + } + } + + function getPublicInstance(instance) { + return instance.canonical; + } + + function prepareForCommit(containerInfo) {} + + function prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, hostContext) { + var viewConfig = instance.canonical.viewConfig; + var updatePayload = diff(oldProps, newProps, viewConfig.validAttributes); + instance.canonical.currentProps = newProps; + return updatePayload; + } + + function resetAfterCommit(containerInfo) {} + + function shouldDeprioritizeSubtree(type, props) { + return false; + } + + function shouldSetTextContent(type, props) { + return false; + } + + var isPrimaryRenderer = false; + var now = now$1; + var scheduleDeferredCallback = scheduleDeferredCallback$1; + var cancelDeferredCallback = cancelDeferredCallback$1; + var supportsPersistence = true; + + function cloneInstance(instance, updatePayload, type, oldProps, newProps, internalInstanceHandle, keepChildren, recyclableInstance) { + var node = instance.node; + var clone = void 0; + + if (keepChildren) { + if (updatePayload !== null) { + clone = FabricUIManager.cloneNodeWithNewProps(node, updatePayload, internalInstanceHandle); + } else { + clone = FabricUIManager.cloneNode(node, internalInstanceHandle); + } + } else { + if (updatePayload !== null) { + clone = FabricUIManager.cloneNodeWithNewChildrenAndProps(node, updatePayload, internalInstanceHandle); + } else { + clone = FabricUIManager.cloneNodeWithNewChildren(node, internalInstanceHandle); + } + } + + return { + node: clone, + canonical: instance.canonical + }; + } + + function createContainerChildSet(container) { + return FabricUIManager.createChildSet(container); + } + + function appendChildToContainerChildSet(childSet, child) { + FabricUIManager.appendChildToSet(childSet, child.node); + } + + function finalizeContainerChildren(container, newChildren) { + FabricUIManager.completeRoot(container, newChildren); + } + + var describeComponentFrame = function describeComponentFrame(name, source, ownerName) { + return "\n in " + (name || "Unknown") + (source ? " (at " + source.fileName.replace(/^.*[\\\/]/, "") + ":" + source.lineNumber + ")" : ownerName ? " (created by " + ownerName + ")" : ""); + }; + + function describeFiber(fiber) { + switch (fiber.tag) { + case IndeterminateComponent: + case FunctionalComponent: + case ClassComponent: + case HostComponent: + var owner = fiber._debugOwner; + var source = fiber._debugSource; + var name = getComponentName(fiber); + var ownerName = null; + + if (owner) { + ownerName = getComponentName(owner); + } + + return describeComponentFrame(name, source, ownerName); + + default: + return ""; + } + } + + function getStackAddendumByWorkInProgressFiber(workInProgress) { + var info = ""; + var node = workInProgress; + + do { + info += describeFiber(node); + node = node.return; + } while (node); + + return info; + } + + function getCurrentFiberOwnerName() { + { + var fiber = ReactDebugCurrentFiber.current; + + if (fiber === null) { + return null; + } + + var owner = fiber._debugOwner; + + if (owner !== null && typeof owner !== "undefined") { + return getComponentName(owner); + } + } + return null; + } + + function getCurrentFiberStackAddendum() { + { + var fiber = ReactDebugCurrentFiber.current; + + if (fiber === null) { + return null; + } + + return getStackAddendumByWorkInProgressFiber(fiber); + } + return null; + } + + function resetCurrentFiber() { + ReactDebugCurrentFrame.getCurrentStack = null; + ReactDebugCurrentFiber.current = null; + ReactDebugCurrentFiber.phase = null; + } + + function setCurrentFiber(fiber) { + ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackAddendum; + ReactDebugCurrentFiber.current = fiber; + ReactDebugCurrentFiber.phase = null; + } + + function setCurrentPhase(phase) { + ReactDebugCurrentFiber.phase = phase; + } + + var ReactDebugCurrentFiber = { + current: null, + phase: null, + resetCurrentFiber: resetCurrentFiber, + setCurrentFiber: setCurrentFiber, + setCurrentPhase: setCurrentPhase, + getCurrentFiberOwnerName: getCurrentFiberOwnerName, + getCurrentFiberStackAddendum: getCurrentFiberStackAddendum + }; + var debugRenderPhaseSideEffects = false; + var debugRenderPhaseSideEffectsForStrictMode = false; + var enableUserTimingAPI = true; + var enableGetDerivedStateFromCatch = false; + var enableSuspense = false; + var warnAboutDeprecatedLifecycles = false; + var warnAboutLegacyContextAPI = false; + var replayFailedUnitOfWorkWithInvokeGuardedCallback = true; + var enableProfilerTimer = true; + var reactEmoji = "\u269B"; + var warningEmoji = "\u26D4"; + var supportsUserTiming = typeof performance !== "undefined" && typeof performance.mark === "function" && typeof performance.clearMarks === "function" && typeof performance.measure === "function" && typeof performance.clearMeasures === "function"; + var currentFiber = null; + var currentPhase = null; + var currentPhaseFiber = null; + var isCommitting = false; + var hasScheduledUpdateInCurrentCommit = false; + var hasScheduledUpdateInCurrentPhase = false; + var commitCountInCurrentWorkLoop = 0; + var effectCountInCurrentCommit = 0; + var isWaitingForCallback = false; + var labelsInCurrentCommit = new Set(); + + var formatMarkName = function formatMarkName(markName) { + return reactEmoji + " " + markName; + }; + + var formatLabel = function formatLabel(label, warning$$1) { + var prefix = warning$$1 ? warningEmoji + " " : reactEmoji + " "; + var suffix = warning$$1 ? " Warning: " + warning$$1 : ""; + return "" + prefix + label + suffix; + }; + + var beginMark = function beginMark(markName) { + performance.mark(formatMarkName(markName)); + }; + + var clearMark = function clearMark(markName) { + performance.clearMarks(formatMarkName(markName)); + }; + + var endMark = function endMark(label, markName, warning$$1) { + var formattedMarkName = formatMarkName(markName); + var formattedLabel = formatLabel(label, warning$$1); + + try { + performance.measure(formattedLabel, formattedMarkName); + } catch (err) {} + + performance.clearMarks(formattedMarkName); + performance.clearMeasures(formattedLabel); + }; + + var getFiberMarkName = function getFiberMarkName(label, debugID) { + return label + " (#" + debugID + ")"; + }; + + var getFiberLabel = function getFiberLabel(componentName, isMounted, phase) { + if (phase === null) { + return componentName + " [" + (isMounted ? "update" : "mount") + "]"; + } else { + return componentName + "." + phase; + } + }; + + var beginFiberMark = function beginFiberMark(fiber, phase) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + + if (isCommitting && labelsInCurrentCommit.has(label)) { + return false; + } + + labelsInCurrentCommit.add(label); + var markName = getFiberMarkName(label, debugID); + beginMark(markName); + return true; + }; + + var clearFiberMark = function clearFiberMark(fiber, phase) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + clearMark(markName); + }; + + var endFiberMark = function endFiberMark(fiber, phase, warning$$1) { + var componentName = getComponentName(fiber) || "Unknown"; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + endMark(label, markName, warning$$1); + }; + + var shouldIgnoreFiber = function shouldIgnoreFiber(fiber) { + switch (fiber.tag) { + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + case Fragment: + case ContextProvider: + case ContextConsumer: + case Mode: + return true; + + default: + return false; + } + }; + + var clearPendingPhaseMeasurement = function clearPendingPhaseMeasurement() { + if (currentPhase !== null && currentPhaseFiber !== null) { + clearFiberMark(currentPhaseFiber, currentPhase); + } + + currentPhaseFiber = null; + currentPhase = null; + hasScheduledUpdateInCurrentPhase = false; + }; + + var pauseTimers = function pauseTimers() { + var fiber = currentFiber; + + while (fiber) { + if (fiber._debugIsCurrentlyTiming) { + endFiberMark(fiber, null, null); + } + + fiber = fiber.return; + } + }; + + var resumeTimersRecursively = function resumeTimersRecursively(fiber) { + if (fiber.return !== null) { + resumeTimersRecursively(fiber.return); + } + + if (fiber._debugIsCurrentlyTiming) { + beginFiberMark(fiber, null); + } + }; + + var resumeTimers = function resumeTimers() { + if (currentFiber !== null) { + resumeTimersRecursively(currentFiber); + } + }; + + function recordEffect() { + if (enableUserTimingAPI) { + effectCountInCurrentCommit++; + } + } + + function recordScheduleUpdate() { + if (enableUserTimingAPI) { + if (isCommitting) { + hasScheduledUpdateInCurrentCommit = true; + } + + if (currentPhase !== null && currentPhase !== "componentWillMount" && currentPhase !== "componentWillReceiveProps") { + hasScheduledUpdateInCurrentPhase = true; + } + } + } + + function startRequestCallbackTimer() { + if (enableUserTimingAPI) { + if (supportsUserTiming && !isWaitingForCallback) { + isWaitingForCallback = true; + beginMark("(Waiting for async callback...)"); + } + } + } + + function stopRequestCallbackTimer(didExpire, expirationTime) { + if (enableUserTimingAPI) { + if (supportsUserTiming) { + isWaitingForCallback = false; + var warning$$1 = didExpire ? "React was blocked by main thread" : null; + endMark("(Waiting for async callback... will force flush in " + expirationTime + " ms)", "(Waiting for async callback...)", warning$$1); + } + } + } + + function startWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber; + + if (!beginFiberMark(fiber, null)) { + return; + } + + fiber._debugIsCurrentlyTiming = true; + } + } + + function cancelWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + clearFiberMark(fiber, null); + } + } + + function stopWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber.return; + + if (!fiber._debugIsCurrentlyTiming) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + endFiberMark(fiber, null, null); + } + } + + function stopFailedWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + + currentFiber = fiber.return; + + if (!fiber._debugIsCurrentlyTiming) { + return; + } + + fiber._debugIsCurrentlyTiming = false; + var warning$$1 = "An error was thrown inside this error boundary"; + endFiberMark(fiber, null, warning$$1); + } + } + + function startPhaseTimer(fiber, phase) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + clearPendingPhaseMeasurement(); + + if (!beginFiberMark(fiber, phase)) { + return; + } + + currentPhaseFiber = fiber; + currentPhase = phase; + } + } + + function stopPhaseTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + if (currentPhase !== null && currentPhaseFiber !== null) { + var warning$$1 = hasScheduledUpdateInCurrentPhase ? "Scheduled a cascading update" : null; + endFiberMark(currentPhaseFiber, currentPhase, warning$$1); + } + + currentPhase = null; + currentPhaseFiber = null; + } + } + + function startWorkLoopTimer(nextUnitOfWork) { + if (enableUserTimingAPI) { + currentFiber = nextUnitOfWork; + + if (!supportsUserTiming) { + return; + } + + commitCountInCurrentWorkLoop = 0; + beginMark("(React Tree Reconciliation)"); + resumeTimers(); + } + } + + function stopWorkLoopTimer(interruptedBy, didCompleteRoot) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var warning$$1 = null; + + if (interruptedBy !== null) { + if (interruptedBy.tag === HostRoot) { + warning$$1 = "A top-level update interrupted the previous render"; + } else { + var componentName = getComponentName(interruptedBy) || "Unknown"; + warning$$1 = "An update to " + componentName + " interrupted the previous render"; + } + } else if (commitCountInCurrentWorkLoop > 1) { + warning$$1 = "There were cascading updates"; + } + + commitCountInCurrentWorkLoop = 0; + var label = didCompleteRoot ? "(React Tree Reconciliation: Completed Root)" : "(React Tree Reconciliation: Yielded)"; + pauseTimers(); + endMark(label, "(React Tree Reconciliation)", warning$$1); + } + } + + function startCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + isCommitting = true; + hasScheduledUpdateInCurrentCommit = false; + labelsInCurrentCommit.clear(); + beginMark("(Committing Changes)"); + } + } + + function stopCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var warning$$1 = null; + + if (hasScheduledUpdateInCurrentCommit) { + warning$$1 = "Lifecycle hook scheduled a cascading update"; + } else if (commitCountInCurrentWorkLoop > 0) { + warning$$1 = "Caused by a cascading update in earlier commit"; + } + + hasScheduledUpdateInCurrentCommit = false; + commitCountInCurrentWorkLoop++; + isCommitting = false; + labelsInCurrentCommit.clear(); + endMark("(Committing Changes)", "(Committing Changes)", warning$$1); + } + } + + function startCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Committing Snapshot Effects)"); + } + } + + function stopCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Committing Snapshot Effects: " + count + " Total)", "(Committing Snapshot Effects)", null); + } + } + + function startCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Committing Host Effects)"); + } + } + + function stopCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Committing Host Effects: " + count + " Total)", "(Committing Host Effects)", null); + } + } + + function startCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + effectCountInCurrentCommit = 0; + beginMark("(Calling Lifecycle Methods)"); + } + } + + function stopCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark("(Calling Lifecycle Methods: " + count + " Total)", "(Calling Lifecycle Methods)", null); + } + } + + var valueStack = []; + var fiberStack = void 0; + { + fiberStack = []; + } + var index = -1; + + function createCursor(defaultValue) { + return { + current: defaultValue + }; + } + + function pop(cursor, fiber) { + if (index < 0) { + { + warning(false, "Unexpected pop."); + } + return; + } + + { + if (fiber !== fiberStack[index]) { + warning(false, "Unexpected Fiber popped."); + } + } + cursor.current = valueStack[index]; + valueStack[index] = null; + { + fiberStack[index] = null; + } + index--; + } + + function push(cursor, value, fiber) { + index++; + valueStack[index] = cursor.current; + { + fiberStack[index] = fiber; + } + cursor.current = value; + } + + function checkThatStackIsEmpty() { + { + if (index !== -1) { + warning(false, "Expected an empty stack. Something was not reset properly."); + } + } + } + + function resetStackAfterFatalErrorInDev() { + { + index = -1; + valueStack.length = 0; + fiberStack.length = 0; + } + } + + var warnedAboutMissingGetChildContext = void 0; + { + warnedAboutMissingGetChildContext = {}; + } + var contextStackCursor = createCursor(emptyObject); + var didPerformWorkStackCursor = createCursor(false); + var previousContext = emptyObject; + + function getUnmaskedContext(workInProgress) { + var hasOwnContext = isContextProvider(workInProgress); + + if (hasOwnContext) { + return previousContext; + } + + return contextStackCursor.current; + } + + function cacheContext(workInProgress, unmaskedContext, maskedContext) { + var instance = workInProgress.stateNode; + instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; + instance.__reactInternalMemoizedMaskedChildContext = maskedContext; + } + + function getMaskedContext(workInProgress, unmaskedContext) { + var type = workInProgress.type; + var contextTypes = type.contextTypes; + + if (!contextTypes) { + return emptyObject; + } + + var instance = workInProgress.stateNode; + + if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) { + return instance.__reactInternalMemoizedMaskedChildContext; + } + + var context = {}; + + for (var key in contextTypes) { + context[key] = unmaskedContext[key]; + } + + { + var name = getComponentName(workInProgress) || "Unknown"; + checkPropTypes(contextTypes, context, "context", name, ReactDebugCurrentFiber.getCurrentFiberStackAddendum); + } + + if (instance) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return context; + } + + function hasContextChanged() { + return didPerformWorkStackCursor.current; + } + + function isContextConsumer(fiber) { + return fiber.tag === ClassComponent && fiber.type.contextTypes != null; + } + + function isContextProvider(fiber) { + return fiber.tag === ClassComponent && fiber.type.childContextTypes != null; + } + + function popContextProvider(fiber) { + if (!isContextProvider(fiber)) { + return; + } + + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function popTopLevelContextObject(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function pushTopLevelContextObject(fiber, context, didChange) { + invariant(contextStackCursor.current === emptyObject, "Unexpected context found on stack. " + "This error is likely caused by a bug in React. Please file an issue."); + push(contextStackCursor, context, fiber); + push(didPerformWorkStackCursor, didChange, fiber); + } + + function processChildContext(fiber, parentContext) { + var instance = fiber.stateNode; + var childContextTypes = fiber.type.childContextTypes; + + if (typeof instance.getChildContext !== "function") { + { + var componentName = getComponentName(fiber) || "Unknown"; + + if (!warnedAboutMissingGetChildContext[componentName]) { + warnedAboutMissingGetChildContext[componentName] = true; + warning(false, "%s.childContextTypes is specified but there is no getChildContext() method " + "on the instance. You can either define getChildContext() on %s or remove " + "childContextTypes from it.", componentName, componentName); + } + } + return parentContext; + } + + var childContext = void 0; + { + ReactDebugCurrentFiber.setCurrentPhase("getChildContext"); + } + startPhaseTimer(fiber, "getChildContext"); + childContext = instance.getChildContext(); + stopPhaseTimer(); + { + ReactDebugCurrentFiber.setCurrentPhase(null); + } + + for (var contextKey in childContext) { + invariant(contextKey in childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', getComponentName(fiber) || "Unknown", contextKey); + } + + { + var name = getComponentName(fiber) || "Unknown"; + checkPropTypes(childContextTypes, childContext, "child context", name, ReactDebugCurrentFiber.getCurrentFiberStackAddendum); + } + return _extends({}, parentContext, childContext); + } + + function pushContextProvider(workInProgress) { + if (!isContextProvider(workInProgress)) { + return false; + } + + var instance = workInProgress.stateNode; + var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyObject; + previousContext = contextStackCursor.current; + push(contextStackCursor, memoizedMergedChildContext, workInProgress); + push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); + return true; + } + + function invalidateContextProvider(workInProgress, didChange) { + var instance = workInProgress.stateNode; + invariant(instance, "Expected to have an instance by this point. " + "This error is likely caused by a bug in React. Please file an issue."); + + if (didChange) { + var mergedContext = processChildContext(workInProgress, previousContext); + instance.__reactInternalMemoizedMergedChildContext = mergedContext; + pop(didPerformWorkStackCursor, workInProgress); + pop(contextStackCursor, workInProgress); + push(contextStackCursor, mergedContext, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } else { + pop(didPerformWorkStackCursor, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } + } + + function findCurrentUnmaskedContext(fiber) { + invariant(isFiberMounted(fiber) && fiber.tag === ClassComponent, "Expected subtree parent to be a mounted class component. " + "This error is likely caused by a bug in React. Please file an issue."); + var node = fiber; + + while (node.tag !== HostRoot) { + if (isContextProvider(node)) { + return node.stateNode.__reactInternalMemoizedMergedChildContext; + } + + var parent = node.return; + invariant(parent, "Found unexpected detached subtree parent. " + "This error is likely caused by a bug in React. Please file an issue."); + node = parent; + } + + return node.stateNode.context; + } + + var MAX_SIGNED_31_BIT_INT = 1073741823; + var NoWork = 0; + var Sync = 1; + var Never = MAX_SIGNED_31_BIT_INT; + var UNIT_SIZE = 10; + var MAGIC_NUMBER_OFFSET = 2; + + function msToExpirationTime(ms) { + return (ms / UNIT_SIZE | 0) + MAGIC_NUMBER_OFFSET; + } + + function expirationTimeToMs(expirationTime) { + return (expirationTime - MAGIC_NUMBER_OFFSET) * UNIT_SIZE; + } + + function ceiling(num, precision) { + return ((num / precision | 0) + 1) * precision; + } + + function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) { + return MAGIC_NUMBER_OFFSET + ceiling(currentTime - MAGIC_NUMBER_OFFSET + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE); + } + + var NoContext = 0; + var AsyncMode = 1; + var StrictMode = 2; + var ProfileMode = 4; + var hasBadMapPolyfill = void 0; + { + hasBadMapPolyfill = false; + + try { + var nonExtensibleObject = Object.preventExtensions({}); + var testMap = new Map([[nonExtensibleObject, null]]); + var testSet = new Set([nonExtensibleObject]); + testMap.set(0, 0); + testSet.add(0); + } catch (e) { + hasBadMapPolyfill = true; + } + } + var debugCounter = void 0; + { + debugCounter = 1; + } + + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.type = null; + this.stateNode = null; + this.return = null; + this.child = null; + this.sibling = null; + this.index = 0; + this.ref = null; + this.pendingProps = pendingProps; + this.memoizedProps = null; + this.updateQueue = null; + this.memoizedState = null; + this.mode = mode; + this.effectTag = NoEffect; + this.nextEffect = null; + this.firstEffect = null; + this.lastEffect = null; + this.expirationTime = NoWork; + this.alternate = null; + + if (enableProfilerTimer) { + this.actualDuration = 0; + this.actualStartTime = 0; + this.selfBaseTime = 0; + this.treeBaseTime = 0; + } + + { + this._debugID = debugCounter++; + this._debugSource = null; + this._debugOwner = null; + this._debugIsCurrentlyTiming = false; + + if (!hasBadMapPolyfill && typeof Object.preventExtensions === "function") { + Object.preventExtensions(this); + } + } + } + + var createFiber = function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + }; + + function shouldConstruct(Component) { + return !!(Component.prototype && Component.prototype.isReactComponent); + } + + function createWorkInProgress(current, pendingProps, expirationTime) { + var workInProgress = current.alternate; + + if (workInProgress === null) { + workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode); + workInProgress.type = current.type; + workInProgress.stateNode = current.stateNode; + { + workInProgress._debugID = current._debugID; + workInProgress._debugSource = current._debugSource; + workInProgress._debugOwner = current._debugOwner; + } + workInProgress.alternate = current; + current.alternate = workInProgress; + } else { + workInProgress.pendingProps = pendingProps; + workInProgress.effectTag = NoEffect; + workInProgress.nextEffect = null; + workInProgress.firstEffect = null; + workInProgress.lastEffect = null; + + if (enableProfilerTimer) { + workInProgress.actualDuration = 0; + workInProgress.actualStartTime = 0; + } + } + + workInProgress.expirationTime = expirationTime; + workInProgress.child = current.child; + workInProgress.memoizedProps = current.memoizedProps; + workInProgress.memoizedState = current.memoizedState; + workInProgress.updateQueue = current.updateQueue; + workInProgress.sibling = current.sibling; + workInProgress.index = current.index; + workInProgress.ref = current.ref; + + if (enableProfilerTimer) { + workInProgress.selfBaseTime = current.selfBaseTime; + workInProgress.treeBaseTime = current.treeBaseTime; + } + + return workInProgress; + } + + function createHostRootFiber(isAsync) { + var mode = isAsync ? AsyncMode | StrictMode : NoContext; + return createFiber(HostRoot, null, null, mode); + } + + function createFiberFromElement(element, mode, expirationTime) { + var owner = null; + { + owner = element._owner; + } + var fiber = void 0; + var type = element.type; + var key = element.key; + var pendingProps = element.props; + var fiberTag = void 0; + + if (typeof type === "function") { + fiberTag = shouldConstruct(type) ? ClassComponent : IndeterminateComponent; + } else if (typeof type === "string") { + fiberTag = HostComponent; + } else { + switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment(pendingProps.children, mode, expirationTime, key); + + case REACT_ASYNC_MODE_TYPE: + fiberTag = Mode; + mode |= AsyncMode | StrictMode; + break; + + case REACT_STRICT_MODE_TYPE: + fiberTag = Mode; + mode |= StrictMode; + break; + + case REACT_PROFILER_TYPE: + return createFiberFromProfiler(pendingProps, mode, expirationTime, key); + + case REACT_TIMEOUT_TYPE: + fiberTag = TimeoutComponent; + mode |= StrictMode; + break; + + default: + fiberTag = getFiberTagFromObjectType(type, owner); + break; + } + } + + fiber = createFiber(fiberTag, pendingProps, key, mode); + fiber.type = type; + fiber.expirationTime = expirationTime; + { + fiber._debugSource = element._source; + fiber._debugOwner = element._owner; + } + return fiber; + } + + function getFiberTagFromObjectType(type, owner) { + var $$typeof = typeof type === "object" && type !== null ? type.$$typeof : null; + + switch ($$typeof) { + case REACT_PROVIDER_TYPE: + return ContextProvider; + + case REACT_CONTEXT_TYPE: + return ContextConsumer; + + case REACT_FORWARD_REF_TYPE: + return ForwardRef; + + default: + { + var info = ""; + { + if (type === undefined || typeof type === "object" && type !== null && Object.keys(type).length === 0) { + info += " You likely forgot to export your component from the file " + "it's defined in, or you might have mixed up default and " + "named imports."; + } + + var ownerName = owner ? getComponentName(owner) : null; + + if (ownerName) { + info += "\n\nCheck the render method of `" + ownerName + "`."; + } + } + invariant(false, "Element type is invalid: expected a string (for built-in " + "components) or a class/function (for composite components) " + "but got: %s.%s", type == null ? type : typeof type, info); + } + } + } + + function createFiberFromFragment(elements, mode, expirationTime, key) { + var fiber = createFiber(Fragment, elements, key, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromProfiler(pendingProps, mode, expirationTime, key) { + { + if (typeof pendingProps.id !== "string" || typeof pendingProps.onRender !== "function") { + invariant(false, 'Profiler must specify an "id" string and "onRender" function as props'); + } + } + var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); + fiber.type = REACT_PROFILER_TYPE; + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromText(content, mode, expirationTime) { + var fiber = createFiber(HostText, content, null, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromHostInstanceForDeletion() { + var fiber = createFiber(HostComponent, null, null, NoContext); + fiber.type = "DELETED"; + return fiber; + } + + function createFiberFromPortal(portal, mode, expirationTime) { + var pendingProps = portal.children !== null ? portal.children : []; + var fiber = createFiber(HostPortal, pendingProps, portal.key, mode); + fiber.expirationTime = expirationTime; + fiber.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return fiber; + } + + function assignFiberPropertiesInDEV(target, source) { + if (target === null) { + target = createFiber(IndeterminateComponent, null, null, NoContext); + } + + target.tag = source.tag; + target.key = source.key; + target.type = source.type; + target.stateNode = source.stateNode; + target.return = source.return; + target.child = source.child; + target.sibling = source.sibling; + target.index = source.index; + target.ref = source.ref; + target.pendingProps = source.pendingProps; + target.memoizedProps = source.memoizedProps; + target.updateQueue = source.updateQueue; + target.memoizedState = source.memoizedState; + target.mode = source.mode; + target.effectTag = source.effectTag; + target.nextEffect = source.nextEffect; + target.firstEffect = source.firstEffect; + target.lastEffect = source.lastEffect; + target.expirationTime = source.expirationTime; + target.alternate = source.alternate; + + if (enableProfilerTimer) { + target.actualDuration = source.actualDuration; + target.actualStartTime = source.actualStartTime; + target.selfBaseTime = source.selfBaseTime; + target.treeBaseTime = source.treeBaseTime; + } + + target._debugID = source._debugID; + target._debugSource = source._debugSource; + target._debugOwner = source._debugOwner; + target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; + return target; + } + + function createFiberRoot(containerInfo, isAsync, hydrate) { + var uninitializedFiber = createHostRootFiber(isAsync); + var root = { + current: uninitializedFiber, + containerInfo: containerInfo, + pendingChildren: null, + earliestPendingTime: NoWork, + latestPendingTime: NoWork, + earliestSuspendedTime: NoWork, + latestSuspendedTime: NoWork, + latestPingedTime: NoWork, + didError: false, + pendingCommitExpirationTime: NoWork, + finishedWork: null, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: NoWork, + expirationTime: NoWork, + firstBatch: null, + nextScheduledRoot: null + }; + uninitializedFiber.stateNode = root; + return root; + } + + var onCommitFiberRoot = null; + var onCommitFiberUnmount = null; + var hasLoggedError = false; + + function catchErrors(fn) { + return function (arg) { + try { + return fn(arg); + } catch (err) { + if (true && !hasLoggedError) { + hasLoggedError = true; + warning(false, "React DevTools encountered an error: %s", err); + } + } + }; + } + + function injectInternals(internals) { + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined") { + return false; + } + + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + + if (hook.isDisabled) { + return true; + } + + if (!hook.supportsFiber) { + { + warning(false, "The installed version of React DevTools is too old and will not work " + "with the current version of React. Please update React DevTools. " + "https://fb.me/react-devtools"); + } + return true; + } + + try { + var rendererID = hook.inject(internals); + onCommitFiberRoot = catchErrors(function (root) { + return hook.onCommitFiberRoot(rendererID, root); + }); + onCommitFiberUnmount = catchErrors(function (fiber) { + return hook.onCommitFiberUnmount(rendererID, fiber); + }); + } catch (err) { + { + warning(false, "React DevTools encountered an error: %s.", err); + } + } + + return true; + } + + function onCommitRoot(root) { + if (typeof onCommitFiberRoot === "function") { + onCommitFiberRoot(root); + } + } + + function onCommitUnmount(fiber) { + if (typeof onCommitFiberUnmount === "function") { + onCommitFiberUnmount(fiber); + } + } + + var lowPriorityWarning = function lowPriorityWarning() {}; + + { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = "Warning: " + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== "undefined") { + console.warn(message); + } + + try { + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarning = function lowPriorityWarning(condition, format) { + if (format === undefined) { + throw new Error("`warning(condition, format, ...args)` requires a warning " + "message argument"); + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + var lowPriorityWarning$1 = lowPriorityWarning; + var ReactStrictModeWarnings = { + discardPendingWarnings: function discardPendingWarnings() {}, + flushPendingDeprecationWarnings: function flushPendingDeprecationWarnings() {}, + flushPendingUnsafeLifecycleWarnings: function flushPendingUnsafeLifecycleWarnings() {}, + recordDeprecationWarnings: function recordDeprecationWarnings(fiber, instance) {}, + recordUnsafeLifecycleWarnings: function recordUnsafeLifecycleWarnings(fiber, instance) {}, + recordLegacyContextWarning: function recordLegacyContextWarning(fiber, instance) {}, + flushLegacyContextWarning: function flushLegacyContextWarning() {} + }; + { + var LIFECYCLE_SUGGESTIONS = { + UNSAFE_componentWillMount: "componentDidMount", + UNSAFE_componentWillReceiveProps: "static getDerivedStateFromProps", + UNSAFE_componentWillUpdate: "componentDidUpdate" + }; + var pendingComponentWillMountWarnings = []; + var pendingComponentWillReceivePropsWarnings = []; + var pendingComponentWillUpdateWarnings = []; + var pendingUnsafeLifecycleWarnings = new Map(); + var pendingLegacyContextWarning = new Map(); + var didWarnAboutDeprecatedLifecycles = new Set(); + var didWarnAboutUnsafeLifecycles = new Set(); + var didWarnAboutLegacyContext = new Set(); + + var setToSortedString = function setToSortedString(set) { + var array = []; + set.forEach(function (value) { + array.push(value); + }); + return array.sort().join(", "); + }; + + ReactStrictModeWarnings.discardPendingWarnings = function () { + pendingComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUnsafeLifecycleWarnings = new Map(); + pendingLegacyContextWarning = new Map(); + }; + + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () { + pendingUnsafeLifecycleWarnings.forEach(function (lifecycleWarningsMap, strictRoot) { + var lifecyclesWarningMesages = []; + Object.keys(lifecycleWarningsMap).forEach(function (lifecycle) { + var lifecycleWarnings = lifecycleWarningsMap[lifecycle]; + + if (lifecycleWarnings.length > 0) { + var componentNames = new Set(); + lifecycleWarnings.forEach(function (fiber) { + componentNames.add(getComponentName(fiber) || "Component"); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }); + var formatted = lifecycle.replace("UNSAFE_", ""); + var suggestion = LIFECYCLE_SUGGESTIONS[lifecycle]; + var sortedComponentNames = setToSortedString(componentNames); + lifecyclesWarningMesages.push(formatted + ": Please update the following components to use " + (suggestion + " instead: " + sortedComponentNames)); + } + }); + + if (lifecyclesWarningMesages.length > 0) { + var strictRootComponentStack = getStackAddendumByWorkInProgressFiber(strictRoot); + warning(false, "Unsafe lifecycle methods were found within a strict-mode tree:%s" + "\n\n%s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-strict-mode-warnings", strictRootComponentStack, lifecyclesWarningMesages.join("\n\n")); + } + }); + pendingUnsafeLifecycleWarnings = new Map(); + }; + + var findStrictRoot = function findStrictRoot(fiber) { + var maybeStrictRoot = null; + var node = fiber; + + while (node !== null) { + if (node.mode & StrictMode) { + maybeStrictRoot = node; + } + + node = node.return; + } + + return maybeStrictRoot; + }; + + ReactStrictModeWarnings.flushPendingDeprecationWarnings = function () { + if (pendingComponentWillMountWarnings.length > 0) { + var uniqueNames = new Set(); + pendingComponentWillMountWarnings.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber) || "Component"); + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + lowPriorityWarning$1(false, "componentWillMount is deprecated and will be removed in the next major version. " + "Use componentDidMount instead. As a temporary workaround, " + "you can rename to UNSAFE_componentWillMount." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", sortedNames); + pendingComponentWillMountWarnings = []; + } + + if (pendingComponentWillReceivePropsWarnings.length > 0) { + var _uniqueNames = new Set(); + + pendingComponentWillReceivePropsWarnings.forEach(function (fiber) { + _uniqueNames.add(getComponentName(fiber) || "Component"); + + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames = setToSortedString(_uniqueNames); + + lowPriorityWarning$1(false, "componentWillReceiveProps is deprecated and will be removed in the next major version. " + "Use static getDerivedStateFromProps instead." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", _sortedNames); + pendingComponentWillReceivePropsWarnings = []; + } + + if (pendingComponentWillUpdateWarnings.length > 0) { + var _uniqueNames2 = new Set(); + + pendingComponentWillUpdateWarnings.forEach(function (fiber) { + _uniqueNames2.add(getComponentName(fiber) || "Component"); + + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames2 = setToSortedString(_uniqueNames2); + + lowPriorityWarning$1(false, "componentWillUpdate is deprecated and will be removed in the next major version. " + "Use componentDidUpdate instead. As a temporary workaround, " + "you can rename to UNSAFE_componentWillUpdate." + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-async-component-lifecycle-hooks", _sortedNames2); + pendingComponentWillUpdateWarnings = []; + } + }; + + ReactStrictModeWarnings.recordDeprecationWarnings = function (fiber, instance) { + if (didWarnAboutDeprecatedLifecycles.has(fiber.type)) { + return; + } + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) { + pendingComponentWillMountWarnings.push(fiber); + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + pendingComponentWillReceivePropsWarnings.push(fiber); + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + pendingComponentWillUpdateWarnings.push(fiber); + } + }; + + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + + if (strictRoot === null) { + warning(false, "Expected to find a StrictMode component in a strict mode tree. " + "This error is likely caused by a bug in React. Please file an issue."); + return; + } + + if (didWarnAboutUnsafeLifecycles.has(fiber.type)) { + return; + } + + var warningsForRoot = void 0; + + if (!pendingUnsafeLifecycleWarnings.has(strictRoot)) { + warningsForRoot = { + UNSAFE_componentWillMount: [], + UNSAFE_componentWillReceiveProps: [], + UNSAFE_componentWillUpdate: [] + }; + pendingUnsafeLifecycleWarnings.set(strictRoot, warningsForRoot); + } else { + warningsForRoot = pendingUnsafeLifecycleWarnings.get(strictRoot); + } + + var unsafeLifecycles = []; + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillMount === "function") { + unsafeLifecycles.push("UNSAFE_componentWillMount"); + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillReceiveProps === "function") { + unsafeLifecycles.push("UNSAFE_componentWillReceiveProps"); + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillUpdate === "function") { + unsafeLifecycles.push("UNSAFE_componentWillUpdate"); + } + + if (unsafeLifecycles.length > 0) { + unsafeLifecycles.forEach(function (lifecycle) { + warningsForRoot[lifecycle].push(fiber); + }); + } + }; + + ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + + if (strictRoot === null) { + warning(false, "Expected to find a StrictMode component in a strict mode tree. " + "This error is likely caused by a bug in React. Please file an issue."); + return; + } + + if (didWarnAboutLegacyContext.has(fiber.type)) { + return; + } + + var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); + + if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === "function") { + if (warningsForRoot === undefined) { + warningsForRoot = []; + pendingLegacyContextWarning.set(strictRoot, warningsForRoot); + } + + warningsForRoot.push(fiber); + } + }; + + ReactStrictModeWarnings.flushLegacyContextWarning = function () { + pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) { + var uniqueNames = new Set(); + fiberArray.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + var strictRootComponentStack = getStackAddendumByWorkInProgressFiber(strictRoot); + warning(false, "Legacy context API has been detected within a strict-mode tree: %s" + "\n\nPlease update the following components: %s" + "\n\nLearn more about this warning here:" + "\nhttps://fb.me/react-strict-mode-warnings", strictRootComponentStack, sortedNames); + }); + }; + } + var ReactFiberInstrumentation = { + debugTool: null + }; + var ReactFiberInstrumentation_1 = ReactFiberInstrumentation; + + function markPendingPriorityLevel(root, expirationTime) { + root.didError = false; + var earliestPendingTime = root.earliestPendingTime; + + if (earliestPendingTime === NoWork) { + root.earliestPendingTime = root.latestPendingTime = expirationTime; + } else { + if (earliestPendingTime > expirationTime) { + root.earliestPendingTime = expirationTime; + } else { + var latestPendingTime = root.latestPendingTime; + + if (latestPendingTime < expirationTime) { + root.latestPendingTime = expirationTime; + } + } + } + + findNextPendingPriorityLevel(root); + } + + function markCommittedPriorityLevels(root, currentTime, earliestRemainingTime) { + root.didError = false; + + if (earliestRemainingTime === NoWork) { + root.earliestPendingTime = NoWork; + root.latestPendingTime = NoWork; + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + findNextPendingPriorityLevel(root); + return; + } + + var latestPendingTime = root.latestPendingTime; + + if (latestPendingTime !== NoWork) { + if (latestPendingTime < earliestRemainingTime) { + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + var earliestPendingTime = root.earliestPendingTime; + + if (earliestPendingTime < earliestRemainingTime) { + root.earliestPendingTime = root.latestPendingTime; + } + } + } + + var earliestSuspendedTime = root.earliestSuspendedTime; + + if (earliestSuspendedTime === NoWork) { + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + var latestSuspendedTime = root.latestSuspendedTime; + + if (earliestRemainingTime > latestSuspendedTime) { + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + if (earliestRemainingTime < earliestSuspendedTime) { + markPendingPriorityLevel(root, earliestRemainingTime); + findNextPendingPriorityLevel(root); + return; + } + + findNextPendingPriorityLevel(root); + } + + function hasLowerPriorityWork(root, renderExpirationTime) { + return renderExpirationTime !== root.latestPendingTime && renderExpirationTime !== root.latestSuspendedTime; + } + + function markSuspendedPriorityLevel(root, suspendedTime, didError) { + if (didError && !hasLowerPriorityWork(root, suspendedTime)) { + root.didError = true; + findNextPendingPriorityLevel(root); + return; + } + + var earliestPendingTime = root.earliestPendingTime; + var latestPendingTime = root.latestPendingTime; + + if (earliestPendingTime === suspendedTime) { + if (latestPendingTime === suspendedTime) { + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + root.earliestPendingTime = latestPendingTime; + } + } else if (latestPendingTime === suspendedTime) { + root.latestPendingTime = earliestPendingTime; + } + + var latestSuspendedTime = root.latestSuspendedTime; + + if (latestSuspendedTime === suspendedTime) { + root.latestPingedTime = NoWork; + } + + var earliestSuspendedTime = root.earliestSuspendedTime; + + if (earliestSuspendedTime === NoWork) { + root.earliestSuspendedTime = root.latestSuspendedTime = suspendedTime; + } else { + if (earliestSuspendedTime > suspendedTime) { + root.earliestSuspendedTime = suspendedTime; + } else if (latestSuspendedTime < suspendedTime) { + root.latestSuspendedTime = suspendedTime; + } + } + + findNextPendingPriorityLevel(root); + } + + function markPingedPriorityLevel(root, pingedTime) { + var latestSuspendedTime = root.latestSuspendedTime; + + if (latestSuspendedTime !== NoWork && latestSuspendedTime <= pingedTime) { + var latestPingedTime = root.latestPingedTime; + + if (latestPingedTime === NoWork || latestPingedTime < pingedTime) { + root.latestPingedTime = pingedTime; + } + } + + findNextPendingPriorityLevel(root); + } + + function findNextPendingPriorityLevel(root) { + var earliestSuspendedTime = root.earliestSuspendedTime; + var earliestPendingTime = root.earliestPendingTime; + var nextExpirationTimeToWorkOn = void 0; + var expirationTime = void 0; + + if (earliestSuspendedTime === NoWork) { + nextExpirationTimeToWorkOn = expirationTime = earliestPendingTime; + } else if (earliestPendingTime !== NoWork) { + nextExpirationTimeToWorkOn = earliestPendingTime; + expirationTime = earliestSuspendedTime < earliestPendingTime ? earliestSuspendedTime : earliestPendingTime; + } else { + nextExpirationTimeToWorkOn = expirationTime = root.latestPingedTime; + } + + if (root.didError) { + expirationTime = Sync; + } + + root.nextExpirationTimeToWorkOn = nextExpirationTimeToWorkOn; + root.expirationTime = expirationTime; + } + + var UpdateState = 0; + var ReplaceState = 1; + var ForceUpdate = 2; + var CaptureUpdate = 3; + var hasForceUpdate = false; + var didWarnUpdateInsideUpdate = void 0; + var currentlyProcessingQueue = void 0; + var resetCurrentlyProcessingQueue = void 0; + { + didWarnUpdateInsideUpdate = false; + currentlyProcessingQueue = null; + + resetCurrentlyProcessingQueue = function resetCurrentlyProcessingQueue() { + currentlyProcessingQueue = null; + }; + } + + function createUpdateQueue(baseState) { + var queue = { + expirationTime: NoWork, + baseState: baseState, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function cloneUpdateQueue(currentQueue) { + var queue = { + expirationTime: currentQueue.expirationTime, + baseState: currentQueue.baseState, + firstUpdate: currentQueue.firstUpdate, + lastUpdate: currentQueue.lastUpdate, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function createUpdate(expirationTime) { + return { + expirationTime: expirationTime, + tag: UpdateState, + payload: null, + callback: null, + next: null, + nextEffect: null + }; + } + + function appendUpdateToQueue(queue, update, expirationTime) { + if (queue.lastUpdate === null) { + queue.firstUpdate = queue.lastUpdate = update; + } else { + queue.lastUpdate.next = update; + queue.lastUpdate = update; + } + + if (queue.expirationTime === NoWork || queue.expirationTime > expirationTime) { + queue.expirationTime = expirationTime; + } + } + + function enqueueUpdate(fiber, update, expirationTime) { + var alternate = fiber.alternate; + var queue1 = void 0; + var queue2 = void 0; + + if (alternate === null) { + queue1 = fiber.updateQueue; + queue2 = null; + + if (queue1 === null) { + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + } + } else { + queue1 = fiber.updateQueue; + queue2 = alternate.updateQueue; + + if (queue1 === null) { + if (queue2 === null) { + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + queue2 = alternate.updateQueue = createUpdateQueue(alternate.memoizedState); + } else { + queue1 = fiber.updateQueue = cloneUpdateQueue(queue2); + } + } else { + if (queue2 === null) { + queue2 = alternate.updateQueue = cloneUpdateQueue(queue1); + } else {} + } + } + + if (queue2 === null || queue1 === queue2) { + appendUpdateToQueue(queue1, update, expirationTime); + } else { + if (queue1.lastUpdate === null || queue2.lastUpdate === null) { + appendUpdateToQueue(queue1, update, expirationTime); + appendUpdateToQueue(queue2, update, expirationTime); + } else { + appendUpdateToQueue(queue1, update, expirationTime); + queue2.lastUpdate = update; + } + } + + { + if (fiber.tag === ClassComponent && (currentlyProcessingQueue === queue1 || queue2 !== null && currentlyProcessingQueue === queue2) && !didWarnUpdateInsideUpdate) { + warning(false, "An update (setState, replaceState, or forceUpdate) was scheduled " + "from inside an update function. Update functions should be pure, " + "with zero side-effects. Consider using componentDidUpdate or a " + "callback."); + didWarnUpdateInsideUpdate = true; + } + } + } + + function enqueueCapturedUpdate(workInProgress, update, renderExpirationTime) { + var workInProgressQueue = workInProgress.updateQueue; + + if (workInProgressQueue === null) { + workInProgressQueue = workInProgress.updateQueue = createUpdateQueue(workInProgress.memoizedState); + } else { + workInProgressQueue = ensureWorkInProgressQueueIsAClone(workInProgress, workInProgressQueue); + } + + if (workInProgressQueue.lastCapturedUpdate === null) { + workInProgressQueue.firstCapturedUpdate = workInProgressQueue.lastCapturedUpdate = update; + } else { + workInProgressQueue.lastCapturedUpdate.next = update; + workInProgressQueue.lastCapturedUpdate = update; + } + + if (workInProgressQueue.expirationTime === NoWork || workInProgressQueue.expirationTime > renderExpirationTime) { + workInProgressQueue.expirationTime = renderExpirationTime; + } + } + + function ensureWorkInProgressQueueIsAClone(workInProgress, queue) { + var current = workInProgress.alternate; + + if (current !== null) { + if (queue === current.updateQueue) { + queue = workInProgress.updateQueue = cloneUpdateQueue(queue); + } + } + + return queue; + } + + function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { + switch (update.tag) { + case ReplaceState: + { + var _payload = update.payload; + + if (typeof _payload === "function") { + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload.call(instance, prevState, nextProps); + } + } + return _payload.call(instance, prevState, nextProps); + } + + return _payload; + } + + case CaptureUpdate: + { + workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture; + } + + case UpdateState: + { + var _payload2 = update.payload; + var partialState = void 0; + + if (typeof _payload2 === "function") { + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload2.call(instance, prevState, nextProps); + } + } + partialState = _payload2.call(instance, prevState, nextProps); + } else { + partialState = _payload2; + } + + if (partialState === null || partialState === undefined) { + return prevState; + } + + return _extends({}, prevState, partialState); + } + + case ForceUpdate: + { + hasForceUpdate = true; + return prevState; + } + } + + return prevState; + } + + function processUpdateQueue(workInProgress, queue, props, instance, renderExpirationTime) { + hasForceUpdate = false; + + if (queue.expirationTime === NoWork || queue.expirationTime > renderExpirationTime) { + return; + } + + queue = ensureWorkInProgressQueueIsAClone(workInProgress, queue); + { + currentlyProcessingQueue = queue; + } + var newBaseState = queue.baseState; + var newFirstUpdate = null; + var newExpirationTime = NoWork; + var update = queue.firstUpdate; + var resultState = newBaseState; + + while (update !== null) { + var updateExpirationTime = update.expirationTime; + + if (updateExpirationTime > renderExpirationTime) { + if (newFirstUpdate === null) { + newFirstUpdate = update; + newBaseState = resultState; + } + + if (newExpirationTime === NoWork || newExpirationTime > updateExpirationTime) { + newExpirationTime = updateExpirationTime; + } + } else { + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback = update.callback; + + if (_callback !== null) { + workInProgress.effectTag |= Callback; + update.nextEffect = null; + + if (queue.lastEffect === null) { + queue.firstEffect = queue.lastEffect = update; + } else { + queue.lastEffect.nextEffect = update; + queue.lastEffect = update; + } + } + } + + update = update.next; + } + + var newFirstCapturedUpdate = null; + update = queue.firstCapturedUpdate; + + while (update !== null) { + var _updateExpirationTime = update.expirationTime; + + if (_updateExpirationTime > renderExpirationTime) { + if (newFirstCapturedUpdate === null) { + newFirstCapturedUpdate = update; + + if (newFirstUpdate === null) { + newBaseState = resultState; + } + } + + if (newExpirationTime === NoWork || newExpirationTime > _updateExpirationTime) { + newExpirationTime = _updateExpirationTime; + } + } else { + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback2 = update.callback; + + if (_callback2 !== null) { + workInProgress.effectTag |= Callback; + update.nextEffect = null; + + if (queue.lastCapturedEffect === null) { + queue.firstCapturedEffect = queue.lastCapturedEffect = update; + } else { + queue.lastCapturedEffect.nextEffect = update; + queue.lastCapturedEffect = update; + } + } + } + + update = update.next; + } + + if (newFirstUpdate === null) { + queue.lastUpdate = null; + } + + if (newFirstCapturedUpdate === null) { + queue.lastCapturedUpdate = null; + } else { + workInProgress.effectTag |= Callback; + } + + if (newFirstUpdate === null && newFirstCapturedUpdate === null) { + newBaseState = resultState; + } + + queue.baseState = newBaseState; + queue.firstUpdate = newFirstUpdate; + queue.firstCapturedUpdate = newFirstCapturedUpdate; + queue.expirationTime = newExpirationTime; + workInProgress.memoizedState = resultState; + { + currentlyProcessingQueue = null; + } + } + + function callCallback(callback, context) { + invariant(typeof callback === "function", "Invalid argument passed as callback. Expected a function. Instead " + "received: %s", callback); + callback.call(context); + } + + function resetHasForceUpdateBeforeProcessing() { + hasForceUpdate = false; + } + + function checkHasForceUpdateAfterProcessing() { + return hasForceUpdate; + } + + function commitUpdateQueue(finishedWork, finishedQueue, instance, renderExpirationTime) { + if (finishedQueue.firstCapturedUpdate !== null) { + if (finishedQueue.lastUpdate !== null) { + finishedQueue.lastUpdate.next = finishedQueue.firstCapturedUpdate; + finishedQueue.lastUpdate = finishedQueue.lastCapturedUpdate; + } + + finishedQueue.firstCapturedUpdate = finishedQueue.lastCapturedUpdate = null; + } + + var effect = finishedQueue.firstEffect; + finishedQueue.firstEffect = finishedQueue.lastEffect = null; + + while (effect !== null) { + var _callback3 = effect.callback; + + if (_callback3 !== null) { + effect.callback = null; + callCallback(_callback3, instance); + } + + effect = effect.nextEffect; + } + + effect = finishedQueue.firstCapturedEffect; + finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; + + while (effect !== null) { + var _callback4 = effect.callback; + + if (_callback4 !== null) { + effect.callback = null; + callCallback(_callback4, instance); + } + + effect = effect.nextEffect; + } + } + + function createCapturedValue(value, source) { + return { + value: value, + source: source, + stack: getStackAddendumByWorkInProgressFiber(source) + }; + } + + var providerCursor = createCursor(null); + var valueCursor = createCursor(null); + var changedBitsCursor = createCursor(0); + var rendererSigil = void 0; + { + rendererSigil = {}; + } + + function pushProvider(providerFiber) { + var context = providerFiber.type._context; + + if (isPrimaryRenderer) { + push(changedBitsCursor, context._changedBits, providerFiber); + push(valueCursor, context._currentValue, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue = providerFiber.pendingProps.value; + context._changedBits = providerFiber.stateNode; + { + !(context._currentRenderer === undefined || context._currentRenderer === null || context._currentRenderer === rendererSigil) ? warning(false, "Detected multiple renderers concurrently rendering the " + "same context provider. This is currently unsupported.") : void 0; + context._currentRenderer = rendererSigil; + } + } else { + push(changedBitsCursor, context._changedBits2, providerFiber); + push(valueCursor, context._currentValue2, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue2 = providerFiber.pendingProps.value; + context._changedBits2 = providerFiber.stateNode; + { + !(context._currentRenderer2 === undefined || context._currentRenderer2 === null || context._currentRenderer2 === rendererSigil) ? warning(false, "Detected multiple renderers concurrently rendering the " + "same context provider. This is currently unsupported.") : void 0; + context._currentRenderer2 = rendererSigil; + } + } + } + + function popProvider(providerFiber) { + var changedBits = changedBitsCursor.current; + var currentValue = valueCursor.current; + pop(providerCursor, providerFiber); + pop(valueCursor, providerFiber); + pop(changedBitsCursor, providerFiber); + var context = providerFiber.type._context; + + if (isPrimaryRenderer) { + context._currentValue = currentValue; + context._changedBits = changedBits; + } else { + context._currentValue2 = currentValue; + context._changedBits2 = changedBits; + } + } + + function getContextCurrentValue(context) { + return isPrimaryRenderer ? context._currentValue : context._currentValue2; + } + + function getContextChangedBits(context) { + return isPrimaryRenderer ? context._changedBits : context._changedBits2; + } + + var NO_CONTEXT = {}; + var contextStackCursor$1 = createCursor(NO_CONTEXT); + var contextFiberStackCursor = createCursor(NO_CONTEXT); + var rootInstanceStackCursor = createCursor(NO_CONTEXT); + + function requiredContext(c) { + invariant(c !== NO_CONTEXT, "Expected host context to exist. This error is likely caused by a bug " + "in React. Please file an issue."); + return c; + } + + function getRootHostContainer() { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + return rootInstance; + } + + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, NO_CONTEXT, fiber); + var nextRootContext = getRootHostContext(nextRootInstance); + pop(contextStackCursor$1, fiber); + push(contextStackCursor$1, nextRootContext, fiber); + } + + function popHostContainer(fiber) { + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + + function getHostContext() { + var context = requiredContext(contextStackCursor$1.current); + return context; + } + + function pushHostContext(fiber) { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + var context = requiredContext(contextStackCursor$1.current); + var nextContext = getChildHostContext(context, fiber.type, rootInstance); + + if (context === nextContext) { + return; + } + + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, nextContext, fiber); + } + + function popHostContext(fiber) { + if (contextFiberStackCursor.current !== fiber) { + return; + } + + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + } + + var commitTime = 0; + + function getCommitTime() { + return commitTime; + } + + function recordCommitTime() { + if (!enableProfilerTimer) { + return; + } + + commitTime = now(); + } + + var fiberStack$1 = void 0; + { + fiberStack$1 = []; + } + var timerPausedAt = 0; + var totalElapsedPauseTime = 0; + + function checkActualRenderTimeStackEmpty() { + if (!enableProfilerTimer) { + return; + } + + { + !(fiberStack$1.length === 0) ? warning(false, "Expected an empty stack. Something was not reset properly.") : void 0; + } + } + + function markActualRenderTimeStarted(fiber) { + if (!enableProfilerTimer) { + return; + } + + { + fiberStack$1.push(fiber); + } + fiber.actualDuration = now() - fiber.actualDuration - totalElapsedPauseTime; + fiber.actualStartTime = now(); + } + + function pauseActualRenderTimerIfRunning() { + if (!enableProfilerTimer) { + return; + } + + if (timerPausedAt === 0) { + timerPausedAt = now(); + } + } + + function recordElapsedActualRenderTime(fiber) { + if (!enableProfilerTimer) { + return; + } + + { + !(fiber === fiberStack$1.pop()) ? warning(false, "Unexpected Fiber (%s) popped.", getComponentName(fiber)) : void 0; + } + fiber.actualDuration = now() - totalElapsedPauseTime - fiber.actualDuration; + } + + function resetActualRenderTimer() { + if (!enableProfilerTimer) { + return; + } + + totalElapsedPauseTime = 0; + } + + function resumeActualRenderTimerIfPaused() { + if (!enableProfilerTimer) { + return; + } + + if (timerPausedAt > 0) { + totalElapsedPauseTime += now() - timerPausedAt; + timerPausedAt = 0; + } + } + + var baseStartTime = -1; + + function recordElapsedBaseRenderTimeIfRunning(fiber) { + if (!enableProfilerTimer) { + return; + } + + if (baseStartTime !== -1) { + fiber.selfBaseTime = now() - baseStartTime; + } + } + + function startBaseRenderTimer() { + if (!enableProfilerTimer) { + return; + } + + { + if (baseStartTime !== -1) { + warning(false, "Cannot start base timer that is already running. " + "This error is likely caused by a bug in React. " + "Please file an issue."); + } + } + baseStartTime = now(); + } + + function stopBaseRenderTimerIfRunning() { + if (!enableProfilerTimer) { + return; + } + + baseStartTime = -1; + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + function is(x, y) { + if (x === y) { + return x !== 0 || y !== 0 || 1 / x === 1 / y; + } else { + return x !== x && y !== y; + } + } + + function shallowEqual(objA, objB) { + if (is(objA, objB)) { + return true; + } + + if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) { + return false; + } + + var keysA = Object.keys(objA); + var keysB = Object.keys(objB); + + if (keysA.length !== keysB.length) { + return false; + } + + for (var i = 0; i < keysA.length; i++) { + if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { + return false; + } + } + + return true; + } + + var fakeInternalInstance = {}; + var isArray = Array.isArray; + var didWarnAboutStateAssignmentForComponent = void 0; + var didWarnAboutUninitializedState = void 0; + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = void 0; + var didWarnAboutLegacyLifecyclesAndDerivedState = void 0; + var didWarnAboutUndefinedDerivedState = void 0; + var warnOnUndefinedDerivedState = void 0; + var warnOnInvalidCallback = void 0; + { + didWarnAboutStateAssignmentForComponent = new Set(); + didWarnAboutUninitializedState = new Set(); + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set(); + didWarnAboutLegacyLifecyclesAndDerivedState = new Set(); + didWarnAboutUndefinedDerivedState = new Set(); + var didWarnOnInvalidCallback = new Set(); + + warnOnInvalidCallback = function warnOnInvalidCallback(callback, callerName) { + if (callback === null || typeof callback === "function") { + return; + } + + var key = callerName + "_" + callback; + + if (!didWarnOnInvalidCallback.has(key)) { + didWarnOnInvalidCallback.add(key); + warning(false, "%s(...): Expected the last optional `callback` argument to be a " + "function. Instead received: %s.", callerName, callback); + } + }; + + warnOnUndefinedDerivedState = function warnOnUndefinedDerivedState(workInProgress, partialState) { + if (partialState === undefined) { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutUndefinedDerivedState.has(componentName)) { + didWarnAboutUndefinedDerivedState.add(componentName); + warning(false, "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. " + "You have returned undefined.", componentName); + } + } + }; + + Object.defineProperty(fakeInternalInstance, "_processChildContext", { + enumerable: false, + value: function value() { + invariant(false, "_processChildContext is not available in React 16+. This likely " + "means you have multiple copies of React and are attempting to nest " + "a React 15 tree inside a React 16 tree using " + "unstable_renderSubtreeIntoContainer, which isn't supported. Try " + "to make sure you have only one copy of React (and ideally, switch " + "to ReactDOM.createPortal)."); + } + }); + Object.freeze(fakeInternalInstance); + } + + function applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress.memoizedState; + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + getDerivedStateFromProps(nextProps, prevState); + } + } + var partialState = getDerivedStateFromProps(nextProps, prevState); + { + warnOnUndefinedDerivedState(workInProgress, partialState); + } + var memoizedState = partialState === null || partialState === undefined ? prevState : _extends({}, prevState, partialState); + workInProgress.memoizedState = memoizedState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null && updateQueue.expirationTime === NoWork) { + updateQueue.baseState = memoizedState; + } + } + + var classComponentUpdater = { + isMounted: isMounted, + enqueueSetState: function enqueueSetState(inst, payload, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.payload = payload; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "setState"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + }, + enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.tag = ReplaceState; + update.payload = payload; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "replaceState"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + }, + enqueueForceUpdate: function enqueueForceUpdate(inst, callback) { + var fiber = get$1(inst); + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + var update = createUpdate(expirationTime); + update.tag = ForceUpdate; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, "forceUpdate"); + } + update.callback = callback; + } + + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + } + }; + + function checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext) { + var instance = workInProgress.stateNode; + var ctor = workInProgress.type; + + if (typeof instance.shouldComponentUpdate === "function") { + startPhaseTimer(workInProgress, "shouldComponentUpdate"); + var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, newContext); + stopPhaseTimer(); + { + !(shouldUpdate !== undefined) ? warning(false, "%s.shouldComponentUpdate(): Returned undefined instead of a " + "boolean value. Make sure to return true or false.", getComponentName(workInProgress) || "Component") : void 0; + } + return shouldUpdate; + } + + if (ctor.prototype && ctor.prototype.isPureReactComponent) { + return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); + } + + return true; + } + + function checkClassInstance(workInProgress) { + var instance = workInProgress.stateNode; + var type = workInProgress.type; + { + var name = getComponentName(workInProgress) || "Component"; + var renderPresent = instance.render; + + if (!renderPresent) { + if (type.prototype && typeof type.prototype.render === "function") { + warning(false, "%s(...): No `render` method found on the returned component " + "instance: did you accidentally return an object from the constructor?", name); + } else { + warning(false, "%s(...): No `render` method found on the returned component " + "instance: you may have forgotten to define `render`.", name); + } + } + + var noGetInitialStateOnES6 = !instance.getInitialState || instance.getInitialState.isReactClassApproved || instance.state; + !noGetInitialStateOnES6 ? warning(false, "getInitialState was defined on %s, a plain JavaScript class. " + "This is only supported for classes created using React.createClass. " + "Did you mean to define a state property instead?", name) : void 0; + var noGetDefaultPropsOnES6 = !instance.getDefaultProps || instance.getDefaultProps.isReactClassApproved; + !noGetDefaultPropsOnES6 ? warning(false, "getDefaultProps was defined on %s, a plain JavaScript class. " + "This is only supported for classes created using React.createClass. " + "Use a static property to define defaultProps instead.", name) : void 0; + var noInstancePropTypes = !instance.propTypes; + !noInstancePropTypes ? warning(false, "propTypes was defined as an instance property on %s. Use a static " + "property to define propTypes instead.", name) : void 0; + var noInstanceContextTypes = !instance.contextTypes; + !noInstanceContextTypes ? warning(false, "contextTypes was defined as an instance property on %s. Use a static " + "property to define contextTypes instead.", name) : void 0; + var noComponentShouldUpdate = typeof instance.componentShouldUpdate !== "function"; + !noComponentShouldUpdate ? warning(false, "%s has a method called " + "componentShouldUpdate(). Did you mean shouldComponentUpdate()? " + "The name is phrased as a question because the function is " + "expected to return a value.", name) : void 0; + + if (type.prototype && type.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== "undefined") { + warning(false, "%s has a method called shouldComponentUpdate(). " + "shouldComponentUpdate should not be used when extending React.PureComponent. " + "Please extend React.Component if shouldComponentUpdate is used.", getComponentName(workInProgress) || "A pure component"); + } + + var noComponentDidUnmount = typeof instance.componentDidUnmount !== "function"; + !noComponentDidUnmount ? warning(false, "%s has a method called " + "componentDidUnmount(). But there is no such lifecycle method. " + "Did you mean componentWillUnmount()?", name) : void 0; + var noComponentDidReceiveProps = typeof instance.componentDidReceiveProps !== "function"; + !noComponentDidReceiveProps ? warning(false, "%s has a method called " + "componentDidReceiveProps(). But there is no such lifecycle method. " + "If you meant to update the state in response to changing props, " + "use componentWillReceiveProps(). If you meant to fetch data or " + "run side-effects or mutations after React has updated the UI, use componentDidUpdate().", name) : void 0; + var noComponentWillRecieveProps = typeof instance.componentWillRecieveProps !== "function"; + !noComponentWillRecieveProps ? warning(false, "%s has a method called " + "componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", name) : void 0; + var noUnsafeComponentWillRecieveProps = typeof instance.UNSAFE_componentWillRecieveProps !== "function"; + !noUnsafeComponentWillRecieveProps ? warning(false, "%s has a method called " + "UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", name) : void 0; + var hasMutatedProps = instance.props !== workInProgress.pendingProps; + !(instance.props === undefined || !hasMutatedProps) ? warning(false, "%s(...): When calling super() in `%s`, make sure to pass " + "up the same props that your component's constructor was passed.", name, name) : void 0; + var noInstanceDefaultProps = !instance.defaultProps; + !noInstanceDefaultProps ? warning(false, "Setting defaultProps as an instance property on %s is not supported and will be ignored." + " Instead, define defaultProps as a static property on %s.", name, name) : void 0; + + if (typeof instance.getSnapshotBeforeUpdate === "function" && typeof instance.componentDidUpdate !== "function" && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(type)) { + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(type); + warning(false, "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). " + "This component defines getSnapshotBeforeUpdate() only.", getComponentName(workInProgress)); + } + + var noInstanceGetDerivedStateFromProps = typeof instance.getDerivedStateFromProps !== "function"; + !noInstanceGetDerivedStateFromProps ? warning(false, "%s: getDerivedStateFromProps() is defined as an instance method " + "and will be ignored. Instead, declare it as a static method.", name) : void 0; + var noInstanceGetDerivedStateFromCatch = typeof instance.getDerivedStateFromCatch !== "function"; + !noInstanceGetDerivedStateFromCatch ? warning(false, "%s: getDerivedStateFromCatch() is defined as an instance method " + "and will be ignored. Instead, declare it as a static method.", name) : void 0; + var noStaticGetSnapshotBeforeUpdate = typeof type.getSnapshotBeforeUpdate !== "function"; + !noStaticGetSnapshotBeforeUpdate ? warning(false, "%s: getSnapshotBeforeUpdate() is defined as a static method " + "and will be ignored. Instead, declare it as an instance method.", name) : void 0; + var _state = instance.state; + + if (_state && (typeof _state !== "object" || isArray(_state))) { + warning(false, "%s.state: must be set to an object or null", name); + } + + if (typeof instance.getChildContext === "function") { + !(typeof type.childContextTypes === "object") ? warning(false, "%s.getChildContext(): childContextTypes must be defined in order to " + "use getChildContext().", name) : void 0; + } + } + } + + function adoptClassInstance(workInProgress, instance) { + instance.updater = classComponentUpdater; + workInProgress.stateNode = instance; + set(instance, workInProgress); + { + instance._reactInternalInstance = fakeInternalInstance; + } + } + + function constructClassInstance(workInProgress, props, renderExpirationTime) { + var ctor = workInProgress.type; + var unmaskedContext = getUnmaskedContext(workInProgress); + var needsContext = isContextConsumer(workInProgress); + var context = needsContext ? getMaskedContext(workInProgress, unmaskedContext) : emptyObject; + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + new ctor(props, context); + } + } + var instance = new ctor(props, context); + var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null; + adoptClassInstance(workInProgress, instance); + { + if (typeof ctor.getDerivedStateFromProps === "function" && state === null) { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutUninitializedState.has(componentName)) { + didWarnAboutUninitializedState.add(componentName); + warning(false, "%s: Did not properly initialize state during construction. " + "Expected state to be an object, but it was %s.", componentName, instance.state === null ? "null" : "undefined"); + } + } + + if (typeof ctor.getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function") { + var foundWillMountName = null; + var foundWillReceivePropsName = null; + var foundWillUpdateName = null; + + if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) { + foundWillMountName = "componentWillMount"; + } else if (typeof instance.UNSAFE_componentWillMount === "function") { + foundWillMountName = "UNSAFE_componentWillMount"; + } + + if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + foundWillReceivePropsName = "componentWillReceiveProps"; + } else if (typeof instance.UNSAFE_componentWillReceiveProps === "function") { + foundWillReceivePropsName = "UNSAFE_componentWillReceiveProps"; + } + + if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + foundWillUpdateName = "componentWillUpdate"; + } else if (typeof instance.UNSAFE_componentWillUpdate === "function") { + foundWillUpdateName = "UNSAFE_componentWillUpdate"; + } + + if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { + var _componentName = getComponentName(workInProgress) || "Component"; + + var newApiName = typeof ctor.getDerivedStateFromProps === "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + + if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { + didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); + warning(false, "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n" + "%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n" + "The above lifecycles should be removed. Learn more about this warning here:\n" + "https://fb.me/react-async-component-lifecycle-hooks", _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : "", foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : "", foundWillUpdateName !== null ? "\n " + foundWillUpdateName : ""); + } + } + } + } + + if (needsContext) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return instance; + } + + function callComponentWillMount(workInProgress, instance) { + startPhaseTimer(workInProgress, "componentWillMount"); + var oldState = instance.state; + + if (typeof instance.componentWillMount === "function") { + instance.componentWillMount(); + } + + if (typeof instance.UNSAFE_componentWillMount === "function") { + instance.UNSAFE_componentWillMount(); + } + + stopPhaseTimer(); + + if (oldState !== instance.state) { + { + warning(false, "%s.componentWillMount(): Assigning directly to this.state is " + "deprecated (except inside a component's " + "constructor). Use setState instead.", getComponentName(workInProgress) || "Component"); + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + function callComponentWillReceiveProps(workInProgress, instance, newProps, newContext) { + var oldState = instance.state; + startPhaseTimer(workInProgress, "componentWillReceiveProps"); + + if (typeof instance.componentWillReceiveProps === "function") { + instance.componentWillReceiveProps(newProps, newContext); + } + + if (typeof instance.UNSAFE_componentWillReceiveProps === "function") { + instance.UNSAFE_componentWillReceiveProps(newProps, newContext); + } + + stopPhaseTimer(); + + if (instance.state !== oldState) { + { + var componentName = getComponentName(workInProgress) || "Component"; + + if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { + didWarnAboutStateAssignmentForComponent.add(componentName); + warning(false, "%s.componentWillReceiveProps(): Assigning directly to " + "this.state is deprecated (except inside a component's " + "constructor). Use setState instead.", componentName); + } + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + function mountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + { + checkClassInstance(workInProgress); + } + var instance = workInProgress.stateNode; + var props = workInProgress.pendingProps; + var unmaskedContext = getUnmaskedContext(workInProgress); + instance.props = props; + instance.state = workInProgress.memoizedState; + instance.refs = emptyObject; + instance.context = getMaskedContext(workInProgress, unmaskedContext); + { + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance); + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance); + } + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.recordDeprecationWarnings(workInProgress, instance); + } + } + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, props, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + + var getDerivedStateFromProps = workInProgress.type.getDerivedStateFromProps; + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, props); + instance.state = workInProgress.memoizedState; + } + + if (typeof ctor.getDerivedStateFromProps !== "function" && typeof instance.getSnapshotBeforeUpdate !== "function" && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { + callComponentWillMount(workInProgress, instance); + updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, props, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + } + + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + } + + function resumeMountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + var oldProps = workInProgress.memoizedProps; + var newProps = workInProgress.pendingProps; + instance.props = oldProps; + var oldContext = instance.context; + var newUnmaskedContext = getUnmaskedContext(workInProgress); + var newContext = getMaskedContext(workInProgress, newUnmaskedContext); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; + + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { + if (oldProps !== newProps || oldContext !== newContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, newContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + + return false; + } + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext); + + if (shouldUpdate) { + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { + startPhaseTimer(workInProgress, "componentWillMount"); + + if (typeof instance.componentWillMount === "function") { + instance.componentWillMount(); + } + + if (typeof instance.UNSAFE_componentWillMount === "function") { + instance.UNSAFE_componentWillMount(); + } + + stopPhaseTimer(); + } + + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + } else { + if (typeof instance.componentDidMount === "function") { + workInProgress.effectTag |= Update; + } + + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + instance.props = newProps; + instance.state = newState; + instance.context = newContext; + return shouldUpdate; + } + + function updateClassInstance(current, workInProgress, renderExpirationTime) { + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + var oldProps = workInProgress.memoizedProps; + var newProps = workInProgress.pendingProps; + instance.props = oldProps; + var oldContext = instance.context; + var newUnmaskedContext = getUnmaskedContext(workInProgress); + var newContext = getMaskedContext(workInProgress, newUnmaskedContext); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; + + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { + if (oldProps !== newProps || oldContext !== newContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, newContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + if (typeof instance.componentDidUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + + return false; + } + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext); + + if (shouldUpdate) { + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === "function" || typeof instance.componentWillUpdate === "function")) { + startPhaseTimer(workInProgress, "componentWillUpdate"); + + if (typeof instance.componentWillUpdate === "function") { + instance.componentWillUpdate(newProps, newState, newContext); + } + + if (typeof instance.UNSAFE_componentWillUpdate === "function") { + instance.UNSAFE_componentWillUpdate(newProps, newState, newContext); + } + + stopPhaseTimer(); + } + + if (typeof instance.componentDidUpdate === "function") { + workInProgress.effectTag |= Update; + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + workInProgress.effectTag |= Snapshot; + } + } else { + if (typeof instance.componentDidUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + + if (typeof instance.getSnapshotBeforeUpdate === "function") { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + instance.props = newProps; + instance.state = newState; + instance.context = newContext; + return shouldUpdate; + } + + var getCurrentFiberStackAddendum$2 = ReactDebugCurrentFiber.getCurrentFiberStackAddendum; + var didWarnAboutMaps = void 0; + var didWarnAboutStringRefInStrictMode = void 0; + var ownerHasKeyUseWarning = void 0; + var ownerHasFunctionTypeWarning = void 0; + + var warnForMissingKey = function warnForMissingKey(child) {}; + + { + didWarnAboutMaps = false; + didWarnAboutStringRefInStrictMode = {}; + ownerHasKeyUseWarning = {}; + ownerHasFunctionTypeWarning = {}; + + warnForMissingKey = function warnForMissingKey(child) { + if (child === null || typeof child !== "object") { + return; + } + + if (!child._store || child._store.validated || child.key != null) { + return; + } + + invariant(typeof child._store === "object", "React Component in warnForMissingKey should have a _store. " + "This error is likely caused by a bug in React. Please file an issue."); + child._store.validated = true; + var currentComponentErrorInfo = "Each child in an array or iterator should have a unique " + '"key" prop. See https://fb.me/react-warning-keys for ' + "more information." + (getCurrentFiberStackAddendum$2() || ""); + + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + warning(false, "Each child in an array or iterator should have a unique " + '"key" prop. See https://fb.me/react-warning-keys for ' + "more information.%s", getCurrentFiberStackAddendum$2()); + }; + } + var isArray$1 = Array.isArray; + + function coerceRef(returnFiber, current, element) { + var mixedRef = element.ref; + + if (mixedRef !== null && typeof mixedRef !== "function" && typeof mixedRef !== "object") { + { + if (returnFiber.mode & StrictMode) { + var componentName = getComponentName(returnFiber) || "Component"; + + if (!didWarnAboutStringRefInStrictMode[componentName]) { + warning(false, 'A string ref, "%s", has been found within a strict mode tree. ' + "String refs are a source of potential bugs and should be avoided. " + "We recommend using createRef() instead." + "\n%s" + "\n\nLearn more about using refs safely here:" + "\nhttps://fb.me/react-strict-mode-string-ref", mixedRef, getStackAddendumByWorkInProgressFiber(returnFiber)); + didWarnAboutStringRefInStrictMode[componentName] = true; + } + } + } + + if (element._owner) { + var owner = element._owner; + var inst = void 0; + + if (owner) { + var ownerFiber = owner; + invariant(ownerFiber.tag === ClassComponent, "Stateless function components cannot have refs."); + inst = ownerFiber.stateNode; + } + + invariant(inst, "Missing owner for string ref %s. This error is likely caused by a " + "bug in React. Please file an issue.", mixedRef); + var stringRef = "" + mixedRef; + + if (current !== null && current.ref !== null && typeof current.ref === "function" && current.ref._stringRef === stringRef) { + return current.ref; + } + + var ref = function ref(value) { + var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs; + + if (value === null) { + delete refs[stringRef]; + } else { + refs[stringRef] = value; + } + }; + + ref._stringRef = stringRef; + return ref; + } else { + invariant(typeof mixedRef === "string", "Expected ref to be a function or a string."); + invariant(element._owner, "Element ref was specified as a string (%s) but no owner was set. This could happen for one of" + " the following reasons:\n" + "1. You may be adding a ref to a functional component\n" + "2. You may be adding a ref to a component that was not created inside a component's render method\n" + "3. You have multiple copies of React loaded\n" + "See https://fb.me/react-refs-must-have-owner for more information.", mixedRef); + } + } + + return mixedRef; + } + + function throwOnInvalidObjectType(returnFiber, newChild) { + if (returnFiber.type !== "textarea") { + var addendum = ""; + { + addendum = " If you meant to render a collection of children, use an array " + "instead." + (getCurrentFiberStackAddendum$2() || ""); + } + invariant(false, "Objects are not valid as a React child (found: %s).%s", Object.prototype.toString.call(newChild) === "[object Object]" ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : newChild, addendum); + } + } + + function warnOnFunctionType() { + var currentComponentErrorInfo = "Functions are not valid as a React child. This may happen if " + "you return a Component instead of from render. " + "Or maybe you meant to call this function rather than return it." + (getCurrentFiberStackAddendum$2() || ""); + + if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) { + return; + } + + ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true; + warning(false, "Functions are not valid as a React child. This may happen if " + "you return a Component instead of from render. " + "Or maybe you meant to call this function rather than return it.%s", getCurrentFiberStackAddendum$2() || ""); + } + + function ChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (!shouldTrackSideEffects) { + return; + } + + var last = returnFiber.lastEffect; + + if (last !== null) { + last.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + + childToDelete.nextEffect = null; + childToDelete.effectTag = Deletion; + } + + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) { + return null; + } + + var childToDelete = currentFirstChild; + + while (childToDelete !== null) { + deleteChild(returnFiber, childToDelete); + childToDelete = childToDelete.sibling; + } + + return null; + } + + function mapRemainingChildren(returnFiber, currentFirstChild) { + var existingChildren = new Map(); + var existingChild = currentFirstChild; + + while (existingChild !== null) { + if (existingChild.key !== null) { + existingChildren.set(existingChild.key, existingChild); + } else { + existingChildren.set(existingChild.index, existingChild); + } + + existingChild = existingChild.sibling; + } + + return existingChildren; + } + + function useFiber(fiber, pendingProps, expirationTime) { + var clone = createWorkInProgress(fiber, pendingProps, expirationTime); + clone.index = 0; + clone.sibling = null; + return clone; + } + + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + + if (!shouldTrackSideEffects) { + return lastPlacedIndex; + } + + var current = newFiber.alternate; + + if (current !== null) { + var oldIndex = current.index; + + if (oldIndex < lastPlacedIndex) { + newFiber.effectTag = Placement; + return lastPlacedIndex; + } else { + return oldIndex; + } + } else { + newFiber.effectTag = Placement; + return lastPlacedIndex; + } + } + + function placeSingleChild(newFiber) { + if (shouldTrackSideEffects && newFiber.alternate === null) { + newFiber.effectTag = Placement; + } + + return newFiber; + } + + function updateTextNode(returnFiber, current, textContent, expirationTime) { + if (current === null || current.tag !== HostText) { + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateElement(returnFiber, current, element, expirationTime) { + if (current !== null && current.type === element.type) { + var existing = useFiber(current, element.props, expirationTime); + existing.ref = coerceRef(returnFiber, current, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + var created = createFiberFromElement(element, returnFiber.mode, expirationTime); + created.ref = coerceRef(returnFiber, current, element); + created.return = returnFiber; + return created; + } + } + + function updatePortal(returnFiber, current, portal, expirationTime) { + if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) { + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateFragment(returnFiber, current, fragment, expirationTime, key) { + if (current === null || current.tag !== Fragment) { + var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key); + created.return = returnFiber; + return created; + } else { + var existing = useFiber(current, fragment, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function createChild(returnFiber, newChild, expirationTime) { + if (typeof newChild === "string" || typeof newChild === "number") { + var created = createFiberFromText("" + newChild, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); + + _created.ref = coerceRef(returnFiber, null, newChild); + _created.return = returnFiber; + return _created; + } + + case REACT_PORTAL_TYPE: + { + var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); + + _created2.return = returnFiber; + return _created2; + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); + + _created3.return = returnFiber; + return _created3; + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { + var key = oldFiber !== null ? oldFiber.key : null; + + if (typeof newChild === "string" || typeof newChild === "number") { + if (key !== null) { + return null; + } + + return updateTextNode(returnFiber, oldFiber, "" + newChild, expirationTime); + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + if (newChild.key === key) { + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key); + } + + return updateElement(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + + case REACT_PORTAL_TYPE: + { + if (newChild.key === key) { + return updatePortal(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + if (key !== null) { + return null; + } + + return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { + if (typeof newChild === "string" || typeof newChild === "number") { + var matchedFiber = existingChildren.get(newIdx) || null; + return updateTextNode(returnFiber, matchedFiber, "" + newChild, expirationTime); + } + + if (typeof newChild === "object" && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key); + } + + return updateElement(returnFiber, _matchedFiber, newChild, expirationTime); + } + + case REACT_PORTAL_TYPE: + { + var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + + return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime); + } + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) { + var _matchedFiber3 = existingChildren.get(newIdx) || null; + + return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + return null; + } + + function warnOnInvalidKey(child, knownKeys) { + { + if (typeof child !== "object" || child === null) { + return knownKeys; + } + + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(child); + var key = child.key; + + if (typeof key !== "string") { + break; + } + + if (knownKeys === null) { + knownKeys = new Set(); + knownKeys.add(key); + break; + } + + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + + warning(false, "Encountered two children with the same key, `%s`. " + "Keys should be unique so that components maintain their identity " + "across updates. Non-unique keys may cause children to be " + "duplicated and/or omitted — the behavior is unsupported and " + "could change in a future version.%s", key, getCurrentFiberStackAddendum$2()); + break; + + default: + break; + } + } + return knownKeys; + } + + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { + { + var knownKeys = null; + + for (var i = 0; i < newChildren.length; i++) { + var child = newChildren[i]; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + var resultingFirstChild = null; + var previousNewFiber = null; + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + + for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + + var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); + + if (newFiber === null) { + if (oldFiber === null) { + oldFiber = nextOldFiber; + } + + break; + } + + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + deleteChild(returnFiber, oldFiber); + } + } + + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = newFiber; + } else { + previousNewFiber.sibling = newFiber; + } + + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (newIdx === newChildren.length) { + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime); + + if (!_newFiber) { + continue; + } + + lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber; + } else { + previousNewFiber.sibling = _newFiber; + } + + previousNewFiber = _newFiber; + } + + return resultingFirstChild; + } + + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime); + + if (_newFiber2) { + if (shouldTrackSideEffects) { + if (_newFiber2.alternate !== null) { + existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); + } + } + + lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber2; + } else { + previousNewFiber.sibling = _newFiber2; + } + + previousNewFiber = _newFiber2; + } + } + + if (shouldTrackSideEffects) { + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { + var iteratorFn = getIteratorFn(newChildrenIterable); + invariant(typeof iteratorFn === "function", "An object is not an iterable. This error is likely caused by a bug in " + "React. Please file an issue."); + { + if (newChildrenIterable.entries === iteratorFn) { + !didWarnAboutMaps ? warning(false, "Using Maps as children is unsupported and will likely yield " + "unexpected results. Convert it to a sequence/iterable of keyed " + "ReactElements instead.%s", getCurrentFiberStackAddendum$2()) : void 0; + didWarnAboutMaps = true; + } + + var _newChildren = iteratorFn.call(newChildrenIterable); + + if (_newChildren) { + var knownKeys = null; + + var _step = _newChildren.next(); + + for (; !_step.done; _step = _newChildren.next()) { + var child = _step.value; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + } + var newChildren = iteratorFn.call(newChildrenIterable); + invariant(newChildren != null, "An iterable object provided no iterator."); + var resultingFirstChild = null; + var previousNewFiber = null; + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + var step = newChildren.next(); + + for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + + var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); + + if (newFiber === null) { + if (!oldFiber) { + oldFiber = nextOldFiber; + } + + break; + } + + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + deleteChild(returnFiber, oldFiber); + } + } + + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = newFiber; + } else { + previousNewFiber.sibling = newFiber; + } + + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (step.done) { + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber3 = createChild(returnFiber, step.value, expirationTime); + + if (_newFiber3 === null) { + continue; + } + + lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber3; + } else { + previousNewFiber.sibling = _newFiber3; + } + + previousNewFiber = _newFiber3; + } + + return resultingFirstChild; + } + + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime); + + if (_newFiber4 !== null) { + if (shouldTrackSideEffects) { + if (_newFiber4.alternate !== null) { + existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); + } + } + + lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); + + if (previousNewFiber === null) { + resultingFirstChild = _newFiber4; + } else { + previousNewFiber.sibling = _newFiber4; + } + + previousNewFiber = _newFiber4; + } + } + + if (shouldTrackSideEffects) { + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) { + if (currentFirstChild !== null && currentFirstChild.tag === HostText) { + deleteRemainingChildren(returnFiber, currentFirstChild.sibling); + var existing = useFiber(currentFirstChild, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + + deleteRemainingChildren(returnFiber, currentFirstChild); + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) { + var key = element.key; + var child = currentFirstChild; + + while (child !== null) { + if (child.key === key) { + if (child.tag === Fragment ? element.type === REACT_FRAGMENT_TYPE : child.type === element.type) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, element.type === REACT_FRAGMENT_TYPE ? element.props.children : element.props, expirationTime); + existing.ref = coerceRef(returnFiber, child, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + + child = child.sibling; + } + + if (element.type === REACT_FRAGMENT_TYPE) { + var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key); + created.return = returnFiber; + return created; + } else { + var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime); + + _created4.ref = coerceRef(returnFiber, currentFirstChild, element); + _created4.return = returnFiber; + return _created4; + } + } + + function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) { + var key = portal.key; + var child = currentFirstChild; + + while (child !== null) { + if (child.key === key) { + if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + + child = child.sibling; + } + + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) { + var isUnkeyedTopLevelFragment = typeof newChild === "object" && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null; + + if (isUnkeyedTopLevelFragment) { + newChild = newChild.props.children; + } + + var isObject = typeof newChild === "object" && newChild !== null; + + if (isObject) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime)); + + case REACT_PORTAL_TYPE: + return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime)); + } + } + + if (typeof newChild === "string" || typeof newChild === "number") { + return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, "" + newChild, expirationTime)); + } + + if (isArray$1(newChild)) { + return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (getIteratorFn(newChild)) { + return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (isObject) { + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === "function") { + warnOnFunctionType(); + } + } + + if (typeof newChild === "undefined" && !isUnkeyedTopLevelFragment) { + switch (returnFiber.tag) { + case ClassComponent: + { + { + var instance = returnFiber.stateNode; + + if (instance.render._isMockFunction) { + break; + } + } + } + + case FunctionalComponent: + { + var Component = returnFiber.type; + invariant(false, "%s(...): Nothing was returned from render. This usually means a " + "return statement is missing. Or, to render nothing, " + "return null.", Component.displayName || Component.name || "Component"); + } + } + } + + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + + return reconcileChildFibers; + } + + var reconcileChildFibers = ChildReconciler(true); + var mountChildFibers = ChildReconciler(false); + + function cloneChildFibers(current, workInProgress) { + invariant(current === null || workInProgress.child === current.child, "Resuming work not yet implemented."); + + if (workInProgress.child === null) { + return; + } + + var currentChild = workInProgress.child; + var newChild = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + workInProgress.child = newChild; + newChild.return = workInProgress; + + while (currentChild.sibling !== null) { + currentChild = currentChild.sibling; + newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + newChild.return = workInProgress; + } + + newChild.sibling = null; + } + + var hydrationParentFiber = null; + var nextHydratableInstance = null; + var isHydrating = false; + + function enterHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + + var parentInstance = fiber.stateNode.containerInfo; + nextHydratableInstance = getFirstHydratableChild(parentInstance); + hydrationParentFiber = fiber; + isHydrating = true; + return true; + } + + function deleteHydratableInstance(returnFiber, instance) { + { + switch (returnFiber.tag) { + case HostRoot: + didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); + break; + + case HostComponent: + didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); + break; + } + } + var childToDelete = createFiberFromHostInstanceForDeletion(); + childToDelete.stateNode = instance; + childToDelete.return = returnFiber; + childToDelete.effectTag = Deletion; + + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + } + + function insertNonHydratedInstance(returnFiber, fiber) { + fiber.effectTag |= Placement; + { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + + switch (fiber.tag) { + case HostComponent: + var type = fiber.type; + var props = fiber.pendingProps; + didNotFindHydratableContainerInstance(parentContainer, type, props); + break; + + case HostText: + var text = fiber.pendingProps; + didNotFindHydratableContainerTextInstance(parentContainer, text); + break; + } + + break; + } + + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + + switch (fiber.tag) { + case HostComponent: + var _type = fiber.type; + var _props = fiber.pendingProps; + didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props); + break; + + case HostText: + var _text = fiber.pendingProps; + didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text); + break; + } + + break; + } + + default: + return; + } + } + } + + function tryHydrate(fiber, nextInstance) { + switch (fiber.tag) { + case HostComponent: + { + var type = fiber.type; + var props = fiber.pendingProps; + var instance = canHydrateInstance(nextInstance, type, props); + + if (instance !== null) { + fiber.stateNode = instance; + return true; + } + + return false; + } + + case HostText: + { + var text = fiber.pendingProps; + var textInstance = canHydrateTextInstance(nextInstance, text); + + if (textInstance !== null) { + fiber.stateNode = textInstance; + return true; + } + + return false; + } + + default: + return false; + } + } + + function tryToClaimNextHydratableInstance(fiber) { + if (!isHydrating) { + return; + } + + var nextInstance = nextHydratableInstance; + + if (!nextInstance) { + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + + var firstAttemptedInstance = nextInstance; + + if (!tryHydrate(fiber, nextInstance)) { + nextInstance = getNextHydratableSibling(firstAttemptedInstance); + + if (!nextInstance || !tryHydrate(fiber, nextInstance)) { + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + + deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance); + } + + hydrationParentFiber = fiber; + nextHydratableInstance = getFirstHydratableChild(nextInstance); + } + + function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { + if (!supportsHydration) { + invariant(false, "Expected prepareToHydrateHostInstance() to never be called. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + var instance = fiber.stateNode; + var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); + fiber.updateQueue = updatePayload; + + if (updatePayload !== null) { + return true; + } + + return false; + } + + function prepareToHydrateHostTextInstance(fiber) { + if (!supportsHydration) { + invariant(false, "Expected prepareToHydrateHostTextInstance() to never be called. " + "This error is likely caused by a bug in React. Please file an issue."); + } + + var textInstance = fiber.stateNode; + var textContent = fiber.memoizedProps; + var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); + { + if (shouldUpdate) { + var returnFiber = hydrationParentFiber; + + if (returnFiber !== null) { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent); + break; + } + + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent); + break; + } + } + } + } + } + return shouldUpdate; + } + + function popToNextHostParent(fiber) { + var parent = fiber.return; + + while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot) { + parent = parent.return; + } + + hydrationParentFiber = parent; + } + + function popHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + + if (fiber !== hydrationParentFiber) { + return false; + } + + if (!isHydrating) { + popToNextHostParent(fiber); + isHydrating = true; + return false; + } + + var type = fiber.type; + + if (fiber.tag !== HostComponent || type !== "head" && type !== "body" && !shouldSetTextContent(type, fiber.memoizedProps)) { + var nextInstance = nextHydratableInstance; + + while (nextInstance) { + deleteHydratableInstance(fiber, nextInstance); + nextInstance = getNextHydratableSibling(nextInstance); + } + } + + popToNextHostParent(fiber); + nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; + return true; + } + + function resetHydrationState() { + if (!supportsHydration) { + return; + } + + hydrationParentFiber = null; + nextHydratableInstance = null; + isHydrating = false; + } + + var getCurrentFiberStackAddendum$1 = ReactDebugCurrentFiber.getCurrentFiberStackAddendum; + var didWarnAboutBadClass = void 0; + var didWarnAboutGetDerivedStateOnFunctionalComponent = void 0; + var didWarnAboutStatelessRefs = void 0; + { + didWarnAboutBadClass = {}; + didWarnAboutGetDerivedStateOnFunctionalComponent = {}; + didWarnAboutStatelessRefs = {}; + } + + function reconcileChildren(current, workInProgress, nextChildren) { + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, workInProgress.expirationTime); + } + + function reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime) { + if (current === null) { + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); + } + } + + function updateForwardRef(current, workInProgress) { + var render = workInProgress.type.render; + var nextProps = workInProgress.pendingProps; + var ref = workInProgress.ref; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextProps) { + var currentRef = current !== null ? current.ref : null; + + if (ref === currentRef) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var nextChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = render(nextProps, ref); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateFragment(current, workInProgress) { + var nextChildren = workInProgress.pendingProps; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + return workInProgress.child; + } + + function updateMode(current, workInProgress) { + var nextChildren = workInProgress.pendingProps.children; + + if (hasContextChanged()) {} else if (nextChildren === null || workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + return workInProgress.child; + } + + function updateProfiler(current, workInProgress) { + var nextProps = workInProgress.pendingProps; + + if (enableProfilerTimer) { + workInProgress.effectTag |= Update; + } + + if (workInProgress.memoizedProps === nextProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var nextChildren = nextProps.children; + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function markRef(current, workInProgress) { + var ref = workInProgress.ref; + + if (current === null && ref !== null || current !== null && current.ref !== ref) { + workInProgress.effectTag |= Ref; + } + } + + function updateFunctionalComponent(current, workInProgress) { + var fn = workInProgress.type; + var nextProps = workInProgress.pendingProps; + + if (hasContextChanged()) {} else { + if (workInProgress.memoizedProps === nextProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var unmaskedContext = getUnmaskedContext(workInProgress); + var context = getMaskedContext(workInProgress, unmaskedContext); + var nextChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = fn(nextProps, context); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateClassComponent(current, workInProgress, renderExpirationTime) { + var hasContext = pushContextProvider(workInProgress); + var shouldUpdate = void 0; + + if (current === null) { + if (workInProgress.stateNode === null) { + constructClassInstance(workInProgress, workInProgress.pendingProps, renderExpirationTime); + mountClassInstance(workInProgress, renderExpirationTime); + shouldUpdate = true; + } else { + shouldUpdate = resumeMountClassInstance(workInProgress, renderExpirationTime); + } + } else { + shouldUpdate = updateClassInstance(current, workInProgress, renderExpirationTime); + } + + return finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime); + } + + function finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime) { + markRef(current, workInProgress); + var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect; + + if (!shouldUpdate && !didCaptureError) { + if (hasContext) { + invalidateContextProvider(workInProgress, false); + } + + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + ReactCurrentOwner.current = workInProgress; + var nextChildren = void 0; + + if (didCaptureError && (!enableGetDerivedStateFromCatch || typeof ctor.getDerivedStateFromCatch !== "function")) { + nextChildren = null; + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + } else { + { + ReactDebugCurrentFiber.setCurrentPhase("render"); + nextChildren = instance.render(); + + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + instance.render(); + } + + ReactDebugCurrentFiber.setCurrentPhase(null); + } + } + + workInProgress.effectTag |= PerformedWork; + + if (didCaptureError) { + reconcileChildrenAtExpirationTime(current, workInProgress, null, renderExpirationTime); + workInProgress.child = null; + } + + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime); + memoizeState(workInProgress, instance.state); + memoizeProps(workInProgress, instance.props); + + if (hasContext) { + invalidateContextProvider(workInProgress, true); + } + + return workInProgress.child; + } + + function pushHostRootContext(workInProgress) { + var root = workInProgress.stateNode; + + if (root.pendingContext) { + pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context); + } else if (root.context) { + pushTopLevelContextObject(workInProgress, root.context, false); + } + + pushHostContainer(workInProgress, root.containerInfo); + } + + function updateHostRoot(current, workInProgress, renderExpirationTime) { + pushHostRootContext(workInProgress); + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + var nextProps = workInProgress.pendingProps; + var prevState = workInProgress.memoizedState; + var prevChildren = prevState !== null ? prevState.element : null; + processUpdateQueue(workInProgress, updateQueue, nextProps, null, renderExpirationTime); + var nextState = workInProgress.memoizedState; + var nextChildren = nextState.element; + + if (nextChildren === prevChildren) { + resetHydrationState(); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var root = workInProgress.stateNode; + + if ((current === null || current.child === null) && root.hydrate && enterHydrationState(workInProgress)) { + workInProgress.effectTag |= Placement; + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + resetHydrationState(); + reconcileChildren(current, workInProgress, nextChildren); + } + + return workInProgress.child; + } + + resetHydrationState(); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + function updateHostComponent(current, workInProgress, renderExpirationTime) { + pushHostContext(workInProgress); + + if (current === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + + var type = workInProgress.type; + var memoizedProps = workInProgress.memoizedProps; + var nextProps = workInProgress.pendingProps; + var prevProps = current !== null ? current.memoizedProps : null; + + if (hasContextChanged()) {} else if (memoizedProps === nextProps) { + var isHidden = workInProgress.mode & AsyncMode && shouldDeprioritizeSubtree(type, nextProps); + + if (isHidden) { + workInProgress.expirationTime = Never; + } + + if (!isHidden || renderExpirationTime !== Never) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } + + var nextChildren = nextProps.children; + var isDirectTextChild = shouldSetTextContent(type, nextProps); + + if (isDirectTextChild) { + nextChildren = null; + } else if (prevProps && shouldSetTextContent(type, prevProps)) { + workInProgress.effectTag |= ContentReset; + } + + markRef(current, workInProgress); + + if (renderExpirationTime !== Never && workInProgress.mode & AsyncMode && shouldDeprioritizeSubtree(type, nextProps)) { + workInProgress.expirationTime = Never; + workInProgress.memoizedProps = nextProps; + return null; + } + + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextProps); + return workInProgress.child; + } + + function updateHostText(current, workInProgress) { + if (current === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + + var nextProps = workInProgress.pendingProps; + memoizeProps(workInProgress, nextProps); + return null; + } + + function mountIndeterminateComponent(current, workInProgress, renderExpirationTime) { + invariant(current === null, "An indeterminate component should never have mounted. This error is " + "likely caused by a bug in React. Please file an issue."); + var fn = workInProgress.type; + var props = workInProgress.pendingProps; + var unmaskedContext = getUnmaskedContext(workInProgress); + var context = getMaskedContext(workInProgress, unmaskedContext); + var value = void 0; + { + if (fn.prototype && typeof fn.prototype.render === "function") { + var componentName = getComponentName(workInProgress) || "Unknown"; + + if (!didWarnAboutBadClass[componentName]) { + warning(false, "The <%s /> component appears to have a render method, but doesn't extend React.Component. " + "This is likely to cause errors. Change %s to extend React.Component instead.", componentName, componentName); + didWarnAboutBadClass[componentName] = true; + } + } + + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null); + } + + ReactCurrentOwner.current = workInProgress; + value = fn(props, context); + } + workInProgress.effectTag |= PerformedWork; + + if (typeof value === "object" && value !== null && typeof value.render === "function" && value.$$typeof === undefined) { + var Component = workInProgress.type; + workInProgress.tag = ClassComponent; + workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null; + var getDerivedStateFromProps = Component.getDerivedStateFromProps; + + if (typeof getDerivedStateFromProps === "function") { + applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, props); + } + + var hasContext = pushContextProvider(workInProgress); + adoptClassInstance(workInProgress, value); + mountClassInstance(workInProgress, renderExpirationTime); + return finishClassComponent(current, workInProgress, true, hasContext, renderExpirationTime); + } else { + workInProgress.tag = FunctionalComponent; + { + var _Component = workInProgress.type; + + if (_Component) { + !!_Component.childContextTypes ? warning(false, "%s(...): childContextTypes cannot be defined on a functional component.", _Component.displayName || _Component.name || "Component") : void 0; + } + + if (workInProgress.ref !== null) { + var info = ""; + var ownerName = ReactDebugCurrentFiber.getCurrentFiberOwnerName(); + + if (ownerName) { + info += "\n\nCheck the render method of `" + ownerName + "`."; + } + + var warningKey = ownerName || workInProgress._debugID || ""; + var debugSource = workInProgress._debugSource; + + if (debugSource) { + warningKey = debugSource.fileName + ":" + debugSource.lineNumber; + } + + if (!didWarnAboutStatelessRefs[warningKey]) { + didWarnAboutStatelessRefs[warningKey] = true; + warning(false, "Stateless function components cannot be given refs. " + "Attempts to access this ref will fail.%s%s", info, ReactDebugCurrentFiber.getCurrentFiberStackAddendum()); + } + } + + if (typeof fn.getDerivedStateFromProps === "function") { + var _componentName = getComponentName(workInProgress) || "Unknown"; + + if (!didWarnAboutGetDerivedStateOnFunctionalComponent[_componentName]) { + warning(false, "%s: Stateless functional components do not support getDerivedStateFromProps.", _componentName); + didWarnAboutGetDerivedStateOnFunctionalComponent[_componentName] = true; + } + } + } + reconcileChildren(current, workInProgress, value); + memoizeProps(workInProgress, props); + return workInProgress.child; + } + } + + function updateTimeoutComponent(current, workInProgress, renderExpirationTime) { + if (enableSuspense) { + var nextProps = workInProgress.pendingProps; + var prevProps = workInProgress.memoizedProps; + var prevDidTimeout = workInProgress.memoizedState; + var alreadyCaptured = (workInProgress.effectTag & DidCapture) === NoEffect; + var nextDidTimeout = !alreadyCaptured; + + if (hasContextChanged()) {} else if (nextProps === prevProps && nextDidTimeout === prevDidTimeout) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var render = nextProps.children; + var nextChildren = render(nextDidTimeout); + workInProgress.memoizedProps = nextProps; + workInProgress.memoizedState = nextDidTimeout; + reconcileChildren(current, workInProgress, nextChildren); + return workInProgress.child; + } else { + return null; + } + } + + function updatePortalComponent(current, workInProgress, renderExpirationTime) { + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + var nextChildren = workInProgress.pendingProps; + + if (hasContextChanged()) {} else if (workInProgress.memoizedProps === nextChildren) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + if (current === null) { + workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + memoizeProps(workInProgress, nextChildren); + } else { + reconcileChildren(current, workInProgress, nextChildren); + memoizeProps(workInProgress, nextChildren); + } + + return workInProgress.child; + } + + function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { + var fiber = workInProgress.child; + + if (fiber !== null) { + fiber.return = workInProgress; + } + + while (fiber !== null) { + var nextFiber = void 0; + + switch (fiber.tag) { + case ContextConsumer: + var observedBits = fiber.stateNode | 0; + + if (fiber.type === context && (observedBits & changedBits) !== 0) { + var node = fiber; + + while (node !== null) { + var alternate = node.alternate; + + if (node.expirationTime === NoWork || node.expirationTime > renderExpirationTime) { + node.expirationTime = renderExpirationTime; + + if (alternate !== null && (alternate.expirationTime === NoWork || alternate.expirationTime > renderExpirationTime)) { + alternate.expirationTime = renderExpirationTime; + } + } else if (alternate !== null && (alternate.expirationTime === NoWork || alternate.expirationTime > renderExpirationTime)) { + alternate.expirationTime = renderExpirationTime; + } else { + break; + } + + node = node.return; + } + + nextFiber = null; + } else { + nextFiber = fiber.child; + } + + break; + + case ContextProvider: + nextFiber = fiber.type === workInProgress.type ? null : fiber.child; + break; + + default: + nextFiber = fiber.child; + break; + } + + if (nextFiber !== null) { + nextFiber.return = fiber; + } else { + nextFiber = fiber; + + while (nextFiber !== null) { + if (nextFiber === workInProgress) { + nextFiber = null; + break; + } + + var sibling = nextFiber.sibling; + + if (sibling !== null) { + sibling.return = nextFiber.return; + nextFiber = sibling; + break; + } + + nextFiber = nextFiber.return; + } + } + + fiber = nextFiber; + } + } + + function updateContextProvider(current, workInProgress, renderExpirationTime) { + var providerType = workInProgress.type; + var context = providerType._context; + var newProps = workInProgress.pendingProps; + var oldProps = workInProgress.memoizedProps; + var canBailOnProps = true; + + if (hasContextChanged()) { + canBailOnProps = false; + } else if (oldProps === newProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var newValue = newProps.value; + workInProgress.memoizedProps = newProps; + { + var providerPropTypes = workInProgress.type.propTypes; + + if (providerPropTypes) { + checkPropTypes(providerPropTypes, newProps, "prop", "Context.Provider", getCurrentFiberStackAddendum$1); + } + } + var changedBits = void 0; + + if (oldProps === null) { + changedBits = MAX_SIGNED_31_BIT_INT; + } else { + if (oldProps.value === newProps.value) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + changedBits = 0; + } else { + var oldValue = oldProps.value; + + if (oldValue === newValue && (oldValue !== 0 || 1 / oldValue === 1 / newValue) || oldValue !== oldValue && newValue !== newValue) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + changedBits = 0; + } else { + changedBits = typeof context._calculateChangedBits === "function" ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; + { + !((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits) ? warning(false, "calculateChangedBits: Expected the return value to be a " + "31-bit integer. Instead received: %s", changedBits) : void 0; + } + changedBits |= 0; + + if (changedBits === 0) { + if (oldProps.children === newProps.children && canBailOnProps) { + workInProgress.stateNode = 0; + pushProvider(workInProgress); + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + } else { + propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); + } + } + } + } + + workInProgress.stateNode = changedBits; + pushProvider(workInProgress); + var newChildren = newProps.children; + reconcileChildren(current, workInProgress, newChildren); + return workInProgress.child; + } + + function updateContextConsumer(current, workInProgress, renderExpirationTime) { + var context = workInProgress.type; + var newProps = workInProgress.pendingProps; + var oldProps = workInProgress.memoizedProps; + var newValue = getContextCurrentValue(context); + var changedBits = getContextChangedBits(context); + + if (hasContextChanged()) {} else if (changedBits === 0 && oldProps === newProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + workInProgress.memoizedProps = newProps; + var observedBits = newProps.unstable_observedBits; + + if (observedBits === undefined || observedBits === null) { + observedBits = MAX_SIGNED_31_BIT_INT; + } + + workInProgress.stateNode = observedBits; + + if ((changedBits & observedBits) !== 0) { + propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); + } else if (oldProps === newProps) { + return bailoutOnAlreadyFinishedWork(current, workInProgress); + } + + var render = newProps.children; + { + !(typeof render === "function") ? warning(false, "A context consumer was rendered with multiple children, or a child " + "that isn't a function. A context consumer expects a single child " + "that is a function. If you did pass a function, make sure there " + "is no trailing or leading whitespace around it.") : void 0; + } + var newChildren = void 0; + { + ReactCurrentOwner.current = workInProgress; + ReactDebugCurrentFiber.setCurrentPhase("render"); + newChildren = render(newValue); + ReactDebugCurrentFiber.setCurrentPhase(null); + } + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current, workInProgress, newChildren); + return workInProgress.child; + } + + function bailoutOnAlreadyFinishedWork(current, workInProgress) { + cancelWorkTimer(workInProgress); + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + cloneChildFibers(current, workInProgress); + return workInProgress.child; + } + + function bailoutOnLowPriority(current, workInProgress) { + cancelWorkTimer(workInProgress); + + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + switch (workInProgress.tag) { + case HostRoot: + pushHostRootContext(workInProgress); + break; + + case ClassComponent: + pushContextProvider(workInProgress); + break; + + case HostPortal: + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + break; + + case ContextProvider: + pushProvider(workInProgress); + break; + } + + return null; + } + + function memoizeProps(workInProgress, nextProps) { + workInProgress.memoizedProps = nextProps; + } + + function memoizeState(workInProgress, nextState) { + workInProgress.memoizedState = nextState; + } + + function beginWork(current, workInProgress, renderExpirationTime) { + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + markActualRenderTimeStarted(workInProgress); + } + } + + if (workInProgress.expirationTime === NoWork || workInProgress.expirationTime > renderExpirationTime) { + return bailoutOnLowPriority(current, workInProgress); + } + + switch (workInProgress.tag) { + case IndeterminateComponent: + return mountIndeterminateComponent(current, workInProgress, renderExpirationTime); + + case FunctionalComponent: + return updateFunctionalComponent(current, workInProgress); + + case ClassComponent: + return updateClassComponent(current, workInProgress, renderExpirationTime); + + case HostRoot: + return updateHostRoot(current, workInProgress, renderExpirationTime); + + case HostComponent: + return updateHostComponent(current, workInProgress, renderExpirationTime); + + case HostText: + return updateHostText(current, workInProgress); + + case TimeoutComponent: + return updateTimeoutComponent(current, workInProgress, renderExpirationTime); + + case HostPortal: + return updatePortalComponent(current, workInProgress, renderExpirationTime); + + case ForwardRef: + return updateForwardRef(current, workInProgress); + + case Fragment: + return updateFragment(current, workInProgress); + + case Mode: + return updateMode(current, workInProgress); + + case Profiler: + return updateProfiler(current, workInProgress); + + case ContextProvider: + return updateContextProvider(current, workInProgress, renderExpirationTime); + + case ContextConsumer: + return updateContextConsumer(current, workInProgress, renderExpirationTime); + + default: + invariant(false, "Unknown unit of work tag. This error is likely caused by a bug in " + "React. Please file an issue."); + } + } + + function markUpdate(workInProgress) { + workInProgress.effectTag |= Update; + } + + function markRef$1(workInProgress) { + workInProgress.effectTag |= Ref; + } + + function appendAllChildren(parent, workInProgress) { + var node = workInProgress.child; + + while (node !== null) { + if (node.tag === HostComponent || node.tag === HostText) { + appendInitialChild(parent, node.stateNode); + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === workInProgress) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + var updateHostContainer = void 0; + var updateHostComponent$1 = void 0; + var updateHostText$1 = void 0; + + if (supportsMutation) { + updateHostContainer = function updateHostContainer(workInProgress) {}; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) { + workInProgress.updateQueue = updatePayload; + + if (updatePayload) { + markUpdate(workInProgress); + } + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + if (oldText !== newText) { + markUpdate(workInProgress); + } + }; + } else if (supportsPersistence) { + var appendAllChildrenToContainer = function appendAllChildrenToContainer(containerChildSet, workInProgress) { + var node = workInProgress.child; + + while (node !== null) { + if (node.tag === HostComponent || node.tag === HostText) { + appendChildToContainerChildSet(containerChildSet, node.stateNode); + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === workInProgress) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + }; + + updateHostContainer = function updateHostContainer(workInProgress) { + var portalOrRoot = workInProgress.stateNode; + var childrenUnchanged = workInProgress.firstEffect === null; + + if (childrenUnchanged) {} else { + var container = portalOrRoot.containerInfo; + var newChildSet = createContainerChildSet(container); + appendAllChildrenToContainer(newChildSet, workInProgress); + portalOrRoot.pendingChildren = newChildSet; + markUpdate(workInProgress); + finalizeContainerChildren(container, newChildSet); + } + }; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) { + var childrenUnchanged = workInProgress.firstEffect === null; + var currentInstance = current.stateNode; + + if (childrenUnchanged && updatePayload === null) { + workInProgress.stateNode = currentInstance; + } else { + var recyclableInstance = workInProgress.stateNode; + var newInstance = cloneInstance(currentInstance, updatePayload, type, oldProps, newProps, workInProgress, childrenUnchanged, recyclableInstance); + + if (finalizeInitialChildren(newInstance, type, newProps, rootContainerInstance, currentHostContext)) { + markUpdate(workInProgress); + } + + workInProgress.stateNode = newInstance; + + if (childrenUnchanged) { + markUpdate(workInProgress); + } else { + appendAllChildren(newInstance, workInProgress); + } + } + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + if (oldText !== newText) { + var rootContainerInstance = getRootHostContainer(); + var currentHostContext = getHostContext(); + workInProgress.stateNode = createTextInstance(newText, rootContainerInstance, currentHostContext, workInProgress); + markUpdate(workInProgress); + } + }; + } else { + updateHostContainer = function updateHostContainer(workInProgress) {}; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext) {}; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) {}; + } + + function completeWork(current, workInProgress, renderExpirationTime) { + var newProps = workInProgress.pendingProps; + + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + recordElapsedActualRenderTime(workInProgress); + } + } + + switch (workInProgress.tag) { + case FunctionalComponent: + return null; + + case ClassComponent: + { + popContextProvider(workInProgress); + return null; + } + + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var fiberRoot = workInProgress.stateNode; + + if (fiberRoot.pendingContext) { + fiberRoot.context = fiberRoot.pendingContext; + fiberRoot.pendingContext = null; + } + + if (current === null || current.child === null) { + popHydrationState(workInProgress); + workInProgress.effectTag &= ~Placement; + } + + updateHostContainer(workInProgress); + return null; + } + + case HostComponent: + { + popHostContext(workInProgress); + var rootContainerInstance = getRootHostContainer(); + var type = workInProgress.type; + + if (current !== null && workInProgress.stateNode != null) { + var oldProps = current.memoizedProps; + var instance = workInProgress.stateNode; + var currentHostContext = getHostContext(); + var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); + updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext); + + if (current.ref !== workInProgress.ref) { + markRef$1(workInProgress); + } + } else { + if (!newProps) { + invariant(workInProgress.stateNode !== null, "We must have new props for new mounts. This error is likely " + "caused by a bug in React. Please file an issue."); + return null; + } + + var _currentHostContext = getHostContext(); + + var wasHydrated = popHydrationState(workInProgress); + + if (wasHydrated) { + if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, _currentHostContext)) { + markUpdate(workInProgress); + } + } else { + var _instance = createInstance(type, newProps, rootContainerInstance, _currentHostContext, workInProgress); + + appendAllChildren(_instance, workInProgress); + + if (finalizeInitialChildren(_instance, type, newProps, rootContainerInstance, _currentHostContext)) { + markUpdate(workInProgress); + } + + workInProgress.stateNode = _instance; + } + + if (workInProgress.ref !== null) { + markRef$1(workInProgress); + } + } + + return null; + } + + case HostText: + { + var newText = newProps; + + if (current && workInProgress.stateNode != null) { + var oldText = current.memoizedProps; + updateHostText$1(current, workInProgress, oldText, newText); + } else { + if (typeof newText !== "string") { + invariant(workInProgress.stateNode !== null, "We must have new props for new mounts. This error is likely " + "caused by a bug in React. Please file an issue."); + return null; + } + + var _rootContainerInstance = getRootHostContainer(); + + var _currentHostContext2 = getHostContext(); + + var _wasHydrated = popHydrationState(workInProgress); + + if (_wasHydrated) { + if (prepareToHydrateHostTextInstance(workInProgress)) { + markUpdate(workInProgress); + } + } else { + workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext2, workInProgress); + } + } + + return null; + } + + case ForwardRef: + return null; + + case TimeoutComponent: + return null; + + case Fragment: + return null; + + case Mode: + return null; + + case Profiler: + return null; + + case HostPortal: + popHostContainer(workInProgress); + updateHostContainer(workInProgress); + return null; + + case ContextProvider: + popProvider(workInProgress); + return null; + + case ContextConsumer: + return null; + + case IndeterminateComponent: + invariant(false, "An indeterminate component should have become determinate before " + "completing. This error is likely caused by a bug in React. Please " + "file an issue."); + + default: + invariant(false, "Unknown unit of work tag. This error is likely caused by a bug in " + "React. Please file an issue."); + } + } + + function showErrorDialog(capturedError) { + var componentStack = capturedError.componentStack, + error = capturedError.error; + var errorToHandle = void 0; + + if (error instanceof Error) { + var message = error.message, + name = error.name; + var summary = message ? name + ": " + message : name; + errorToHandle = error; + + try { + errorToHandle.message = summary + "\n\nThis error is located at:" + componentStack; + } catch (e) {} + } else if (typeof error === "string") { + errorToHandle = new Error(error + "\n\nThis error is located at:" + componentStack); + } else { + errorToHandle = new Error("Unspecified error at:" + componentStack); + } + + ExceptionsManager.handleException(errorToHandle, false); + return false; + } + + function logCapturedError(capturedError) { + var logError = showErrorDialog(capturedError); + + if (logError === false) { + return; + } + + var error = capturedError.error; + var suppressLogging = error && error.suppressReactErrorLogging; + + if (suppressLogging) { + return; + } + + { + var componentName = capturedError.componentName, + componentStack = capturedError.componentStack, + errorBoundaryName = capturedError.errorBoundaryName, + errorBoundaryFound = capturedError.errorBoundaryFound, + willRetry = capturedError.willRetry; + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : "The above error occurred in one of your React components:"; + var errorBoundaryMessage = void 0; + + if (errorBoundaryFound && errorBoundaryName) { + if (willRetry) { + errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + "."); + } else { + errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree."; + } + } else { + errorBoundaryMessage = "Consider adding an error boundary to your tree to customize error handling behavior.\n" + "Visit https://fb.me/react-error-boundaries to learn more about error boundaries."; + } + + var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); + console.error(combinedMessage); + } + } + + var invokeGuardedCallback$3 = ReactErrorUtils.invokeGuardedCallback; + var hasCaughtError$1 = ReactErrorUtils.hasCaughtError; + var clearCaughtError$1 = ReactErrorUtils.clearCaughtError; + var didWarnAboutUndefinedSnapshotBeforeUpdate = null; + { + didWarnAboutUndefinedSnapshotBeforeUpdate = new Set(); + } + + function logError(boundary, errorInfo) { + var source = errorInfo.source; + var stack = errorInfo.stack; + + if (stack === null && source !== null) { + stack = getStackAddendumByWorkInProgressFiber(source); + } + + var capturedError = { + componentName: source !== null ? getComponentName(source) : null, + componentStack: stack !== null ? stack : "", + error: errorInfo.value, + errorBoundary: null, + errorBoundaryName: null, + errorBoundaryFound: false, + willRetry: false + }; + + if (boundary !== null && boundary.tag === ClassComponent) { + capturedError.errorBoundary = boundary.stateNode; + capturedError.errorBoundaryName = getComponentName(boundary); + capturedError.errorBoundaryFound = true; + capturedError.willRetry = true; + } + + try { + logCapturedError(capturedError); + } catch (e) { + var suppressLogging = e && e.suppressReactErrorLogging; + + if (!suppressLogging) { + console.error(e); + } + } + } + + var callComponentWillUnmountWithTimer = function callComponentWillUnmountWithTimer(current, instance) { + startPhaseTimer(current, "componentWillUnmount"); + instance.props = current.memoizedProps; + instance.state = current.memoizedState; + instance.componentWillUnmount(); + stopPhaseTimer(); + }; + + function safelyCallComponentWillUnmount(current, instance) { + { + invokeGuardedCallback$3(null, callComponentWillUnmountWithTimer, null, current, instance); + + if (hasCaughtError$1()) { + var unmountError = clearCaughtError$1(); + captureCommitPhaseError(current, unmountError); + } + } + } + + function safelyDetachRef(current) { + var ref = current.ref; + + if (ref !== null) { + if (typeof ref === "function") { + { + invokeGuardedCallback$3(null, ref, null, null); + + if (hasCaughtError$1()) { + var refError = clearCaughtError$1(); + captureCommitPhaseError(current, refError); + } + } + } else { + ref.current = null; + } + } + } + + function commitBeforeMutationLifeCycles(current, finishedWork) { + switch (finishedWork.tag) { + case ClassComponent: + { + if (finishedWork.effectTag & Snapshot) { + if (current !== null) { + var prevProps = current.memoizedProps; + var prevState = current.memoizedState; + startPhaseTimer(finishedWork, "getSnapshotBeforeUpdate"); + var instance = finishedWork.stateNode; + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + var snapshot = instance.getSnapshotBeforeUpdate(prevProps, prevState); + { + var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; + + if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) { + didWarnSet.add(finishedWork.type); + warning(false, "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) " + "must be returned. You have returned undefined.", getComponentName(finishedWork)); + } + } + instance.__reactInternalSnapshotBeforeUpdate = snapshot; + stopPhaseTimer(); + } + } + + return; + } + + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + return; + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitLifeCycles(finishedRoot, current, finishedWork, currentTime, committedExpirationTime) { + switch (finishedWork.tag) { + case ClassComponent: + { + var instance = finishedWork.stateNode; + + if (finishedWork.effectTag & Update) { + if (current === null) { + startPhaseTimer(finishedWork, "componentDidMount"); + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + instance.componentDidMount(); + stopPhaseTimer(); + } else { + var prevProps = current.memoizedProps; + var prevState = current.memoizedState; + startPhaseTimer(finishedWork, "componentDidUpdate"); + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); + stopPhaseTimer(); + } + } + + var updateQueue = finishedWork.updateQueue; + + if (updateQueue !== null) { + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + commitUpdateQueue(finishedWork, updateQueue, instance, committedExpirationTime); + } + + return; + } + + case HostRoot: + { + var _updateQueue = finishedWork.updateQueue; + + if (_updateQueue !== null) { + var _instance = null; + + if (finishedWork.child !== null) { + switch (finishedWork.child.tag) { + case HostComponent: + _instance = getPublicInstance(finishedWork.child.stateNode); + break; + + case ClassComponent: + _instance = finishedWork.child.stateNode; + break; + } + } + + commitUpdateQueue(finishedWork, _updateQueue, _instance, committedExpirationTime); + } + + return; + } + + case HostComponent: + { + var _instance2 = finishedWork.stateNode; + + if (current === null && finishedWork.effectTag & Update) { + var type = finishedWork.type; + var props = finishedWork.memoizedProps; + commitMount(_instance2, type, props, finishedWork); + } + + return; + } + + case HostText: + { + return; + } + + case HostPortal: + { + return; + } + + case Profiler: + { + return; + } + + case TimeoutComponent: + { + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + + if (ref !== null) { + var instance = finishedWork.stateNode; + var instanceToUse = void 0; + + switch (finishedWork.tag) { + case HostComponent: + instanceToUse = getPublicInstance(instance); + break; + + default: + instanceToUse = instance; + } + + if (typeof ref === "function") { + ref(instanceToUse); + } else { + { + if (!ref.hasOwnProperty("current")) { + warning(false, "Unexpected ref object provided for %s. " + "Use either a ref-setter function or React.createRef().%s", getComponentName(finishedWork), getStackAddendumByWorkInProgressFiber(finishedWork)); + } + } + ref.current = instanceToUse; + } + } + } + + function commitDetachRef(current) { + var currentRef = current.ref; + + if (currentRef !== null) { + if (typeof currentRef === "function") { + currentRef(null); + } else { + currentRef.current = null; + } + } + } + + function commitUnmount(current) { + if (typeof onCommitUnmount === "function") { + onCommitUnmount(current); + } + + switch (current.tag) { + case ClassComponent: + { + safelyDetachRef(current); + var instance = current.stateNode; + + if (typeof instance.componentWillUnmount === "function") { + safelyCallComponentWillUnmount(current, instance); + } + + return; + } + + case HostComponent: + { + safelyDetachRef(current); + return; + } + + case HostPortal: + { + if (supportsMutation) { + unmountHostComponents(current); + } else if (supportsPersistence) { + emptyPortalContainer(current); + } + + return; + } + } + } + + function commitNestedUnmounts(root) { + var node = root; + + while (true) { + commitUnmount(node); + + if (node.child !== null && (!supportsMutation || node.tag !== HostPortal)) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === root) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === root) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function detachFiber(current) { + current.return = null; + current.child = null; + + if (current.alternate) { + current.alternate.child = null; + current.alternate.return = null; + } + } + + function emptyPortalContainer(current) { + if (!supportsPersistence) { + return; + } + + var portal = current.stateNode; + var containerInfo = portal.containerInfo; + var emptyChildSet = createContainerChildSet(containerInfo); + } + + function commitContainer(finishedWork) { + if (!supportsPersistence) { + return; + } + + switch (finishedWork.tag) { + case ClassComponent: + { + return; + } + + case HostComponent: + { + return; + } + + case HostText: + { + return; + } + + case HostRoot: + case HostPortal: + { + var portalOrRoot = finishedWork.stateNode; + var containerInfo = portalOrRoot.containerInfo, + _pendingChildren = portalOrRoot.pendingChildren; + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function getHostParentFiber(fiber) { + var parent = fiber.return; + + while (parent !== null) { + if (isHostParent(parent)) { + return parent; + } + + parent = parent.return; + } + + invariant(false, "Expected to find a host parent. This error is likely caused by a bug " + "in React. Please file an issue."); + } + + function isHostParent(fiber) { + return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; + } + + function getHostSibling(fiber) { + var node = fiber; + + siblings: while (true) { + while (node.sibling === null) { + if (node.return === null || isHostParent(node.return)) { + return null; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + + while (node.tag !== HostComponent && node.tag !== HostText) { + if (node.effectTag & Placement) { + continue siblings; + } + + if (node.child === null || node.tag === HostPortal) { + continue siblings; + } else { + node.child.return = node; + node = node.child; + } + } + + if (!(node.effectTag & Placement)) { + return node.stateNode; + } + } + } + + function commitPlacement(finishedWork) { + if (!supportsMutation) { + return; + } + + var parentFiber = getHostParentFiber(finishedWork); + var parent = void 0; + var isContainer = void 0; + + switch (parentFiber.tag) { + case HostComponent: + parent = parentFiber.stateNode; + isContainer = false; + break; + + case HostRoot: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + + case HostPortal: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + + default: + invariant(false, "Invalid host parent fiber. This error is likely caused by a bug " + "in React. Please file an issue."); + } + + if (parentFiber.effectTag & ContentReset) { + resetTextContent(parent); + parentFiber.effectTag &= ~ContentReset; + } + + var before = getHostSibling(finishedWork); + var node = finishedWork; + + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + if (before) { + if (isContainer) { + insertInContainerBefore(parent, node.stateNode, before); + } else { + insertBefore(parent, node.stateNode, before); + } + } else { + if (isContainer) { + appendChildToContainer(parent, node.stateNode); + } else { + appendChild$1(parent, node.stateNode); + } + } + } else if (node.tag === HostPortal) {} else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + + if (node === finishedWork) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === finishedWork) { + return; + } + + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function unmountHostComponents(current) { + var node = current; + var currentParentIsValid = false; + var currentParent = void 0; + var currentParentIsContainer = void 0; + + while (true) { + if (!currentParentIsValid) { + var parent = node.return; + + findParent: while (true) { + invariant(parent !== null, "Expected to find a host parent. This error is likely caused by " + "a bug in React. Please file an issue."); + + switch (parent.tag) { + case HostComponent: + currentParent = parent.stateNode; + currentParentIsContainer = false; + break findParent; + + case HostRoot: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + + case HostPortal: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + } + + parent = parent.return; + } + + currentParentIsValid = true; + } + + if (node.tag === HostComponent || node.tag === HostText) { + commitNestedUnmounts(node); + + if (currentParentIsContainer) { + removeChildFromContainer(currentParent, node.stateNode); + } else { + removeChild(currentParent, node.stateNode); + } + } else if (node.tag === HostPortal) { + currentParent = node.stateNode.containerInfo; + + if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + } else { + commitUnmount(node); + + if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + } + + if (node === current) { + return; + } + + while (node.sibling === null) { + if (node.return === null || node.return === current) { + return; + } + + node = node.return; + + if (node.tag === HostPortal) { + currentParentIsValid = false; + } + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + function commitDeletion(current) { + if (supportsMutation) { + unmountHostComponents(current); + } else { + commitNestedUnmounts(current); + } + + detachFiber(current); + } + + function commitWork(current, finishedWork) { + if (!supportsMutation) { + commitContainer(finishedWork); + return; + } + + switch (finishedWork.tag) { + case ClassComponent: + { + return; + } + + case HostComponent: + { + var instance = finishedWork.stateNode; + + if (instance != null) { + var newProps = finishedWork.memoizedProps; + var oldProps = current !== null ? current.memoizedProps : newProps; + var type = finishedWork.type; + var updatePayload = finishedWork.updateQueue; + finishedWork.updateQueue = null; + + if (updatePayload !== null) { + commitUpdate(instance, updatePayload, type, oldProps, newProps, finishedWork); + } + } + + return; + } + + case HostText: + { + invariant(finishedWork.stateNode !== null, "This should have a text node initialized. This error is likely " + "caused by a bug in React. Please file an issue."); + var textInstance = finishedWork.stateNode; + var newText = finishedWork.memoizedProps; + var oldText = current !== null ? current.memoizedProps : newText; + commitTextUpdate(textInstance, oldText, newText); + return; + } + + case HostRoot: + { + return; + } + + case Profiler: + { + if (enableProfilerTimer) { + var onRender = finishedWork.memoizedProps.onRender; + onRender(finishedWork.memoizedProps.id, current === null ? "mount" : "update", finishedWork.actualDuration, finishedWork.treeBaseTime, finishedWork.actualStartTime, getCommitTime()); + } + + return; + } + + case TimeoutComponent: + { + return; + } + + default: + { + invariant(false, "This unit of work tag should not have side-effects. This error is " + "likely caused by a bug in React. Please file an issue."); + } + } + } + + function commitResetTextContent(current) { + if (!supportsMutation) { + return; + } + + resetTextContent(current.stateNode); + } + + function createRootErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + update.tag = CaptureUpdate; + update.payload = { + element: null + }; + var error = errorInfo.value; + + update.callback = function () { + onUncaughtError(error); + logError(fiber, errorInfo); + }; + + return update; + } + + function createClassErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + update.tag = CaptureUpdate; + var getDerivedStateFromCatch = fiber.type.getDerivedStateFromCatch; + + if (enableGetDerivedStateFromCatch && typeof getDerivedStateFromCatch === "function") { + var error = errorInfo.value; + + update.payload = function () { + return getDerivedStateFromCatch(error); + }; + } + + var inst = fiber.stateNode; + + if (inst !== null && typeof inst.componentDidCatch === "function") { + update.callback = function callback() { + if (!enableGetDerivedStateFromCatch || getDerivedStateFromCatch !== "function") { + markLegacyErrorBoundaryAsFailed(this); + } + + var error = errorInfo.value; + var stack = errorInfo.stack; + logError(fiber, errorInfo); + this.componentDidCatch(error, { + componentStack: stack !== null ? stack : "" + }); + }; + } + + return update; + } + + function schedulePing(finishedWork) { + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, finishedWork); + var recoveryUpdate = createUpdate(expirationTime); + enqueueUpdate(finishedWork, recoveryUpdate, expirationTime); + scheduleWork(finishedWork, expirationTime); + } + + function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime, currentTimeMs) { + sourceFiber.effectTag |= Incomplete; + sourceFiber.firstEffect = sourceFiber.lastEffect = null; + + if (enableSuspense && value !== null && typeof value === "object" && typeof value.then === "function") { + var thenable = value; + var expirationTimeMs = expirationTimeToMs(renderExpirationTime); + var startTimeMs = expirationTimeMs - 5000; + var elapsedMs = currentTimeMs - startTimeMs; + + if (elapsedMs < 0) { + elapsedMs = 0; + } + + var remainingTimeMs = expirationTimeMs - currentTimeMs; + var _workInProgress = returnFiber; + var earliestTimeoutMs = -1; + + searchForEarliestTimeout: do { + if (_workInProgress.tag === TimeoutComponent) { + var current = _workInProgress.alternate; + + if (current !== null && current.memoizedState === true) { + earliestTimeoutMs = 0; + break searchForEarliestTimeout; + } + + var timeoutPropMs = _workInProgress.pendingProps.ms; + + if (typeof timeoutPropMs === "number") { + if (timeoutPropMs <= 0) { + earliestTimeoutMs = 0; + break searchForEarliestTimeout; + } else if (earliestTimeoutMs === -1 || timeoutPropMs < earliestTimeoutMs) { + earliestTimeoutMs = timeoutPropMs; + } + } else if (earliestTimeoutMs === -1) { + earliestTimeoutMs = remainingTimeMs; + } + } + + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + + var msUntilTimeout = earliestTimeoutMs - elapsedMs; + + if (renderExpirationTime === Never || msUntilTimeout > 0) { + markTimeout(root, thenable, msUntilTimeout, renderExpirationTime); + + var onResolveOrReject = function onResolveOrReject() { + retrySuspendedRoot(root, renderExpirationTime); + }; + + thenable.then(onResolveOrReject, onResolveOrReject); + return; + } else { + _workInProgress = returnFiber; + + do { + switch (_workInProgress.tag) { + case HostRoot: + { + var message = renderExpirationTime === Sync ? "A synchronous update was suspended, but no fallback UI " + "was provided." : "An update was suspended for longer than the timeout, " + "but no fallback UI was provided."; + value = new Error(message); + break; + } + + case TimeoutComponent: + { + if ((_workInProgress.effectTag & DidCapture) === NoEffect) { + _workInProgress.effectTag |= ShouldCapture; + + var _onResolveOrReject = schedulePing.bind(null, _workInProgress); + + thenable.then(_onResolveOrReject, _onResolveOrReject); + return; + } + + break; + } + } + + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + } + } else { + markError(root); + + if (!root.didError && renderExpirationTime !== Sync || hasLowerPriorityWork(root, renderExpirationTime)) { + return; + } + } + + value = createCapturedValue(value, sourceFiber); + var workInProgress = returnFiber; + + do { + switch (workInProgress.tag) { + case HostRoot: + { + var _errorInfo = value; + workInProgress.effectTag |= ShouldCapture; + var update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime); + enqueueCapturedUpdate(workInProgress, update, renderExpirationTime); + return; + } + + case ClassComponent: + var errorInfo = value; + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + + if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromCatch === "function" && enableGetDerivedStateFromCatch || instance !== null && typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance))) { + workInProgress.effectTag |= ShouldCapture; + + var _update = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime); + + enqueueCapturedUpdate(workInProgress, _update, renderExpirationTime); + return; + } + + break; + + default: + break; + } + + workInProgress = workInProgress.return; + } while (workInProgress !== null); + } + + function unwindWork(workInProgress, renderExpirationTime) { + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + recordElapsedActualRenderTime(workInProgress); + } + } + + switch (workInProgress.tag) { + case ClassComponent: + { + popContextProvider(workInProgress); + var effectTag = workInProgress.effectTag; + + if (effectTag & ShouldCapture) { + workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var _effectTag = workInProgress.effectTag; + + if (_effectTag & ShouldCapture) { + workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostComponent: + { + popHostContext(workInProgress); + return null; + } + + case TimeoutComponent: + { + var _effectTag2 = workInProgress.effectTag; + + if (_effectTag2 & ShouldCapture) { + workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; + return workInProgress; + } + + return null; + } + + case HostPortal: + popHostContainer(workInProgress); + return null; + + case ContextProvider: + popProvider(workInProgress); + return null; + + default: + return null; + } + } + + function unwindInterruptedWork(interruptedWork) { + if (enableProfilerTimer) { + if (interruptedWork.mode & ProfileMode) { + resumeActualRenderTimerIfPaused(); + recordElapsedActualRenderTime(interruptedWork); + } + } + + switch (interruptedWork.tag) { + case ClassComponent: + { + popContextProvider(interruptedWork); + break; + } + + case HostRoot: + { + popHostContainer(interruptedWork); + popTopLevelContextObject(interruptedWork); + break; + } + + case HostComponent: + { + popHostContext(interruptedWork); + break; + } + + case HostPortal: + popHostContainer(interruptedWork); + break; + + case ContextProvider: + popProvider(interruptedWork); + break; + + default: + break; + } + } + + var invokeGuardedCallback$2 = ReactErrorUtils.invokeGuardedCallback; + var hasCaughtError = ReactErrorUtils.hasCaughtError; + var clearCaughtError = ReactErrorUtils.clearCaughtError; + var didWarnAboutStateTransition = void 0; + var didWarnSetStateChildContext = void 0; + var warnAboutUpdateOnUnmounted = void 0; + var warnAboutInvalidUpdates = void 0; + { + didWarnAboutStateTransition = false; + didWarnSetStateChildContext = false; + var didWarnStateUpdateForUnmountedComponent = {}; + + warnAboutUpdateOnUnmounted = function warnAboutUpdateOnUnmounted(fiber) { + var componentName = getComponentName(fiber) || "ReactClass"; + + if (didWarnStateUpdateForUnmountedComponent[componentName]) { + return; + } + + warning(false, "Can't call setState (or forceUpdate) on an unmounted component. This " + "is a no-op, but it indicates a memory leak in your application. To " + "fix, cancel all subscriptions and asynchronous tasks in the " + "componentWillUnmount method.%s", getStackAddendumByWorkInProgressFiber(fiber)); + didWarnStateUpdateForUnmountedComponent[componentName] = true; + }; + + warnAboutInvalidUpdates = function warnAboutInvalidUpdates(instance) { + switch (ReactDebugCurrentFiber.phase) { + case "getChildContext": + if (didWarnSetStateChildContext) { + return; + } + + warning(false, "setState(...): Cannot call setState() inside getChildContext()"); + didWarnSetStateChildContext = true; + break; + + case "render": + if (didWarnAboutStateTransition) { + return; + } + + warning(false, "Cannot update during an existing state transition (such as within " + "`render` or another component's constructor). Render methods should " + "be a pure function of props and state; constructor side-effects are " + "an anti-pattern, but can be moved to `componentWillMount`."); + didWarnAboutStateTransition = true; + break; + } + }; + } + var originalStartTimeMs = now(); + var mostRecentCurrentTime = msToExpirationTime(0); + var mostRecentCurrentTimeMs = originalStartTimeMs; + var lastUniqueAsyncExpiration = 0; + var expirationContext = NoWork; + var isWorking = false; + var nextUnitOfWork = null; + var nextRoot = null; + var nextRenderExpirationTime = NoWork; + var nextLatestTimeoutMs = -1; + var nextRenderDidError = false; + var nextEffect = null; + var isCommitting$1 = false; + var legacyErrorBoundariesThatAlreadyFailed = null; + var interruptedBy = null; + var stashedWorkInProgressProperties = void 0; + var replayUnitOfWork = void 0; + var isReplayingFailedUnitOfWork = void 0; + var originalReplayError = void 0; + var rethrowOriginalError = void 0; + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = null; + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + + replayUnitOfWork = function replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy) { + if (thrownValue !== null && typeof thrownValue === "object" && typeof thrownValue.then === "function") { + return; + } + + if (stashedWorkInProgressProperties === null) { + warning(false, "Could not replay rendering after an error. This is likely a bug in React. " + "Please file an issue."); + return; + } + + assignFiberPropertiesInDEV(failedUnitOfWork, stashedWorkInProgressProperties); + + switch (failedUnitOfWork.tag) { + case HostRoot: + popHostContainer(failedUnitOfWork); + popTopLevelContextObject(failedUnitOfWork); + break; + + case HostComponent: + popHostContext(failedUnitOfWork); + break; + + case ClassComponent: + popContextProvider(failedUnitOfWork); + break; + + case HostPortal: + popHostContainer(failedUnitOfWork); + break; + + case ContextProvider: + popProvider(failedUnitOfWork); + break; + } + + isReplayingFailedUnitOfWork = true; + originalReplayError = thrownValue; + invokeGuardedCallback$2(null, workLoop, null, isYieldy); + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + + if (hasCaughtError()) { + clearCaughtError(); + + if (enableProfilerTimer) { + if (failedUnitOfWork.mode & ProfileMode) { + recordElapsedActualRenderTime(failedUnitOfWork); + } + + stopBaseRenderTimerIfRunning(); + } + } else { + nextUnitOfWork = failedUnitOfWork; + } + }; + + rethrowOriginalError = function rethrowOriginalError() { + throw originalReplayError; + }; + } + + function resetStack() { + if (nextUnitOfWork !== null) { + var interruptedWork = nextUnitOfWork.return; + + while (interruptedWork !== null) { + unwindInterruptedWork(interruptedWork); + interruptedWork = interruptedWork.return; + } + } + + { + ReactStrictModeWarnings.discardPendingWarnings(); + checkThatStackIsEmpty(); + } + nextRoot = null; + nextRenderExpirationTime = NoWork; + nextLatestTimeoutMs = -1; + nextRenderDidError = false; + nextUnitOfWork = null; + } + + function commitAllHostEffects() { + while (nextEffect !== null) { + { + ReactDebugCurrentFiber.setCurrentFiber(nextEffect); + } + recordEffect(); + var effectTag = nextEffect.effectTag; + + if (effectTag & ContentReset) { + commitResetTextContent(nextEffect); + } + + if (effectTag & Ref) { + var current = nextEffect.alternate; + + if (current !== null) { + commitDetachRef(current); + } + } + + var primaryEffectTag = effectTag & (Placement | Update | Deletion); + + switch (primaryEffectTag) { + case Placement: + { + commitPlacement(nextEffect); + nextEffect.effectTag &= ~Placement; + break; + } + + case PlacementAndUpdate: + { + commitPlacement(nextEffect); + nextEffect.effectTag &= ~Placement; + var _current = nextEffect.alternate; + commitWork(_current, nextEffect); + break; + } + + case Update: + { + var _current2 = nextEffect.alternate; + commitWork(_current2, nextEffect); + break; + } + + case Deletion: + { + commitDeletion(nextEffect); + break; + } + } + + nextEffect = nextEffect.nextEffect; + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + } + + function commitBeforeMutationLifecycles() { + while (nextEffect !== null) { + var effectTag = nextEffect.effectTag; + + if (effectTag & Snapshot) { + recordEffect(); + var current = nextEffect.alternate; + commitBeforeMutationLifeCycles(current, nextEffect); + } + + nextEffect = nextEffect.nextEffect; + } + } + + function commitAllLifeCycles(finishedRoot, currentTime, committedExpirationTime) { + { + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.flushPendingDeprecationWarnings(); + } + + if (warnAboutLegacyContextAPI) { + ReactStrictModeWarnings.flushLegacyContextWarning(); + } + } + + while (nextEffect !== null) { + var effectTag = nextEffect.effectTag; + + if (effectTag & (Update | Callback)) { + recordEffect(); + var current = nextEffect.alternate; + commitLifeCycles(finishedRoot, current, nextEffect, currentTime, committedExpirationTime); + } + + if (effectTag & Ref) { + recordEffect(); + commitAttachRef(nextEffect); + } + + var next = nextEffect.nextEffect; + nextEffect.nextEffect = null; + nextEffect = next; + } + } + + function isAlreadyFailedLegacyErrorBoundary(instance) { + return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); + } + + function markLegacyErrorBoundaryAsFailed(instance) { + if (legacyErrorBoundariesThatAlreadyFailed === null) { + legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); + } else { + legacyErrorBoundariesThatAlreadyFailed.add(instance); + } + } + + function commitRoot(root, finishedWork) { + isWorking = true; + isCommitting$1 = true; + startCommitTimer(); + invariant(root.current !== finishedWork, "Cannot commit the same tree as before. This is probably a bug " + "related to the return field. This error is likely caused by a bug " + "in React. Please file an issue."); + var committedExpirationTime = root.pendingCommitExpirationTime; + invariant(committedExpirationTime !== NoWork, "Cannot commit an incomplete root. This error is likely caused by a " + "bug in React. Please file an issue."); + root.pendingCommitExpirationTime = NoWork; + var earliestRemainingTime = finishedWork.expirationTime; + var currentTime = recalculateCurrentTime(); + markCommittedPriorityLevels(root, currentTime, earliestRemainingTime); + ReactCurrentOwner.current = null; + var firstEffect = void 0; + + if (finishedWork.effectTag > PerformedWork) { + if (finishedWork.lastEffect !== null) { + finishedWork.lastEffect.nextEffect = finishedWork; + firstEffect = finishedWork.firstEffect; + } else { + firstEffect = finishedWork; + } + } else { + firstEffect = finishedWork.firstEffect; + } + + prepareForCommit(root.containerInfo); + nextEffect = firstEffect; + startCommitSnapshotEffectsTimer(); + + while (nextEffect !== null) { + var didError = false; + var error = void 0; + { + invokeGuardedCallback$2(null, commitBeforeMutationLifecycles, null); + + if (hasCaughtError()) { + didError = true; + error = clearCaughtError(); + } + } + + if (didError) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, error); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + stopCommitSnapshotEffectsTimer(); + + if (enableProfilerTimer) { + recordCommitTime(); + } + + nextEffect = firstEffect; + startCommitHostEffectsTimer(); + + while (nextEffect !== null) { + var _didError = false; + + var _error = void 0; + + { + invokeGuardedCallback$2(null, commitAllHostEffects, null); + + if (hasCaughtError()) { + _didError = true; + _error = clearCaughtError(); + } + } + + if (_didError) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, _error); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + stopCommitHostEffectsTimer(); + resetAfterCommit(root.containerInfo); + root.current = finishedWork; + nextEffect = firstEffect; + startCommitLifeCyclesTimer(); + + while (nextEffect !== null) { + var _didError2 = false; + + var _error2 = void 0; + + { + invokeGuardedCallback$2(null, commitAllLifeCycles, null, root, currentTime, committedExpirationTime); + + if (hasCaughtError()) { + _didError2 = true; + _error2 = clearCaughtError(); + } + } + + if (_didError2) { + invariant(nextEffect !== null, "Should have next effect. This error is likely caused by a bug " + "in React. Please file an issue."); + captureCommitPhaseError(nextEffect, _error2); + + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + if (enableProfilerTimer) { + { + checkActualRenderTimeStackEmpty(); + } + resetActualRenderTimer(); + } + + isCommitting$1 = false; + isWorking = false; + stopCommitLifeCyclesTimer(); + stopCommitTimer(); + + if (typeof onCommitRoot === "function") { + onCommitRoot(finishedWork.stateNode); + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCommitWork(finishedWork); + } + + var expirationTime = root.expirationTime; + + if (expirationTime === NoWork) { + legacyErrorBoundariesThatAlreadyFailed = null; + } + + onCommit(root, expirationTime); + } + + function resetExpirationTime(workInProgress, renderTime) { + if (renderTime !== Never && workInProgress.expirationTime === Never) { + return; + } + + var newExpirationTime = NoWork; + + switch (workInProgress.tag) { + case HostRoot: + case ClassComponent: + { + var updateQueue = workInProgress.updateQueue; + + if (updateQueue !== null) { + newExpirationTime = updateQueue.expirationTime; + } + } + } + + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + var treeBaseTime = workInProgress.selfBaseTime; + var child = workInProgress.child; + + while (child !== null) { + treeBaseTime += child.treeBaseTime; + + if (child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > child.expirationTime)) { + newExpirationTime = child.expirationTime; + } + + child = child.sibling; + } + + workInProgress.treeBaseTime = treeBaseTime; + } else { + var _child = workInProgress.child; + + while (_child !== null) { + if (_child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > _child.expirationTime)) { + newExpirationTime = _child.expirationTime; + } + + _child = _child.sibling; + } + } + + workInProgress.expirationTime = newExpirationTime; + } + + function completeUnitOfWork(workInProgress) { + while (true) { + var current = workInProgress.alternate; + { + ReactDebugCurrentFiber.setCurrentFiber(workInProgress); + } + var returnFiber = workInProgress.return; + var siblingFiber = workInProgress.sibling; + + if ((workInProgress.effectTag & Incomplete) === NoEffect) { + var next = completeWork(current, workInProgress, nextRenderExpirationTime); + stopWorkTimer(workInProgress); + resetExpirationTime(workInProgress, nextRenderExpirationTime); + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + + if (next !== null) { + stopWorkTimer(workInProgress); + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + return next; + } + + if (returnFiber !== null && (returnFiber.effectTag & Incomplete) === NoEffect) { + if (returnFiber.firstEffect === null) { + returnFiber.firstEffect = workInProgress.firstEffect; + } + + if (workInProgress.lastEffect !== null) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress.firstEffect; + } + + returnFiber.lastEffect = workInProgress.lastEffect; + } + + var effectTag = workInProgress.effectTag; + + if (effectTag > PerformedWork) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress; + } else { + returnFiber.firstEffect = workInProgress; + } + + returnFiber.lastEffect = workInProgress; + } + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + return siblingFiber; + } else if (returnFiber !== null) { + workInProgress = returnFiber; + continue; + } else { + return null; + } + } else { + var _next = unwindWork(workInProgress, nextRenderExpirationTime); + + if (workInProgress.effectTag & DidCapture) { + stopFailedWorkTimer(workInProgress); + } else { + stopWorkTimer(workInProgress); + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + } + + if (_next !== null) { + stopWorkTimer(workInProgress); + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + _next.effectTag &= HostEffectMask; + return _next; + } + + if (returnFiber !== null) { + returnFiber.firstEffect = returnFiber.lastEffect = null; + returnFiber.effectTag |= Incomplete; + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + return siblingFiber; + } else if (returnFiber !== null) { + workInProgress = returnFiber; + continue; + } else { + return null; + } + } + } + + return null; + } + + function performUnitOfWork(workInProgress) { + var current = workInProgress.alternate; + startWorkTimer(workInProgress); + { + ReactDebugCurrentFiber.setCurrentFiber(workInProgress); + } + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = assignFiberPropertiesInDEV(stashedWorkInProgressProperties, workInProgress); + } + + var next = void 0; + + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + startBaseRenderTimer(); + } + + next = beginWork(current, workInProgress, nextRenderExpirationTime); + + if (workInProgress.mode & ProfileMode) { + recordElapsedBaseRenderTimeIfRunning(workInProgress); + stopBaseRenderTimerIfRunning(); + } + } else { + next = beginWork(current, workInProgress, nextRenderExpirationTime); + } + + { + ReactDebugCurrentFiber.resetCurrentFiber(); + + if (isReplayingFailedUnitOfWork) { + rethrowOriginalError(); + } + } + + if (true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onBeginWork(workInProgress); + } + + if (next === null) { + next = completeUnitOfWork(workInProgress); + } + + ReactCurrentOwner.current = null; + return next; + } + + function workLoop(isYieldy) { + if (!isYieldy) { + while (nextUnitOfWork !== null) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } else { + while (nextUnitOfWork !== null && !shouldYield()) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + + if (enableProfilerTimer) { + pauseActualRenderTimerIfRunning(); + } + } + } + + function renderRoot(root, isYieldy) { + invariant(!isWorking, "renderRoot was called recursively. This error is likely caused " + "by a bug in React. Please file an issue."); + isWorking = true; + var expirationTime = root.nextExpirationTimeToWorkOn; + + if (expirationTime !== nextRenderExpirationTime || root !== nextRoot || nextUnitOfWork === null) { + resetStack(); + nextRoot = root; + nextRenderExpirationTime = expirationTime; + nextLatestTimeoutMs = -1; + nextRenderDidError = false; + nextUnitOfWork = createWorkInProgress(nextRoot.current, null, nextRenderExpirationTime); + root.pendingCommitExpirationTime = NoWork; + } + + var didFatal = false; + startWorkLoopTimer(nextUnitOfWork); + + do { + try { + workLoop(isYieldy); + } catch (thrownValue) { + if (enableProfilerTimer) { + stopBaseRenderTimerIfRunning(); + } + + if (nextUnitOfWork === null) { + didFatal = true; + onUncaughtError(thrownValue); + } else { + { + resetCurrentlyProcessingQueue(); + } + var failedUnitOfWork = nextUnitOfWork; + + if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy); + } + + invariant(nextUnitOfWork !== null, "Failed to replay rendering after an error. This " + "is likely caused by a bug in React. Please file an issue " + "with a reproducing case to help us find it."); + var sourceFiber = nextUnitOfWork; + var returnFiber = sourceFiber.return; + + if (returnFiber === null) { + didFatal = true; + onUncaughtError(thrownValue); + break; + } + + throwException(root, returnFiber, sourceFiber, thrownValue, nextRenderExpirationTime, mostRecentCurrentTimeMs); + nextUnitOfWork = completeUnitOfWork(sourceFiber); + } + } + + break; + } while (true); + + isWorking = false; + + if (didFatal) { + var didCompleteRoot = false; + stopWorkLoopTimer(interruptedBy, didCompleteRoot); + interruptedBy = null; + { + resetStackAfterFatalErrorInDev(); + } + onFatal(root); + } else if (nextUnitOfWork === null) { + var rootWorkInProgress = root.current.alternate; + invariant(rootWorkInProgress !== null, "Finished root should have a work-in-progress. This error is likely " + "caused by a bug in React. Please file an issue."); + + if ((rootWorkInProgress.effectTag & Incomplete) === NoEffect) { + var _didCompleteRoot = true; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot); + interruptedBy = null; + onComplete(root, rootWorkInProgress, expirationTime); + } else { + var _didCompleteRoot2 = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot2); + interruptedBy = null; + markSuspendedPriorityLevel(root, expirationTime, nextRenderDidError); + var suspendedExpirationTime = expirationTime; + var newExpirationTime = root.expirationTime; + onSuspend(root, suspendedExpirationTime, newExpirationTime, nextLatestTimeoutMs); + } + } else { + var _didCompleteRoot3 = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot3); + interruptedBy = null; + onYield(root); + } + } + + function dispatch(sourceFiber, value, expirationTime) { + invariant(!isWorking || isCommitting$1, "dispatch: Cannot dispatch during the render phase."); + var fiber = sourceFiber.return; + + while (fiber !== null) { + switch (fiber.tag) { + case ClassComponent: + var ctor = fiber.type; + var instance = fiber.stateNode; + + if (typeof ctor.getDerivedStateFromCatch === "function" || typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance)) { + var errorInfo = createCapturedValue(value, sourceFiber); + var update = createClassErrorUpdate(fiber, errorInfo, expirationTime); + enqueueUpdate(fiber, update, expirationTime); + scheduleWork(fiber, expirationTime); + return; + } + + break; + + case HostRoot: + { + var _errorInfo = createCapturedValue(value, sourceFiber); + + var _update = createRootErrorUpdate(fiber, _errorInfo, expirationTime); + + enqueueUpdate(fiber, _update, expirationTime); + scheduleWork(fiber, expirationTime); + return; + } + } + + fiber = fiber.return; + } + + if (sourceFiber.tag === HostRoot) { + var rootFiber = sourceFiber; + + var _errorInfo2 = createCapturedValue(value, rootFiber); + + var _update2 = createRootErrorUpdate(rootFiber, _errorInfo2, expirationTime); + + enqueueUpdate(rootFiber, _update2, expirationTime); + scheduleWork(rootFiber, expirationTime); + } + } + + function captureCommitPhaseError(fiber, error) { + return dispatch(fiber, error, Sync); + } + + function computeAsyncExpiration(currentTime) { + var expirationMs = 5000; + var bucketSizeMs = 250; + return computeExpirationBucket(currentTime, expirationMs, bucketSizeMs); + } + + function computeInteractiveExpiration(currentTime) { + var expirationMs = void 0; + { + expirationMs = 500; + } + var bucketSizeMs = 100; + return computeExpirationBucket(currentTime, expirationMs, bucketSizeMs); + } + + function computeUniqueAsyncExpiration() { + var currentTime = recalculateCurrentTime(); + var result = computeAsyncExpiration(currentTime); + + if (result <= lastUniqueAsyncExpiration) { + result = lastUniqueAsyncExpiration + 1; + } + + lastUniqueAsyncExpiration = result; + return lastUniqueAsyncExpiration; + } + + function computeExpirationForFiber(currentTime, fiber) { + var expirationTime = void 0; + + if (expirationContext !== NoWork) { + expirationTime = expirationContext; + } else if (isWorking) { + if (isCommitting$1) { + expirationTime = Sync; + } else { + expirationTime = nextRenderExpirationTime; + } + } else { + if (fiber.mode & AsyncMode) { + if (isBatchingInteractiveUpdates) { + expirationTime = computeInteractiveExpiration(currentTime); + } else { + expirationTime = computeAsyncExpiration(currentTime); + } + } else { + expirationTime = Sync; + } + } + + if (isBatchingInteractiveUpdates) { + if (lowestPendingInteractiveExpirationTime === NoWork || expirationTime > lowestPendingInteractiveExpirationTime) { + lowestPendingInteractiveExpirationTime = expirationTime; + } + } + + return expirationTime; + } + + function markTimeout(root, thenable, timeoutMs, suspendedTime) { + if (timeoutMs >= 0 && nextLatestTimeoutMs < timeoutMs) { + nextLatestTimeoutMs = timeoutMs; + } + } + + function markError(root) { + nextRenderDidError = true; + } + + function retrySuspendedRoot(root, suspendedTime) { + markPingedPriorityLevel(root, suspendedTime); + var retryTime = root.expirationTime; + + if (retryTime !== NoWork) { + requestWork(root, retryTime); + } + } + + function scheduleWork(fiber, expirationTime) { + recordScheduleUpdate(); + { + if (fiber.tag === ClassComponent) { + var instance = fiber.stateNode; + warnAboutInvalidUpdates(instance); + } + } + var node = fiber; + + while (node !== null) { + if (node.expirationTime === NoWork || node.expirationTime > expirationTime) { + node.expirationTime = expirationTime; + } + + if (node.alternate !== null) { + if (node.alternate.expirationTime === NoWork || node.alternate.expirationTime > expirationTime) { + node.alternate.expirationTime = expirationTime; + } + } + + if (node.return === null) { + if (node.tag === HostRoot) { + var root = node.stateNode; + + if (!isWorking && nextRenderExpirationTime !== NoWork && expirationTime < nextRenderExpirationTime) { + interruptedBy = fiber; + resetStack(); + } + + markPendingPriorityLevel(root, expirationTime); + + if (!isWorking || isCommitting$1 || nextRoot !== root) { + var rootExpirationTime = root.expirationTime; + requestWork(root, rootExpirationTime); + } + + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { + invariant(false, "Maximum update depth exceeded. This can happen when a " + "component repeatedly calls setState inside " + "componentWillUpdate or componentDidUpdate. React limits " + "the number of nested updates to prevent infinite loops."); + } + } else { + { + if (fiber.tag === ClassComponent) { + warnAboutUpdateOnUnmounted(fiber); + } + } + return; + } + } + + node = node.return; + } + } + + function recalculateCurrentTime() { + mostRecentCurrentTimeMs = now() - originalStartTimeMs; + mostRecentCurrentTime = msToExpirationTime(mostRecentCurrentTimeMs); + return mostRecentCurrentTime; + } + + function deferredUpdates(fn) { + var previousExpirationContext = expirationContext; + var currentTime = recalculateCurrentTime(); + expirationContext = computeAsyncExpiration(currentTime); + + try { + return fn(); + } finally { + expirationContext = previousExpirationContext; + } + } + + function syncUpdates(fn, a, b, c, d) { + var previousExpirationContext = expirationContext; + expirationContext = Sync; + + try { + return fn(a, b, c, d); + } finally { + expirationContext = previousExpirationContext; + } + } + + var firstScheduledRoot = null; + var lastScheduledRoot = null; + var callbackExpirationTime = NoWork; + var callbackID = void 0; + var isRendering = false; + var nextFlushedRoot = null; + var nextFlushedExpirationTime = NoWork; + var lowestPendingInteractiveExpirationTime = NoWork; + var deadlineDidExpire = false; + var hasUnhandledError = false; + var unhandledError = null; + var deadline = null; + var isBatchingUpdates = false; + var isUnbatchingUpdates = false; + var isBatchingInteractiveUpdates = false; + var completedBatches = null; + var NESTED_UPDATE_LIMIT = 1000; + var nestedUpdateCount = 0; + var timeHeuristicForUnitOfWork = 1; + + function scheduleCallbackWithExpirationTime(expirationTime) { + if (callbackExpirationTime !== NoWork) { + if (expirationTime > callbackExpirationTime) { + return; + } else { + if (callbackID !== null) { + cancelDeferredCallback(callbackID); + } + } + } else { + startRequestCallbackTimer(); + } + + callbackExpirationTime = expirationTime; + var currentMs = now() - originalStartTimeMs; + var expirationTimeMs = expirationTimeToMs(expirationTime); + var timeout = expirationTimeMs - currentMs; + callbackID = scheduleDeferredCallback(performAsyncWork, { + timeout: timeout + }); + } + + function onFatal(root) { + root.finishedWork = null; + } + + function onComplete(root, finishedWork, expirationTime) { + root.pendingCommitExpirationTime = expirationTime; + root.finishedWork = finishedWork; + } + + function onSuspend(root, suspendedExpirationTime, expirationTime, timeoutMs) { + if (timeoutMs >= 0) { + var suspendedRoot = root; + setTimeout(function () { + retrySuspendedRoot(suspendedRoot, suspendedExpirationTime); + }, timeoutMs); + } + + root.expirationTime = expirationTime; + } + + function onYield(root) { + root.finishedWork = null; + } + + function onCommit(root, expirationTime) { + root.expirationTime = expirationTime; + root.finishedWork = null; + } + + function requestWork(root, expirationTime) { + addRootToSchedule(root, expirationTime); + + if (isRendering) { + return; + } + + if (isBatchingUpdates) { + if (isUnbatchingUpdates) { + nextFlushedRoot = root; + nextFlushedExpirationTime = Sync; + performWorkOnRoot(root, Sync, false); + } + + return; + } + + if (expirationTime === Sync) { + performSyncWork(); + } else { + scheduleCallbackWithExpirationTime(expirationTime); + } + } + + function addRootToSchedule(root, expirationTime) { + if (root.nextScheduledRoot === null) { + root.expirationTime = expirationTime; + + if (lastScheduledRoot === null) { + firstScheduledRoot = lastScheduledRoot = root; + root.nextScheduledRoot = root; + } else { + lastScheduledRoot.nextScheduledRoot = root; + lastScheduledRoot = root; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + } + } else { + var remainingExpirationTime = root.expirationTime; + + if (remainingExpirationTime === NoWork || expirationTime < remainingExpirationTime) { + root.expirationTime = expirationTime; + } + } + } + + function findHighestPriorityRoot() { + var highestPriorityWork = NoWork; + var highestPriorityRoot = null; + + if (lastScheduledRoot !== null) { + var previousScheduledRoot = lastScheduledRoot; + var root = firstScheduledRoot; + + while (root !== null) { + var remainingExpirationTime = root.expirationTime; + + if (remainingExpirationTime === NoWork) { + invariant(previousScheduledRoot !== null && lastScheduledRoot !== null, "Should have a previous and last root. This error is likely " + "caused by a bug in React. Please file an issue."); + + if (root === root.nextScheduledRoot) { + root.nextScheduledRoot = null; + firstScheduledRoot = lastScheduledRoot = null; + break; + } else if (root === firstScheduledRoot) { + var next = root.nextScheduledRoot; + firstScheduledRoot = next; + lastScheduledRoot.nextScheduledRoot = next; + root.nextScheduledRoot = null; + } else if (root === lastScheduledRoot) { + lastScheduledRoot = previousScheduledRoot; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + root.nextScheduledRoot = null; + break; + } else { + previousScheduledRoot.nextScheduledRoot = root.nextScheduledRoot; + root.nextScheduledRoot = null; + } + + root = previousScheduledRoot.nextScheduledRoot; + } else { + if (highestPriorityWork === NoWork || remainingExpirationTime < highestPriorityWork) { + highestPriorityWork = remainingExpirationTime; + highestPriorityRoot = root; + } + + if (root === lastScheduledRoot) { + break; + } + + previousScheduledRoot = root; + root = root.nextScheduledRoot; + } + } + } + + var previousFlushedRoot = nextFlushedRoot; + + if (previousFlushedRoot !== null && previousFlushedRoot === highestPriorityRoot && highestPriorityWork === Sync) { + nestedUpdateCount++; + } else { + nestedUpdateCount = 0; + } + + nextFlushedRoot = highestPriorityRoot; + nextFlushedExpirationTime = highestPriorityWork; + } + + function performAsyncWork(dl) { + performWork(NoWork, dl); + } + + function performSyncWork() { + performWork(Sync, null); + } + + function performWork(minExpirationTime, dl) { + deadline = dl; + findHighestPriorityRoot(); + + if (enableProfilerTimer) { + resumeActualRenderTimerIfPaused(); + } + + if (enableUserTimingAPI && deadline !== null) { + var didExpire = nextFlushedExpirationTime < recalculateCurrentTime(); + var timeout = expirationTimeToMs(nextFlushedExpirationTime); + stopRequestCallbackTimer(didExpire, timeout); + } + + if (deadline !== null) { + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && (minExpirationTime === NoWork || minExpirationTime >= nextFlushedExpirationTime) && (!deadlineDidExpire || recalculateCurrentTime() >= nextFlushedExpirationTime)) { + recalculateCurrentTime(); + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, true); + findHighestPriorityRoot(); + } + } else { + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && (minExpirationTime === NoWork || minExpirationTime >= nextFlushedExpirationTime)) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, false); + findHighestPriorityRoot(); + } + } + + if (deadline !== null) { + callbackExpirationTime = NoWork; + callbackID = null; + } + + if (nextFlushedExpirationTime !== NoWork) { + scheduleCallbackWithExpirationTime(nextFlushedExpirationTime); + } + + deadline = null; + deadlineDidExpire = false; + finishRendering(); + } + + function flushRoot(root, expirationTime) { + invariant(!isRendering, "work.commit(): Cannot commit while already rendering. This likely " + "means you attempted to commit from inside a lifecycle method."); + nextFlushedRoot = root; + nextFlushedExpirationTime = expirationTime; + performWorkOnRoot(root, expirationTime, false); + performSyncWork(); + finishRendering(); + } + + function finishRendering() { + nestedUpdateCount = 0; + + if (completedBatches !== null) { + var batches = completedBatches; + completedBatches = null; + + for (var i = 0; i < batches.length; i++) { + var batch = batches[i]; + + try { + batch._onComplete(); + } catch (error) { + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + } + } + + if (hasUnhandledError) { + var error = unhandledError; + unhandledError = null; + hasUnhandledError = false; + throw error; + } + } + + function performWorkOnRoot(root, expirationTime, isYieldy) { + invariant(!isRendering, "performWorkOnRoot was called recursively. This error is likely caused " + "by a bug in React. Please file an issue."); + isRendering = true; + + if (!isYieldy) { + var finishedWork = root.finishedWork; + + if (finishedWork !== null) { + completeRoot$1(root, finishedWork, expirationTime); + } else { + root.finishedWork = null; + renderRoot(root, false); + finishedWork = root.finishedWork; + + if (finishedWork !== null) { + completeRoot$1(root, finishedWork, expirationTime); + } + } + } else { + var _finishedWork = root.finishedWork; + + if (_finishedWork !== null) { + completeRoot$1(root, _finishedWork, expirationTime); + } else { + root.finishedWork = null; + renderRoot(root, true); + _finishedWork = root.finishedWork; + + if (_finishedWork !== null) { + if (!shouldYield()) { + completeRoot$1(root, _finishedWork, expirationTime); + } else { + root.finishedWork = _finishedWork; + + if (enableProfilerTimer) { + pauseActualRenderTimerIfRunning(); + } + } + } + } + } + + isRendering = false; + } + + function completeRoot$1(root, finishedWork, expirationTime) { + var firstBatch = root.firstBatch; + + if (firstBatch !== null && firstBatch._expirationTime <= expirationTime) { + if (completedBatches === null) { + completedBatches = [firstBatch]; + } else { + completedBatches.push(firstBatch); + } + + if (firstBatch._defer) { + root.finishedWork = finishedWork; + root.expirationTime = NoWork; + return; + } + } + + root.finishedWork = null; + commitRoot(root, finishedWork); + } + + function shouldYield() { + if (deadline === null || deadlineDidExpire) { + return false; + } + + if (deadline.timeRemaining() > timeHeuristicForUnitOfWork) { + return false; + } + + deadlineDidExpire = true; + return true; + } + + function onUncaughtError(error) { + invariant(nextFlushedRoot !== null, "Should be working on a root. This error is likely caused by a bug in " + "React. Please file an issue."); + nextFlushedRoot.expirationTime = NoWork; + + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + + function batchedUpdates$1(fn, a) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + return fn(a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + function unbatchedUpdates(fn, a) { + if (isBatchingUpdates && !isUnbatchingUpdates) { + isUnbatchingUpdates = true; + + try { + return fn(a); + } finally { + isUnbatchingUpdates = false; + } + } + + return fn(a); + } + + function flushSync(fn, a) { + invariant(!isRendering, "flushSync was called from inside a lifecycle method. It cannot be " + "called when React is already rendering."); + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + return syncUpdates(fn, a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + performSyncWork(); + } + } + + function interactiveUpdates$1(fn, a, b) { + if (isBatchingInteractiveUpdates) { + return fn(a, b); + } + + if (!isBatchingUpdates && !isRendering && lowestPendingInteractiveExpirationTime !== NoWork) { + performWork(lowestPendingInteractiveExpirationTime, null); + lowestPendingInteractiveExpirationTime = NoWork; + } + + var previousIsBatchingInteractiveUpdates = isBatchingInteractiveUpdates; + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingInteractiveUpdates = true; + isBatchingUpdates = true; + + try { + return fn(a, b); + } finally { + isBatchingInteractiveUpdates = previousIsBatchingInteractiveUpdates; + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + function flushInteractiveUpdates$1() { + if (!isRendering && lowestPendingInteractiveExpirationTime !== NoWork) { + performWork(lowestPendingInteractiveExpirationTime, null); + lowestPendingInteractiveExpirationTime = NoWork; + } + } + + function flushControlled(fn) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + + try { + syncUpdates(fn); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + + if (!isBatchingUpdates && !isRendering) { + performWork(Sync, null); + } + } + } + + var didWarnAboutNestedUpdates = void 0; + { + didWarnAboutNestedUpdates = false; + } + + function getContextForSubtree(parentComponent) { + if (!parentComponent) { + return emptyObject; + } + + var fiber = get$1(parentComponent); + var parentContext = findCurrentUnmaskedContext(fiber); + return isContextProvider(fiber) ? processChildContext(fiber, parentContext) : parentContext; + } + + function scheduleRootUpdate(current, element, expirationTime, callback) { + { + if (ReactDebugCurrentFiber.phase === "render" && ReactDebugCurrentFiber.current !== null && !didWarnAboutNestedUpdates) { + didWarnAboutNestedUpdates = true; + warning(false, "Render methods should be a pure function of props and state; " + "triggering nested component updates from render is not allowed. " + "If necessary, trigger nested updates in componentDidUpdate.\n\n" + "Check the render method of %s.", getComponentName(ReactDebugCurrentFiber.current) || "Unknown"); + } + } + var update = createUpdate(expirationTime); + update.payload = { + element: element + }; + callback = callback === undefined ? null : callback; + + if (callback !== null) { + !(typeof callback === "function") ? warning(false, "render(...): Expected the last optional `callback` argument to be a " + "function. Instead received: %s.", callback) : void 0; + update.callback = callback; + } + + enqueueUpdate(current, update, expirationTime); + scheduleWork(current, expirationTime); + return expirationTime; + } + + function updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback) { + var current = container.current; + { + if (ReactFiberInstrumentation_1.debugTool) { + if (current.alternate === null) { + ReactFiberInstrumentation_1.debugTool.onMountContainer(container); + } else if (element === null) { + ReactFiberInstrumentation_1.debugTool.onUnmountContainer(container); + } else { + ReactFiberInstrumentation_1.debugTool.onUpdateContainer(container); + } + } + } + var context = getContextForSubtree(parentComponent); + + if (container.context === null) { + container.context = context; + } else { + container.pendingContext = context; + } + + return scheduleRootUpdate(current, element, expirationTime, callback); + } + + function findHostInstance$1(component) { + var fiber = get$1(component); + + if (fiber === undefined) { + if (typeof component.render === "function") { + invariant(false, "Unable to find node on an unmounted component."); + } else { + invariant(false, "Argument appears to not be a ReactComponent. Keys: %s", Object.keys(component)); + } + } + + var hostFiber = findCurrentHostFiber(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + } + + function createContainer(containerInfo, isAsync, hydrate) { + return createFiberRoot(containerInfo, isAsync, hydrate); + } + + function updateContainer(element, container, parentComponent, callback) { + var current = container.current; + var currentTime = recalculateCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, current); + return updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback); + } + + function getPublicRootInstance(container) { + var containerFiber = container.current; + + if (!containerFiber.child) { + return null; + } + + switch (containerFiber.child.tag) { + case HostComponent: + return getPublicInstance(containerFiber.child.stateNode); + + default: + return containerFiber.child.stateNode; + } + } + + function findHostInstanceWithNoPortals(fiber) { + var hostFiber = findCurrentHostFiberWithNoPortals(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + } + + function injectIntoDevTools(devToolsConfig) { + var _findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; + return injectInternals(_extends({}, devToolsConfig, { + findHostInstanceByFiber: function findHostInstanceByFiber(fiber) { + var hostFiber = findCurrentHostFiber(fiber); + + if (hostFiber === null) { + return null; + } + + return hostFiber.stateNode; + }, + findFiberByHostInstance: function findFiberByHostInstance(instance) { + if (!_findFiberByHostInstance) { + return null; + } + + return _findFiberByHostInstance(instance); + } + })); + } + + var ReactFabricRenderer = Object.freeze({ + updateContainerAtExpirationTime: updateContainerAtExpirationTime, + createContainer: createContainer, + updateContainer: updateContainer, + flushRoot: flushRoot, + requestWork: requestWork, + computeUniqueAsyncExpiration: computeUniqueAsyncExpiration, + batchedUpdates: batchedUpdates$1, + unbatchedUpdates: unbatchedUpdates, + deferredUpdates: deferredUpdates, + syncUpdates: syncUpdates, + interactiveUpdates: interactiveUpdates$1, + flushInteractiveUpdates: flushInteractiveUpdates$1, + flushControlled: flushControlled, + flushSync: flushSync, + getPublicRootInstance: getPublicRootInstance, + findHostInstance: findHostInstance$1, + findHostInstanceWithNoPortals: findHostInstanceWithNoPortals, + injectIntoDevTools: injectIntoDevTools + }); + + function _createPortal(children, containerInfo, implementation) { + var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + return { + $$typeof: REACT_PORTAL_TYPE, + key: key == null ? null : "" + key, + children: children, + containerInfo: containerInfo, + implementation: implementation + }; + } + + var ReactVersion = "16.4.1"; + + var NativeMethodsMixin = function NativeMethodsMixin(findNodeHandle, findHostInstance) { + var NativeMethodsMixin = { + measure: function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureInWindow: function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureLayout: function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }, + setNativeProps: function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (maybeInstance == null) { + return; + } + + var viewConfig = maybeInstance.viewConfig; + { + warnForStyleProps(nativeProps, viewConfig.validAttributes); + } + var updatePayload = create(nativeProps, viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, updatePayload); + } + }, + focus: function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }, + blur: function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + } + }; + { + var NativeMethodsMixin_DEV = NativeMethodsMixin; + invariant(!NativeMethodsMixin_DEV.componentWillMount && !NativeMethodsMixin_DEV.componentWillReceiveProps && !NativeMethodsMixin_DEV.UNSAFE_componentWillMount && !NativeMethodsMixin_DEV.UNSAFE_componentWillReceiveProps, "Do not override existing functions."); + + NativeMethodsMixin_DEV.componentWillMount = function () { + throwOnStylesProp(this, this.props); + }; + + NativeMethodsMixin_DEV.componentWillReceiveProps = function (newProps) { + throwOnStylesProp(this, newProps); + }; + + NativeMethodsMixin_DEV.UNSAFE_componentWillMount = function () { + throwOnStylesProp(this, this.props); + }; + + NativeMethodsMixin_DEV.UNSAFE_componentWillReceiveProps = function (newProps) { + throwOnStylesProp(this, newProps); + }; + + NativeMethodsMixin_DEV.componentWillMount.__suppressDeprecationWarning = true; + NativeMethodsMixin_DEV.componentWillReceiveProps.__suppressDeprecationWarning = true; + } + return NativeMethodsMixin; + }; + + function _classCallCheck$1(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _possibleConstructorReturn(self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + } + + function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + } + + var ReactNativeComponent = function ReactNativeComponent(findNodeHandle, findHostInstance) { + var ReactNativeComponent = function (_React$Component) { + _inherits(ReactNativeComponent, _React$Component); + + function ReactNativeComponent() { + _classCallCheck$1(this, ReactNativeComponent); + + return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); + } + + ReactNativeComponent.prototype.blur = function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.focus = function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.measure = function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureInWindow = function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureLayout = function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeComponent.prototype.setNativeProps = function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (maybeInstance == null) { + return; + } + + var viewConfig = maybeInstance.viewConfig || maybeInstance.canonical.viewConfig; + var updatePayload = create(nativeProps, viewConfig.validAttributes); + + if (updatePayload != null) { + UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, updatePayload); + } + }; + + return ReactNativeComponent; + }(React.Component); + + return ReactNativeComponent; + }; + + var instanceCache = {}; + + function getInstanceFromTag(tag) { + return instanceCache[tag] || null; + } + + var getInspectorDataForViewTag = void 0; + { + var traverseOwnerTreeUp = function traverseOwnerTreeUp(hierarchy, instance) { + if (instance) { + hierarchy.unshift(instance); + traverseOwnerTreeUp(hierarchy, instance._debugOwner); + } + }; + + var getOwnerHierarchy = function getOwnerHierarchy(instance) { + var hierarchy = []; + traverseOwnerTreeUp(hierarchy, instance); + return hierarchy; + }; + + var lastNonHostInstance = function lastNonHostInstance(hierarchy) { + for (var i = hierarchy.length - 1; i > 1; i--) { + var instance = hierarchy[i]; + + if (instance.tag !== HostComponent) { + return instance; + } + } + + return hierarchy[0]; + }; + + var getHostProps = function getHostProps(fiber) { + var host = findCurrentHostFiber(fiber); + + if (host) { + return host.memoizedProps || emptyObject; + } + + return emptyObject; + }; + + var getHostNode = function getHostNode(fiber, findNodeHandle) { + var hostNode = void 0; + + while (fiber) { + if (fiber.stateNode !== null && fiber.tag === HostComponent) { + hostNode = findNodeHandle(fiber.stateNode); + } + + if (hostNode) { + return hostNode; + } + + fiber = fiber.child; + } + + return null; + }; + + var createHierarchy = function createHierarchy(fiberHierarchy) { + return fiberHierarchy.map(function (fiber) { + return { + name: getComponentName(fiber), + getInspectorData: function getInspectorData(findNodeHandle) { + return { + measure: function measure(callback) { + return UIManager.measure(getHostNode(fiber, findNodeHandle), callback); + }, + props: getHostProps(fiber), + source: fiber._debugSource + }; + } + }; + }); + }; + + getInspectorDataForViewTag = function getInspectorDataForViewTag(viewTag) { + var closestInstance = getInstanceFromTag(viewTag); + + if (!closestInstance) { + return { + hierarchy: [], + props: emptyObject, + selection: null, + source: null + }; + } + + var fiber = findCurrentFiberUsingSlowPath(closestInstance); + var fiberHierarchy = getOwnerHierarchy(fiber); + var instance = lastNonHostInstance(fiberHierarchy); + var hierarchy = createHierarchy(fiberHierarchy); + var props = getHostProps(instance); + var source = instance._debugSource; + var selection = fiberHierarchy.indexOf(instance); + return { + hierarchy: hierarchy, + props: props, + selection: selection, + source: source + }; + }; + } + var findHostInstance = findHostInstance$1; + + function findNodeHandle(componentOrHandle) { + { + var owner = ReactCurrentOwner.current; + + if (owner !== null && owner.stateNode !== null) { + !owner.stateNode._warnedAboutRefsInRender ? warning(false, "%s is accessing findNodeHandle inside its render(). " + "render() should be a pure function of props and state. It should " + "never access something that requires stale data from the previous " + "render, such as refs. Move this logic to componentDidMount and " + "componentDidUpdate instead.", getComponentName(owner) || "A component") : void 0; + owner.stateNode._warnedAboutRefsInRender = true; + } + } + + if (componentOrHandle == null) { + return null; + } + + if (typeof componentOrHandle === "number") { + return componentOrHandle; + } + + if (componentOrHandle._nativeTag) { + return componentOrHandle._nativeTag; + } + + if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) { + return componentOrHandle.canonical._nativeTag; + } + + var hostInstance = findHostInstance(componentOrHandle); + + if (hostInstance == null) { + return hostInstance; + } + + if (hostInstance.canonical) { + return hostInstance.canonical._nativeTag; + } + + return hostInstance._nativeTag; + } + + injection$2.injectRenderer(ReactFabricRenderer); + var roots = new Map(); + var ReactFabric = { + NativeComponent: ReactNativeComponent(findNodeHandle, findHostInstance), + findNodeHandle: findNodeHandle, + render: function render(element, containerTag, callback) { + var root = roots.get(containerTag); + + if (!root) { + root = createContainer(containerTag, false, false); + roots.set(containerTag, root); + } + + updateContainer(element, root, null, callback); + return getPublicRootInstance(root); + }, + unmountComponentAtNode: function unmountComponentAtNode(containerTag) { + var root = roots.get(containerTag); + + if (root) { + updateContainer(null, root, null, function () { + roots.delete(containerTag); + }); + } + }, + createPortal: function createPortal(children, containerTag) { + var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + return _createPortal(children, containerTag, null, key); + }, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + NativeMethodsMixin: NativeMethodsMixin(findNodeHandle, findHostInstance) + } + }; + injectIntoDevTools({ + findFiberByHostInstance: getInstanceFromInstance, + getInspectorDataForViewTag: getInspectorDataForViewTag, + bundleType: 1, + version: ReactVersion, + rendererPackageName: "react-native-renderer" + }); + var ReactFabric$2 = Object.freeze({ + default: ReactFabric + }); + var ReactFabric$3 = ReactFabric$2 && ReactFabric || ReactFabric$2; + var fabric = ReactFabric$3.default ? ReactFabric$3.default : ReactFabric$3; + module.exports = fabric; + })(); + } +},489,[263,166,183,231,218,1,323,324,226,173,325,490,9,271],"node_modules/react-native/Libraries/Renderer/oss/ReactFabric-dev.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var FabricUIManager = global.nativeFabricUIManager; + module.exports = FabricUIManager; +},490,[],"node_modules/react-native/Libraries/ReactNative/FabricUIManager.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + _$$_REQUIRE(_dependencyMap[0], "InitializeCore"); + + var invariant = _$$_REQUIRE(_dependencyMap[1], "fbjs/lib/invariant"), + ReactNativeViewConfigRegistry = _$$_REQUIRE(_dependencyMap[2], "ReactNativeViewConfigRegistry"), + UIManager = _$$_REQUIRE(_dependencyMap[3], "UIManager"), + React = _$$_REQUIRE(_dependencyMap[4], "react"), + emptyObject = _$$_REQUIRE(_dependencyMap[5], "fbjs/lib/emptyObject"), + deepDiffer = _$$_REQUIRE(_dependencyMap[6], "deepDiffer"), + flattenStyle = _$$_REQUIRE(_dependencyMap[7], "flattenStyle"), + TextInputState = _$$_REQUIRE(_dependencyMap[8], "TextInputState"), + FabricUIManager = _$$_REQUIRE(_dependencyMap[9], "FabricUIManager"), + ExceptionsManager = _$$_REQUIRE(_dependencyMap[10], "ExceptionsManager"); + + function _invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + this._hasCaughtError = !1; + this._caughtError = null; + var funcArgs = Array.prototype.slice.call(arguments, 3); + + try { + func.apply(context, funcArgs); + } catch (error) { + this._caughtError = error, this._hasCaughtError = !0; + } + } + + var ReactErrorUtils = { + _caughtError: null, + _hasCaughtError: !1, + _rethrowError: null, + _hasRethrowError: !1, + invokeGuardedCallback: function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + _invokeGuardedCallback.apply(ReactErrorUtils, arguments); + }, + invokeGuardedCallbackAndCatchFirstError: function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { + ReactErrorUtils.invokeGuardedCallback.apply(this, arguments); + + if (ReactErrorUtils.hasCaughtError()) { + var error = ReactErrorUtils.clearCaughtError(); + ReactErrorUtils._hasRethrowError || (ReactErrorUtils._hasRethrowError = !0, ReactErrorUtils._rethrowError = error); + } + }, + rethrowCaughtError: function rethrowCaughtError() { + return _rethrowCaughtError.apply(ReactErrorUtils, arguments); + }, + hasCaughtError: function hasCaughtError() { + return ReactErrorUtils._hasCaughtError; + }, + clearCaughtError: function clearCaughtError() { + if (ReactErrorUtils._hasCaughtError) { + var error = ReactErrorUtils._caughtError; + ReactErrorUtils._caughtError = null; + ReactErrorUtils._hasCaughtError = !1; + return error; + } + + invariant(!1, "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."); + } + }; + + function _rethrowCaughtError() { + if (ReactErrorUtils._hasRethrowError) { + var error = ReactErrorUtils._rethrowError; + ReactErrorUtils._rethrowError = null; + ReactErrorUtils._hasRethrowError = !1; + throw error; + } + } + + var eventPluginOrder = null, + namesToPlugins = {}; + + function recomputePluginOrdering() { + if (eventPluginOrder) for (var pluginName in namesToPlugins) { + var pluginModule = namesToPlugins[pluginName], + pluginIndex = eventPluginOrder.indexOf(pluginName); + invariant(-1 < pluginIndex, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", pluginName); + + if (!plugins[pluginIndex]) { + invariant(pluginModule.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", pluginName); + plugins[pluginIndex] = pluginModule; + pluginIndex = pluginModule.eventTypes; + + for (var eventName in pluginIndex) { + var JSCompiler_inline_result = void 0; + var dispatchConfig = pluginIndex[eventName], + pluginModule$jscomp$0 = pluginModule, + eventName$jscomp$0 = eventName; + invariant(!eventNameDispatchConfigs.hasOwnProperty(eventName$jscomp$0), "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", eventName$jscomp$0); + eventNameDispatchConfigs[eventName$jscomp$0] = dispatchConfig; + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + + if (phasedRegistrationNames) { + for (JSCompiler_inline_result in phasedRegistrationNames) { + phasedRegistrationNames.hasOwnProperty(JSCompiler_inline_result) && publishRegistrationName(phasedRegistrationNames[JSCompiler_inline_result], pluginModule$jscomp$0, eventName$jscomp$0); + } + + JSCompiler_inline_result = !0; + } else dispatchConfig.registrationName ? (publishRegistrationName(dispatchConfig.registrationName, pluginModule$jscomp$0, eventName$jscomp$0), JSCompiler_inline_result = !0) : JSCompiler_inline_result = !1; + + invariant(JSCompiler_inline_result, "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", eventName, pluginName); + } + } + } + } + + function publishRegistrationName(registrationName, pluginModule) { + invariant(!registrationNameModules[registrationName], "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", registrationName); + registrationNameModules[registrationName] = pluginModule; + } + + var plugins = [], + eventNameDispatchConfigs = {}, + registrationNameModules = {}, + getFiberCurrentPropsFromNode = null, + getInstanceFromNode = null, + getNodeFromInstance = null; + + function executeDispatch(event, simulated, listener, inst) { + simulated = event.type || "unknown-event"; + event.currentTarget = getNodeFromInstance(inst); + ReactErrorUtils.invokeGuardedCallbackAndCatchFirstError(simulated, listener, void 0, event); + event.currentTarget = null; + } + + function executeDirectDispatch(event) { + var dispatchListener = event._dispatchListeners, + dispatchInstance = event._dispatchInstances; + invariant(!Array.isArray(dispatchListener), "executeDirectDispatch(...): Invalid `event`."); + event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null; + dispatchListener = dispatchListener ? dispatchListener(event) : null; + event.currentTarget = null; + event._dispatchListeners = null; + event._dispatchInstances = null; + return dispatchListener; + } + + function accumulateInto(current, next) { + invariant(null != next, "accumulateInto(...): Accumulated items must not be null or undefined."); + if (null == current) return next; + + if (Array.isArray(current)) { + if (Array.isArray(next)) return current.push.apply(current, next), current; + current.push(next); + return current; + } + + return Array.isArray(next) ? [current].concat(next) : [current, next]; + } + + function forEachAccumulated(arr, cb, scope) { + Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr); + } + + var eventQueue = null; + + function executeDispatchesAndReleaseTopLevel(e) { + if (e) { + var dispatchListeners = e._dispatchListeners, + dispatchInstances = e._dispatchInstances; + if (Array.isArray(dispatchListeners)) for (var i = 0; i < dispatchListeners.length && !e.isPropagationStopped(); i++) { + executeDispatch(e, !1, dispatchListeners[i], dispatchInstances[i]); + } else dispatchListeners && executeDispatch(e, !1, dispatchListeners, dispatchInstances); + e._dispatchListeners = null; + e._dispatchInstances = null; + e.isPersistent() || e.constructor.release(e); + } + } + + var injection = { + injectEventPluginOrder: function injectEventPluginOrder(injectedEventPluginOrder) { + invariant(!eventPluginOrder, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."); + eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); + recomputePluginOrdering(); + }, + injectEventPluginsByName: function injectEventPluginsByName(injectedNamesToPlugins) { + var isOrderingDirty = !1, + pluginName; + + for (pluginName in injectedNamesToPlugins) { + if (injectedNamesToPlugins.hasOwnProperty(pluginName)) { + var pluginModule = injectedNamesToPlugins[pluginName]; + namesToPlugins.hasOwnProperty(pluginName) && namesToPlugins[pluginName] === pluginModule || (invariant(!namesToPlugins[pluginName], "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", pluginName), namesToPlugins[pluginName] = pluginModule, isOrderingDirty = !0); + } + } + + isOrderingDirty && recomputePluginOrdering(); + } + }; + + function getListener(inst, registrationName) { + var listener = inst.stateNode; + if (!listener) return null; + var props = getFiberCurrentPropsFromNode(listener); + if (!props) return null; + listener = props[registrationName]; + + a: switch (registrationName) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst)); + inst = !props; + break a; + + default: + inst = !1; + } + + if (inst) return null; + invariant(!listener || "function" === typeof listener, "Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); + return listener; + } + + function getParent(inst) { + do { + inst = inst.return; + } while (inst && 5 !== inst.tag); + + return inst ? inst : null; + } + + function traverseTwoPhase(inst, fn, arg) { + for (var path = []; inst;) { + path.push(inst), inst = getParent(inst); + } + + for (inst = path.length; 0 < inst--;) { + fn(path[inst], "captured", arg); + } + + for (inst = 0; inst < path.length; inst++) { + fn(path[inst], "bubbled", arg); + } + } + + function accumulateDirectionalDispatches(inst, phase, event) { + if (phase = getListener(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); + } + + function accumulateTwoPhaseDispatchesSingle(event) { + event && event.dispatchConfig.phasedRegistrationNames && traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); + } + + function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { + if (event && event.dispatchConfig.phasedRegistrationNames) { + var targetInst = event._targetInst; + targetInst = targetInst ? getParent(targetInst) : null; + traverseTwoPhase(targetInst, accumulateDirectionalDispatches, event); + } + } + + function accumulateDirectDispatchesSingle(event) { + if (event && event.dispatchConfig.registrationName) { + var inst = event._targetInst; + + if (inst && event && event.dispatchConfig.registrationName) { + var listener = getListener(inst, event.dispatchConfig.registrationName); + listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst)); + } + } + } + + var shouldBeReleasedProperties = "dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "); + + function functionThatReturnsTrue() { + return !0; + } + + function functionThatReturnsFalse() { + return !1; + } + + function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { + this.dispatchConfig = dispatchConfig; + this._targetInst = targetInst; + this.nativeEvent = nativeEvent; + dispatchConfig = this.constructor.Interface; + + for (var propName in dispatchConfig) { + dispatchConfig.hasOwnProperty(propName) && ((targetInst = dispatchConfig[propName]) ? this[propName] = targetInst(nativeEvent) : "target" === propName ? this.target = nativeEventTarget : this[propName] = nativeEvent[propName]); + } + + this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : !1 === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse; + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + + _extends(SyntheticEvent.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = !0; + var event = this.nativeEvent; + event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = !1), this.isDefaultPrevented = functionThatReturnsTrue); + }, + stopPropagation: function stopPropagation() { + var event = this.nativeEvent; + event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = !0), this.isPropagationStopped = functionThatReturnsTrue); + }, + persist: function persist() { + this.isPersistent = functionThatReturnsTrue; + }, + isPersistent: functionThatReturnsFalse, + destructor: function destructor() { + var Interface = this.constructor.Interface, + propName; + + for (propName in Interface) { + this[propName] = null; + } + + for (Interface = 0; Interface < shouldBeReleasedProperties.length; Interface++) { + this[shouldBeReleasedProperties[Interface]] = null; + } + } + }); + + SyntheticEvent.Interface = { + type: null, + target: null, + currentTarget: function currentTarget() { + return null; + }, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function timeStamp(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }; + + SyntheticEvent.extend = function (Interface) { + function E() {} + + function Class() { + return Super.apply(this, arguments); + } + + var Super = this; + E.prototype = Super.prototype; + var prototype = new E(); + + _extends(prototype, Class.prototype); + + Class.prototype = prototype; + Class.prototype.constructor = Class; + Class.Interface = _extends({}, Super.Interface, Interface); + Class.extend = Super.extend; + addEventPoolingTo(Class); + return Class; + }; + + addEventPoolingTo(SyntheticEvent); + + function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) { + if (this.eventPool.length) { + var instance = this.eventPool.pop(); + this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst); + return instance; + } + + return new this(dispatchConfig, targetInst, nativeEvent, nativeInst); + } + + function releasePooledEvent(event) { + invariant(event instanceof this, "Trying to release an event instance into a pool of a different type."); + event.destructor(); + 10 > this.eventPool.length && this.eventPool.push(event); + } + + function addEventPoolingTo(EventConstructor) { + EventConstructor.eventPool = []; + EventConstructor.getPooled = getPooledEvent; + EventConstructor.release = releasePooledEvent; + } + + var ResponderSyntheticEvent = SyntheticEvent.extend({ + touchHistory: function touchHistory() { + return null; + } + }); + + function isStartish(topLevelType) { + return "topTouchStart" === topLevelType; + } + + function isMoveish(topLevelType) { + return "topTouchMove" === topLevelType; + } + + var startDependencies = ["topTouchStart"], + moveDependencies = ["topTouchMove"], + endDependencies = ["topTouchCancel", "topTouchEnd"], + touchBank = [], + touchHistory = { + touchBank: touchBank, + numberActiveTouches: 0, + indexOfSingleActiveTouch: -1, + mostRecentTimeStamp: 0 + }; + + function timestampForTouch(touch) { + return touch.timeStamp || touch.timestamp; + } + + function getTouchIdentifier(_ref) { + _ref = _ref.identifier; + invariant(null != _ref, "Touch object is missing identifier."); + return _ref; + } + + function recordTouchStart(touch) { + var identifier = getTouchIdentifier(touch), + touchRecord = touchBank[identifier]; + touchRecord ? (touchRecord.touchActive = !0, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch)) : (touchRecord = { + touchActive: !0, + startPageX: touch.pageX, + startPageY: touch.pageY, + startTimeStamp: timestampForTouch(touch), + currentPageX: touch.pageX, + currentPageY: touch.pageY, + currentTimeStamp: timestampForTouch(touch), + previousPageX: touch.pageX, + previousPageY: touch.pageY, + previousTimeStamp: timestampForTouch(touch) + }, touchBank[identifier] = touchRecord); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } + + function recordTouchMove(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + touchRecord ? (touchRecord.touchActive = !0, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.error("Cannot record touch move without a touch start.\nTouch Move: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + + function recordTouchEnd(touch) { + var touchRecord = touchBank[getTouchIdentifier(touch)]; + touchRecord ? (touchRecord.touchActive = !1, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.error("Cannot record touch end without a touch start.\nTouch End: %s\n", "Touch Bank: %s", printTouch(touch), printTouchBank()); + } + + function printTouch(touch) { + return JSON.stringify({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY, + timestamp: timestampForTouch(touch) + }); + } + + function printTouchBank() { + var printed = JSON.stringify(touchBank.slice(0, 20)); + 20 < touchBank.length && (printed += " (original size: " + touchBank.length + ")"); + return printed; + } + + var ResponderTouchHistoryStore = { + recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) { + if (isMoveish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchMove);else if (isStartish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchStart), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (nativeEvent.changedTouches.forEach(recordTouchEnd), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches) for (topLevelType = 0; topLevelType < touchBank.length; topLevelType++) { + if (nativeEvent = touchBank[topLevelType], null != nativeEvent && nativeEvent.touchActive) { + touchHistory.indexOfSingleActiveTouch = topLevelType; + break; + } + } + }, + touchHistory: touchHistory + }; + + function accumulate(current, next) { + invariant(null != next, "accumulate(...): Accumulated items must be not be null or undefined."); + return null == current ? next : Array.isArray(current) ? current.concat(next) : Array.isArray(next) ? [current].concat(next) : [current, next]; + } + + var responderInst = null, + trackedTouchCount = 0; + + function changeResponder(nextResponderInst, blockHostResponder) { + var oldResponderInst = responderInst; + responderInst = nextResponderInst; + if (null !== ResponderEventPlugin.GlobalResponderHandler) ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder); + } + + var eventTypes$1 = { + startShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onStartShouldSetResponder", + captured: "onStartShouldSetResponderCapture" + }, + dependencies: startDependencies + }, + scrollShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onScrollShouldSetResponder", + captured: "onScrollShouldSetResponderCapture" + }, + dependencies: ["topScroll"] + }, + selectionChangeShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onSelectionChangeShouldSetResponder", + captured: "onSelectionChangeShouldSetResponderCapture" + }, + dependencies: ["topSelectionChange"] + }, + moveShouldSetResponder: { + phasedRegistrationNames: { + bubbled: "onMoveShouldSetResponder", + captured: "onMoveShouldSetResponderCapture" + }, + dependencies: moveDependencies + }, + responderStart: { + registrationName: "onResponderStart", + dependencies: startDependencies + }, + responderMove: { + registrationName: "onResponderMove", + dependencies: moveDependencies + }, + responderEnd: { + registrationName: "onResponderEnd", + dependencies: endDependencies + }, + responderRelease: { + registrationName: "onResponderRelease", + dependencies: endDependencies + }, + responderTerminationRequest: { + registrationName: "onResponderTerminationRequest", + dependencies: [] + }, + responderGrant: { + registrationName: "onResponderGrant", + dependencies: [] + }, + responderReject: { + registrationName: "onResponderReject", + dependencies: [] + }, + responderTerminate: { + registrationName: "onResponderTerminate", + dependencies: [] + } + }, + ResponderEventPlugin = { + _getResponder: function _getResponder() { + return responderInst; + }, + eventTypes: eventTypes$1, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (isStartish(topLevelType)) trackedTouchCount += 1;else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (0 <= trackedTouchCount) --trackedTouchCount;else return console.error("Ended a touch event which was not counted in `trackedTouchCount`."), null; + ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent); + + if (targetInst && ("topScroll" === topLevelType && !nativeEvent.responderIgnoreScroll || 0 < trackedTouchCount && "topSelectionChange" === topLevelType || isStartish(topLevelType) || isMoveish(topLevelType))) { + var JSCompiler_temp = isStartish(topLevelType) ? eventTypes$1.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes$1.moveShouldSetResponder : "topSelectionChange" === topLevelType ? eventTypes$1.selectionChangeShouldSetResponder : eventTypes$1.scrollShouldSetResponder; + if (responderInst) b: { + var JSCompiler_temp$jscomp$0 = responderInst; + + for (var depthA = 0, tempA = JSCompiler_temp$jscomp$0; tempA; tempA = getParent(tempA)) { + depthA++; + } + + tempA = 0; + + for (var tempB = targetInst; tempB; tempB = getParent(tempB)) { + tempA++; + } + + for (; 0 < depthA - tempA;) { + JSCompiler_temp$jscomp$0 = getParent(JSCompiler_temp$jscomp$0), depthA--; + } + + for (; 0 < tempA - depthA;) { + targetInst = getParent(targetInst), tempA--; + } + + for (; depthA--;) { + if (JSCompiler_temp$jscomp$0 === targetInst || JSCompiler_temp$jscomp$0 === targetInst.alternate) break b; + JSCompiler_temp$jscomp$0 = getParent(JSCompiler_temp$jscomp$0); + targetInst = getParent(targetInst); + } + + JSCompiler_temp$jscomp$0 = null; + } else JSCompiler_temp$jscomp$0 = targetInst; + targetInst = JSCompiler_temp$jscomp$0 === responderInst; + JSCompiler_temp$jscomp$0 = ResponderSyntheticEvent.getPooled(JSCompiler_temp, JSCompiler_temp$jscomp$0, nativeEvent, nativeEventTarget); + JSCompiler_temp$jscomp$0.touchHistory = ResponderTouchHistoryStore.touchHistory; + targetInst ? forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateTwoPhaseDispatchesSingleSkipTarget) : forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateTwoPhaseDispatchesSingle); + + b: { + JSCompiler_temp = JSCompiler_temp$jscomp$0._dispatchListeners; + targetInst = JSCompiler_temp$jscomp$0._dispatchInstances; + if (Array.isArray(JSCompiler_temp)) for (depthA = 0; depthA < JSCompiler_temp.length && !JSCompiler_temp$jscomp$0.isPropagationStopped(); depthA++) { + if (JSCompiler_temp[depthA](JSCompiler_temp$jscomp$0, targetInst[depthA])) { + JSCompiler_temp = targetInst[depthA]; + break b; + } + } else if (JSCompiler_temp && JSCompiler_temp(JSCompiler_temp$jscomp$0, targetInst)) { + JSCompiler_temp = targetInst; + break b; + } + JSCompiler_temp = null; + } + + JSCompiler_temp$jscomp$0._dispatchInstances = null; + JSCompiler_temp$jscomp$0._dispatchListeners = null; + JSCompiler_temp$jscomp$0.isPersistent() || JSCompiler_temp$jscomp$0.constructor.release(JSCompiler_temp$jscomp$0); + JSCompiler_temp && JSCompiler_temp !== responderInst ? (JSCompiler_temp$jscomp$0 = void 0, targetInst = ResponderSyntheticEvent.getPooled(eventTypes$1.responderGrant, JSCompiler_temp, nativeEvent, nativeEventTarget), targetInst.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(targetInst, accumulateDirectDispatchesSingle), depthA = !0 === executeDirectDispatch(targetInst), responderInst ? (tempA = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget), tempA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(tempA, accumulateDirectDispatchesSingle), tempB = !tempA._dispatchListeners || executeDirectDispatch(tempA), tempA.isPersistent() || tempA.constructor.release(tempA), tempB ? (tempA = ResponderSyntheticEvent.getPooled(eventTypes$1.responderTerminate, responderInst, nativeEvent, nativeEventTarget), tempA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(tempA, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, [targetInst, tempA]), changeResponder(JSCompiler_temp, depthA)) : (JSCompiler_temp = ResponderSyntheticEvent.getPooled(eventTypes$1.responderReject, JSCompiler_temp, nativeEvent, nativeEventTarget), JSCompiler_temp.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(JSCompiler_temp, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, JSCompiler_temp))) : (JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, targetInst), changeResponder(JSCompiler_temp, depthA)), JSCompiler_temp = JSCompiler_temp$jscomp$0) : JSCompiler_temp = null; + } else JSCompiler_temp = null; + + JSCompiler_temp$jscomp$0 = responderInst && isStartish(topLevelType); + targetInst = responderInst && isMoveish(topLevelType); + depthA = responderInst && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType); + if (JSCompiler_temp$jscomp$0 = JSCompiler_temp$jscomp$0 ? eventTypes$1.responderStart : targetInst ? eventTypes$1.responderMove : depthA ? eventTypes$1.responderEnd : null) JSCompiler_temp$jscomp$0 = ResponderSyntheticEvent.getPooled(JSCompiler_temp$jscomp$0, responderInst, nativeEvent, nativeEventTarget), JSCompiler_temp$jscomp$0.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(JSCompiler_temp$jscomp$0, accumulateDirectDispatchesSingle), JSCompiler_temp = accumulate(JSCompiler_temp, JSCompiler_temp$jscomp$0); + JSCompiler_temp$jscomp$0 = responderInst && "topTouchCancel" === topLevelType; + if (topLevelType = responderInst && !JSCompiler_temp$jscomp$0 && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType)) a: { + if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length) for (targetInst = 0; targetInst < topLevelType.length; targetInst++) { + if (depthA = topLevelType[targetInst].target, null !== depthA && void 0 !== depthA && 0 !== depthA) { + tempA = getInstanceFromNode(depthA); + + b: { + for (depthA = responderInst; tempA;) { + if (depthA === tempA || depthA === tempA.alternate) { + depthA = !0; + break b; + } + + tempA = getParent(tempA); + } + + depthA = !1; + } + + if (depthA) { + topLevelType = !1; + break a; + } + } + } + topLevelType = !0; + } + if (topLevelType = JSCompiler_temp$jscomp$0 ? eventTypes$1.responderTerminate : topLevelType ? eventTypes$1.responderRelease : null) nativeEvent = ResponderSyntheticEvent.getPooled(topLevelType, responderInst, nativeEvent, nativeEventTarget), nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle), JSCompiler_temp = accumulate(JSCompiler_temp, nativeEvent), changeResponder(null); + return JSCompiler_temp; + }, + GlobalResponderHandler: null, + injection: { + injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) { + ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler; + } + } + }, + customBubblingEventTypes$1 = ReactNativeViewConfigRegistry.customBubblingEventTypes, + customDirectEventTypes$1 = ReactNativeViewConfigRegistry.customDirectEventTypes, + ReactNativeBridgeEventPlugin = { + eventTypes: ReactNativeViewConfigRegistry.eventTypes, + extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (null == targetInst) return null; + var bubbleDispatchConfig = customBubblingEventTypes$1[topLevelType], + directDispatchConfig = customDirectEventTypes$1[topLevelType]; + invariant(bubbleDispatchConfig || directDispatchConfig, 'Unsupported top level event type "%s" dispatched', topLevelType); + topLevelType = SyntheticEvent.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget); + if (bubbleDispatchConfig) forEachAccumulated(topLevelType, accumulateTwoPhaseDispatchesSingle);else if (directDispatchConfig) forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle);else return null; + return topLevelType; + } + }; + injection.injectEventPluginOrder(["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]); + injection.injectEventPluginsByName({ + ResponderEventPlugin: ResponderEventPlugin, + ReactNativeBridgeEventPlugin: ReactNativeBridgeEventPlugin + }); + + function getInstanceFromInstance(instanceHandle) { + return instanceHandle; + } + + var Injected$jscomp$inline_574 = { + getClosestInstanceFromNode: getInstanceFromInstance, + getInstanceFromNode: getInstanceFromInstance, + getNodeFromInstance: function getNodeFromInstance(inst) { + inst = inst.stateNode.canonical._nativeTag; + invariant(inst, "All native instances should have a tag."); + return inst; + }, + getFiberCurrentPropsFromNode: function getFiberCurrentPropsFromNode(inst) { + return inst.canonical.currentProps; + } + }; + getFiberCurrentPropsFromNode = Injected$jscomp$inline_574.getFiberCurrentPropsFromNode; + getInstanceFromNode = Injected$jscomp$inline_574.getInstanceFromNode; + getNodeFromInstance = Injected$jscomp$inline_574.getNodeFromInstance; + ResponderEventPlugin.injection.injectGlobalResponderHandler({ + onChange: function onChange(from, to, blockNativeResponder) { + null !== to ? UIManager.setJSResponder(to.stateNode.canonical._nativeTag, blockNativeResponder) : UIManager.clearJSResponder(); + } + }); + var ReactCurrentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, + hasSymbol = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.for : "@@for"), + REACT_ELEMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.element") : 60103, + REACT_PORTAL_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.portal") : 60106, + REACT_FRAGMENT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.fragment") : 60107, + REACT_STRICT_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.strict_mode") : 60108, + REACT_PROFILER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.profiler") : 60114, + REACT_PROVIDER_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.provider") : 60109, + REACT_CONTEXT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.context") : 60110, + REACT_ASYNC_MODE_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.async_mode") : 60111, + REACT_FORWARD_REF_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.forward_ref") : 60112, + REACT_TIMEOUT_TYPE = hasSymbol ? (typeof Symbol === "function" ? Symbol.for : "@@for")("react.timeout") : 60113, + MAYBE_ITERATOR_SYMBOL = "function" === typeof Symbol && (typeof Symbol === "function" ? Symbol.iterator : "@@iterator"); + + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "undefined" === typeof maybeIterable) return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + + function getComponentName(fiber) { + var type = fiber.type; + if ("function" === typeof type) return type.displayName || type.name; + if ("string" === typeof type) return type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + return "AsyncMode"; + + case REACT_CONTEXT_TYPE: + return "Context.Consumer"; + + case REACT_FRAGMENT_TYPE: + return "ReactFragment"; + + case REACT_PORTAL_TYPE: + return "ReactPortal"; + + case REACT_PROFILER_TYPE: + return "Profiler(" + fiber.pendingProps.id + ")"; + + case REACT_PROVIDER_TYPE: + return "Context.Provider"; + + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + + case REACT_TIMEOUT_TYPE: + return "Timeout"; + } + + if ("object" === typeof type && null !== type) switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return fiber = type.render.displayName || type.render.name || "", "" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"; + } + return null; + } + + function isFiberMountedImpl(fiber) { + var node = fiber; + if (fiber.alternate) for (; node.return;) { + node = node.return; + } else { + if (0 !== (node.effectTag & 2)) return 1; + + for (; node.return;) { + if (node = node.return, 0 !== (node.effectTag & 2)) return 1; + } + } + return 3 === node.tag ? 2 : 3; + } + + function assertIsMounted(fiber) { + invariant(2 === isFiberMountedImpl(fiber), "Unable to find node on an unmounted component."); + } + + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) return alternate = isFiberMountedImpl(fiber), invariant(3 !== alternate, "Unable to find node on an unmounted component."), 1 === alternate ? null : fiber; + + for (var a = fiber, b = alternate;;) { + var parentA = a.return, + parentB = parentA ? parentA.alternate : null; + if (!parentA || !parentB) break; + + if (parentA.child === parentB.child) { + for (var child = parentA.child; child;) { + if (child === a) return assertIsMounted(parentA), fiber; + if (child === b) return assertIsMounted(parentA), alternate; + child = child.sibling; + } + + invariant(!1, "Unable to find node on an unmounted component."); + } + + if (a.return !== b.return) a = parentA, b = parentB;else { + child = !1; + + for (var _child = parentA.child; _child;) { + if (_child === a) { + child = !0; + a = parentA; + b = parentB; + break; + } + + if (_child === b) { + child = !0; + b = parentA; + a = parentB; + break; + } + + _child = _child.sibling; + } + + if (!child) { + for (_child = parentB.child; _child;) { + if (_child === a) { + child = !0; + a = parentB; + b = parentA; + break; + } + + if (_child === b) { + child = !0; + b = parentB; + a = parentA; + break; + } + + _child = _child.sibling; + } + + invariant(child, "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."); + } + } + invariant(a.alternate === b, "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."); + } + + invariant(3 === a.tag, "Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + + function findCurrentHostFiber(parent) { + parent = findCurrentFiberUsingSlowPath(parent); + if (!parent) return null; + + for (var node = parent;;) { + if (5 === node.tag || 6 === node.tag) return node; + if (node.child) node.child.return = node, node = node.child;else { + if (node === parent) break; + + for (; !node.sibling;) { + if (!node.return || node.return === parent) return null; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + return null; + } + + function findCurrentHostFiberWithNoPortals(parent) { + parent = findCurrentFiberUsingSlowPath(parent); + if (!parent) return null; + + for (var node = parent;;) { + if (5 === node.tag || 6 === node.tag) return node; + if (node.child && 4 !== node.tag) node.child.return = node, node = node.child;else { + if (node === parent) break; + + for (; !node.sibling;) { + if (!node.return || node.return === parent) return null; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + return null; + } + + function mountSafeCallback(context, callback) { + return function () { + if (callback) { + if ("boolean" === typeof context.__isMounted) { + if (!context.__isMounted) return; + } else if ("function" === typeof context.isMounted && !context.isMounted()) return; + + return callback.apply(context, arguments); + } + }; + } + + var emptyObject$1 = {}, + removedKeys = null, + removedKeyCount = 0; + + function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) { + if (Array.isArray(node)) for (var i = node.length; i-- && 0 < removedKeyCount;) { + restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes); + } else if (node && 0 < removedKeyCount) for (i in removedKeys) { + if (removedKeys[i]) { + var _nextProp = node[i]; + + if (void 0 !== _nextProp) { + var attributeConfig = validAttributes[i]; + + if (attributeConfig) { + "function" === typeof _nextProp && (_nextProp = !0); + "undefined" === typeof _nextProp && (_nextProp = null); + if ("object" !== typeof attributeConfig) updatePayload[i] = _nextProp;else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) _nextProp = "function" === typeof attributeConfig.process ? attributeConfig.process(_nextProp) : _nextProp, updatePayload[i] = _nextProp; + removedKeys[i] = !1; + removedKeyCount--; + } + } + } + } + } + + function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) { + if (!updatePayload && prevProp === nextProp) return updatePayload; + if (!prevProp || !nextProp) return nextProp ? addNestedProperty(updatePayload, nextProp, validAttributes) : prevProp ? clearNestedProperty(updatePayload, prevProp, validAttributes) : updatePayload; + if (!Array.isArray(prevProp) && !Array.isArray(nextProp)) return diffProperties(updatePayload, prevProp, nextProp, validAttributes); + + if (Array.isArray(prevProp) && Array.isArray(nextProp)) { + var minLength = prevProp.length < nextProp.length ? prevProp.length : nextProp.length, + i; + + for (i = 0; i < minLength; i++) { + updatePayload = diffNestedProperty(updatePayload, prevProp[i], nextProp[i], validAttributes); + } + + for (; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + for (; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + return Array.isArray(prevProp) ? diffProperties(updatePayload, flattenStyle(prevProp), nextProp, validAttributes) : diffProperties(updatePayload, prevProp, flattenStyle(nextProp), validAttributes); + } + + function addNestedProperty(updatePayload, nextProp, validAttributes) { + if (!nextProp) return updatePayload; + if (!Array.isArray(nextProp)) return diffProperties(updatePayload, emptyObject$1, nextProp, validAttributes); + + for (var i = 0; i < nextProp.length; i++) { + updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes); + } + + return updatePayload; + } + + function clearNestedProperty(updatePayload, prevProp, validAttributes) { + if (!prevProp) return updatePayload; + if (!Array.isArray(prevProp)) return diffProperties(updatePayload, prevProp, emptyObject$1, validAttributes); + + for (var i = 0; i < prevProp.length; i++) { + updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes); + } + + return updatePayload; + } + + function diffProperties(updatePayload, prevProps, nextProps, validAttributes) { + var attributeConfig, propKey; + + for (propKey in nextProps) { + if (attributeConfig = validAttributes[propKey]) { + var prevProp = prevProps[propKey]; + var nextProp = nextProps[propKey]; + "function" === typeof nextProp && (nextProp = !0, "function" === typeof prevProp && (prevProp = !0)); + "undefined" === typeof nextProp && (nextProp = null, "undefined" === typeof prevProp && (prevProp = null)); + removedKeys && (removedKeys[propKey] = !1); + if (updatePayload && void 0 !== updatePayload[propKey]) { + if ("object" !== typeof attributeConfig) updatePayload[propKey] = nextProp;else { + if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[propKey] = attributeConfig; + } + } else if (prevProp !== nextProp) if ("object" !== typeof attributeConfig) ("object" !== typeof nextProp || null === nextProp || deepDiffer(prevProp, nextProp)) && ((updatePayload || (updatePayload = {}))[propKey] = nextProp);else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) { + if (void 0 === prevProp || ("function" === typeof attributeConfig.diff ? attributeConfig.diff(prevProp, nextProp) : "object" !== typeof nextProp || null === nextProp || deepDiffer(prevProp, nextProp))) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, (updatePayload || (updatePayload = {}))[propKey] = attributeConfig; + } else removedKeys = null, removedKeyCount = 0, updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig), 0 < removedKeyCount && updatePayload && (restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig), removedKeys = null); + } + } + + for (var _propKey in prevProps) { + void 0 === nextProps[_propKey] && (!(attributeConfig = validAttributes[_propKey]) || updatePayload && void 0 !== updatePayload[_propKey] || (prevProp = prevProps[_propKey], void 0 !== prevProp && ("object" !== typeof attributeConfig || "function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process ? ((updatePayload || (updatePayload = {}))[_propKey] = null, removedKeys || (removedKeys = {}), removedKeys[_propKey] || (removedKeys[_propKey] = !0, removedKeyCount++)) : updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig)))); + } + + return updatePayload; + } + + var now$1 = "object" === typeof performance && "function" === typeof performance.now ? function () { + return performance.now(); + } : function () { + return Date.now(); + }, + scheduledCallback = null, + frameDeadline = 0, + frameDeadlineObject = { + timeRemaining: function timeRemaining() { + return frameDeadline - now$1(); + }, + didTimeout: !1 + }; + + function setTimeoutCallback() { + frameDeadline = now$1() + 5; + var callback = scheduledCallback; + scheduledCallback = null; + null !== callback && callback(frameDeadlineObject); + } + + var restoreTarget = null, + restoreQueue = null; + + function restoreStateOfTarget(target) { + if (target = getInstanceFromNode(target)) { + invariant(null, "Fiber needs to be injected to handle a fiber target for controlled events. This error is likely caused by a bug in React. Please file an issue."); + var props = getFiberCurrentPropsFromNode(target.stateNode); + null.restoreControlledState(target.stateNode, target.type, props); + } + } + + function _batchedUpdates(fn, bookkeeping) { + return fn(bookkeeping); + } + + function _flushInteractiveUpdates() {} + + var isBatching = !1; + + function batchedUpdates(fn, bookkeeping) { + if (isBatching) return fn(bookkeeping); + isBatching = !0; + + try { + return _batchedUpdates(fn, bookkeeping); + } finally { + if (isBatching = !1, null !== restoreTarget || null !== restoreQueue) if (_flushInteractiveUpdates(), restoreTarget && (bookkeeping = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(bookkeeping), fn)) for (bookkeeping = 0; bookkeeping < fn.length; bookkeeping++) { + restoreStateOfTarget(fn[bookkeeping]); + } + } + } + + function dispatchEvent(target, topLevelType, nativeEvent) { + batchedUpdates(function () { + var events = nativeEvent.target; + + for (var events$jscomp$0 = null, i = 0; i < plugins.length; i++) { + var possiblePlugin = plugins[i]; + possiblePlugin && (possiblePlugin = possiblePlugin.extractEvents(topLevelType, target, nativeEvent, events)) && (events$jscomp$0 = accumulateInto(events$jscomp$0, possiblePlugin)); + } + + events = events$jscomp$0; + null !== events && (eventQueue = accumulateInto(eventQueue, events)); + events = eventQueue; + eventQueue = null; + events && (forEachAccumulated(events, executeDispatchesAndReleaseTopLevel), invariant(!eventQueue, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."), ReactErrorUtils.rethrowCaughtError()); + }); + } + + function shim$1() { + invariant(!1, "The current renderer does not support hyration. This error is likely caused by a bug in React. Please file an issue."); + } + + var nextReactTag = 2; + FabricUIManager.registerEventHandler && FabricUIManager.registerEventHandler(dispatchEvent); + + var ReactFabricHostComponent = function () { + function ReactFabricHostComponent(tag, viewConfig, props) { + if (!(this instanceof ReactFabricHostComponent)) throw new TypeError("Cannot call a class as a function"); + this._nativeTag = tag; + this.viewConfig = viewConfig; + this.currentProps = props; + } + + ReactFabricHostComponent.prototype.blur = function () { + TextInputState.blurTextInput(this._nativeTag); + }; + + ReactFabricHostComponent.prototype.focus = function () { + TextInputState.focusTextInput(this._nativeTag); + }; + + ReactFabricHostComponent.prototype.measure = function (callback) { + UIManager.measure(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactFabricHostComponent.prototype.measureInWindow = function (callback) { + UIManager.measureInWindow(this._nativeTag, mountSafeCallback(this, callback)); + }; + + ReactFabricHostComponent.prototype.measureLayout = function (relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(this._nativeTag, relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactFabricHostComponent.prototype.setNativeProps = function (nativeProps) { + nativeProps = diffProperties(null, emptyObject$1, nativeProps, this.viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(this._nativeTag, this.viewConfig.uiViewClassName, nativeProps); + }; + + return ReactFabricHostComponent; + }(); + + function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { + invariant(hostContext.isInAParentText, "Text strings must be rendered within a component."); + hostContext = nextReactTag; + nextReactTag += 2; + return { + node: FabricUIManager.createNode(hostContext, "RCTRawText", rootContainerInstance, { + text: text + }, internalInstanceHandle) + }; + } + + function getStackAddendumByWorkInProgressFiber(workInProgress) { + var info = ""; + + do { + a: switch (workInProgress.tag) { + case 0: + case 1: + case 2: + case 5: + var owner = workInProgress._debugOwner, + source = workInProgress._debugSource; + var JSCompiler_inline_result = getComponentName(workInProgress); + var ownerName = null; + owner && (ownerName = getComponentName(owner)); + owner = source; + JSCompiler_inline_result = "\n in " + (JSCompiler_inline_result || "Unknown") + (owner ? " (at " + owner.fileName.replace(/^.*[\\\/]/, "") + ":" + owner.lineNumber + ")" : ownerName ? " (created by " + ownerName + ")" : ""); + break a; + + default: + JSCompiler_inline_result = ""; + } + + info += JSCompiler_inline_result; + workInProgress = workInProgress.return; + } while (workInProgress); + + return info; + } + + new Set(); + var valueStack = [], + index = -1; + + function createCursor(defaultValue) { + return { + current: defaultValue + }; + } + + function pop(cursor) { + 0 > index || (cursor.current = valueStack[index], valueStack[index] = null, index--); + } + + function push(cursor, value) { + index++; + valueStack[index] = cursor.current; + cursor.current = value; + } + + var contextStackCursor = createCursor(emptyObject), + didPerformWorkStackCursor = createCursor(!1), + previousContext = emptyObject; + + function getUnmaskedContext(workInProgress) { + return isContextProvider(workInProgress) ? previousContext : contextStackCursor.current; + } + + function getMaskedContext(workInProgress, unmaskedContext) { + var contextTypes = workInProgress.type.contextTypes; + if (!contextTypes) return emptyObject; + var instance = workInProgress.stateNode; + if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) return instance.__reactInternalMemoizedMaskedChildContext; + var context = {}, + key; + + for (key in contextTypes) { + context[key] = unmaskedContext[key]; + } + + instance && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context); + return context; + } + + function isContextProvider(fiber) { + return 2 === fiber.tag && null != fiber.type.childContextTypes; + } + + function popContextProvider(fiber) { + isContextProvider(fiber) && (pop(didPerformWorkStackCursor, fiber), pop(contextStackCursor, fiber)); + } + + function popTopLevelContextObject(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function pushTopLevelContextObject(fiber, context, didChange) { + invariant(contextStackCursor.current === emptyObject, "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue."); + push(contextStackCursor, context, fiber); + push(didPerformWorkStackCursor, didChange, fiber); + } + + function processChildContext(fiber, parentContext) { + var instance = fiber.stateNode, + childContextTypes = fiber.type.childContextTypes; + if ("function" !== typeof instance.getChildContext) return parentContext; + instance = instance.getChildContext(); + + for (var contextKey in instance) { + invariant(contextKey in childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', getComponentName(fiber) || "Unknown", contextKey); + } + + return _extends({}, parentContext, instance); + } + + function pushContextProvider(workInProgress) { + if (!isContextProvider(workInProgress)) return !1; + var instance = workInProgress.stateNode; + instance = instance && instance.__reactInternalMemoizedMergedChildContext || emptyObject; + previousContext = contextStackCursor.current; + push(contextStackCursor, instance, workInProgress); + push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); + return !0; + } + + function invalidateContextProvider(workInProgress, didChange) { + var instance = workInProgress.stateNode; + invariant(instance, "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue."); + + if (didChange) { + var mergedContext = processChildContext(workInProgress, previousContext); + instance.__reactInternalMemoizedMergedChildContext = mergedContext; + pop(didPerformWorkStackCursor, workInProgress); + pop(contextStackCursor, workInProgress); + push(contextStackCursor, mergedContext, workInProgress); + } else pop(didPerformWorkStackCursor, workInProgress); + + push(didPerformWorkStackCursor, didChange, workInProgress); + } + + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = null; + this.index = 0; + this.ref = null; + this.pendingProps = pendingProps; + this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.effectTag = 0; + this.lastEffect = this.firstEffect = this.nextEffect = null; + this.expirationTime = 0; + this.alternate = null; + } + + function createWorkInProgress(current, pendingProps, expirationTime) { + var workInProgress = current.alternate; + null === workInProgress ? (workInProgress = new FiberNode(current.tag, pendingProps, current.key, current.mode), workInProgress.type = current.type, workInProgress.stateNode = current.stateNode, workInProgress.alternate = current, current.alternate = workInProgress) : (workInProgress.pendingProps = pendingProps, workInProgress.effectTag = 0, workInProgress.nextEffect = null, workInProgress.firstEffect = null, workInProgress.lastEffect = null); + workInProgress.expirationTime = expirationTime; + workInProgress.child = current.child; + workInProgress.memoizedProps = current.memoizedProps; + workInProgress.memoizedState = current.memoizedState; + workInProgress.updateQueue = current.updateQueue; + workInProgress.sibling = current.sibling; + workInProgress.index = current.index; + workInProgress.ref = current.ref; + return workInProgress; + } + + function createFiberFromElement(element, mode, expirationTime) { + var type = element.type, + key = element.key; + element = element.props; + if ("function" === typeof type) var fiberTag = type.prototype && type.prototype.isReactComponent ? 2 : 0;else if ("string" === typeof type) fiberTag = 5;else switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment(element.children, mode, expirationTime, key); + + case REACT_ASYNC_MODE_TYPE: + fiberTag = 11; + mode |= 3; + break; + + case REACT_STRICT_MODE_TYPE: + fiberTag = 11; + mode |= 2; + break; + + case REACT_PROFILER_TYPE: + return type = new FiberNode(15, element, key, mode | 4), type.type = REACT_PROFILER_TYPE, type.expirationTime = expirationTime, type; + + case REACT_TIMEOUT_TYPE: + fiberTag = 16; + mode |= 2; + break; + + default: + a: { + switch ("object" === typeof type && null !== type ? type.$$typeof : null) { + case REACT_PROVIDER_TYPE: + fiberTag = 13; + break a; + + case REACT_CONTEXT_TYPE: + fiberTag = 12; + break a; + + case REACT_FORWARD_REF_TYPE: + fiberTag = 14; + break a; + + default: + invariant(!1, "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", null == type ? type : typeof type, ""); + } + + fiberTag = void 0; + } + + } + mode = new FiberNode(fiberTag, element, key, mode); + mode.type = type; + mode.expirationTime = expirationTime; + return mode; + } + + function createFiberFromFragment(elements, mode, expirationTime, key) { + elements = new FiberNode(10, elements, key, mode); + elements.expirationTime = expirationTime; + return elements; + } + + function createFiberFromText(content, mode, expirationTime) { + content = new FiberNode(6, content, null, mode); + content.expirationTime = expirationTime; + return content; + } + + function createFiberFromPortal(portal, mode, expirationTime) { + mode = new FiberNode(4, null !== portal.children ? portal.children : [], portal.key, mode); + mode.expirationTime = expirationTime; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + + function createFiberRoot(containerInfo, isAsync, hydrate) { + isAsync = new FiberNode(3, null, null, isAsync ? 3 : 0); + containerInfo = { + current: isAsync, + containerInfo: containerInfo, + pendingChildren: null, + earliestPendingTime: 0, + latestPendingTime: 0, + earliestSuspendedTime: 0, + latestSuspendedTime: 0, + latestPingedTime: 0, + didError: !1, + pendingCommitExpirationTime: 0, + finishedWork: null, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: 0, + expirationTime: 0, + firstBatch: null, + nextScheduledRoot: null + }; + return isAsync.stateNode = containerInfo; + } + + var onCommitFiberRoot = null, + onCommitFiberUnmount = null; + + function catchErrors(fn) { + return function (arg) { + try { + return fn(arg); + } catch (err) {} + }; + } + + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled || !hook.supportsFiber) return !0; + + try { + var rendererID = hook.inject(internals); + onCommitFiberRoot = catchErrors(function (root) { + return hook.onCommitFiberRoot(rendererID, root); + }); + onCommitFiberUnmount = catchErrors(function (fiber) { + return hook.onCommitFiberUnmount(rendererID, fiber); + }); + } catch (err) {} + + return !0; + } + + function onCommitRoot(root) { + "function" === typeof onCommitFiberRoot && onCommitFiberRoot(root); + } + + function onCommitUnmount(fiber) { + "function" === typeof onCommitFiberUnmount && onCommitFiberUnmount(fiber); + } + + function markPendingPriorityLevel(root, expirationTime) { + root.didError = !1; + var earliestPendingTime = root.earliestPendingTime; + 0 === earliestPendingTime ? root.earliestPendingTime = root.latestPendingTime = expirationTime : earliestPendingTime > expirationTime ? root.earliestPendingTime = expirationTime : root.latestPendingTime < expirationTime && (root.latestPendingTime = expirationTime); + findNextPendingPriorityLevel(root); + } + + function findNextPendingPriorityLevel(root) { + var earliestSuspendedTime = root.earliestSuspendedTime, + earliestPendingTime = root.earliestPendingTime; + if (0 === earliestSuspendedTime) var nextExpirationTimeToWorkOn = earliestSuspendedTime = earliestPendingTime;else 0 !== earliestPendingTime ? (nextExpirationTimeToWorkOn = earliestPendingTime, earliestSuspendedTime = earliestSuspendedTime < earliestPendingTime ? earliestSuspendedTime : earliestPendingTime) : nextExpirationTimeToWorkOn = earliestSuspendedTime = root.latestPingedTime; + root.didError && (earliestSuspendedTime = 1); + root.nextExpirationTimeToWorkOn = nextExpirationTimeToWorkOn; + root.expirationTime = earliestSuspendedTime; + } + + var hasForceUpdate = !1; + + function createUpdateQueue(baseState) { + return { + expirationTime: 0, + baseState: baseState, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + + function cloneUpdateQueue(currentQueue) { + return { + expirationTime: currentQueue.expirationTime, + baseState: currentQueue.baseState, + firstUpdate: currentQueue.firstUpdate, + lastUpdate: currentQueue.lastUpdate, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + + function createUpdate(expirationTime) { + return { + expirationTime: expirationTime, + tag: 0, + payload: null, + callback: null, + next: null, + nextEffect: null + }; + } + + function appendUpdateToQueue(queue, update, expirationTime) { + null === queue.lastUpdate ? queue.firstUpdate = queue.lastUpdate = update : (queue.lastUpdate.next = update, queue.lastUpdate = update); + if (0 === queue.expirationTime || queue.expirationTime > expirationTime) queue.expirationTime = expirationTime; + } + + function enqueueUpdate(fiber, update, expirationTime) { + var alternate = fiber.alternate; + + if (null === alternate) { + var queue1 = fiber.updateQueue; + var queue2 = null; + null === queue1 && (queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState)); + } else queue1 = fiber.updateQueue, queue2 = alternate.updateQueue, null === queue1 ? null === queue2 ? (queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState), queue2 = alternate.updateQueue = createUpdateQueue(alternate.memoizedState)) : queue1 = fiber.updateQueue = cloneUpdateQueue(queue2) : null === queue2 && (queue2 = alternate.updateQueue = cloneUpdateQueue(queue1)); + + null === queue2 || queue1 === queue2 ? appendUpdateToQueue(queue1, update, expirationTime) : null === queue1.lastUpdate || null === queue2.lastUpdate ? (appendUpdateToQueue(queue1, update, expirationTime), appendUpdateToQueue(queue2, update, expirationTime)) : (appendUpdateToQueue(queue1, update, expirationTime), queue2.lastUpdate = update); + } + + function enqueueCapturedUpdate(workInProgress, update, renderExpirationTime) { + var workInProgressQueue = workInProgress.updateQueue; + workInProgressQueue = null === workInProgressQueue ? workInProgress.updateQueue = createUpdateQueue(workInProgress.memoizedState) : ensureWorkInProgressQueueIsAClone(workInProgress, workInProgressQueue); + null === workInProgressQueue.lastCapturedUpdate ? workInProgressQueue.firstCapturedUpdate = workInProgressQueue.lastCapturedUpdate = update : (workInProgressQueue.lastCapturedUpdate.next = update, workInProgressQueue.lastCapturedUpdate = update); + if (0 === workInProgressQueue.expirationTime || workInProgressQueue.expirationTime > renderExpirationTime) workInProgressQueue.expirationTime = renderExpirationTime; + } + + function ensureWorkInProgressQueueIsAClone(workInProgress, queue) { + var current = workInProgress.alternate; + null !== current && queue === current.updateQueue && (queue = workInProgress.updateQueue = cloneUpdateQueue(queue)); + return queue; + } + + function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { + switch (update.tag) { + case 1: + return workInProgress = update.payload, "function" === typeof workInProgress ? workInProgress.call(instance, prevState, nextProps) : workInProgress; + + case 3: + workInProgress.effectTag = workInProgress.effectTag & -1025 | 64; + + case 0: + workInProgress = update.payload; + nextProps = "function" === typeof workInProgress ? workInProgress.call(instance, prevState, nextProps) : workInProgress; + if (null === nextProps || void 0 === nextProps) break; + return _extends({}, prevState, nextProps); + + case 2: + hasForceUpdate = !0; + } + + return prevState; + } + + function processUpdateQueue(workInProgress, queue, props, instance, renderExpirationTime) { + hasForceUpdate = !1; + + if (!(0 === queue.expirationTime || queue.expirationTime > renderExpirationTime)) { + queue = ensureWorkInProgressQueueIsAClone(workInProgress, queue); + + for (var newBaseState = queue.baseState, newFirstUpdate = null, newExpirationTime = 0, update = queue.firstUpdate, resultState = newBaseState; null !== update;) { + var updateExpirationTime = update.expirationTime; + + if (updateExpirationTime > renderExpirationTime) { + if (null === newFirstUpdate && (newFirstUpdate = update, newBaseState = resultState), 0 === newExpirationTime || newExpirationTime > updateExpirationTime) newExpirationTime = updateExpirationTime; + } else resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance), null !== update.callback && (workInProgress.effectTag |= 32, update.nextEffect = null, null === queue.lastEffect ? queue.firstEffect = queue.lastEffect = update : (queue.lastEffect.nextEffect = update, queue.lastEffect = update)); + + update = update.next; + } + + updateExpirationTime = null; + + for (update = queue.firstCapturedUpdate; null !== update;) { + var _updateExpirationTime = update.expirationTime; + + if (_updateExpirationTime > renderExpirationTime) { + if (null === updateExpirationTime && (updateExpirationTime = update, null === newFirstUpdate && (newBaseState = resultState)), 0 === newExpirationTime || newExpirationTime > _updateExpirationTime) newExpirationTime = _updateExpirationTime; + } else resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance), null !== update.callback && (workInProgress.effectTag |= 32, update.nextEffect = null, null === queue.lastCapturedEffect ? queue.firstCapturedEffect = queue.lastCapturedEffect = update : (queue.lastCapturedEffect.nextEffect = update, queue.lastCapturedEffect = update)); + + update = update.next; + } + + null === newFirstUpdate && (queue.lastUpdate = null); + null === updateExpirationTime ? queue.lastCapturedUpdate = null : workInProgress.effectTag |= 32; + null === newFirstUpdate && null === updateExpirationTime && (newBaseState = resultState); + queue.baseState = newBaseState; + queue.firstUpdate = newFirstUpdate; + queue.firstCapturedUpdate = updateExpirationTime; + queue.expirationTime = newExpirationTime; + workInProgress.memoizedState = resultState; + } + } + + function callCallback(callback, context) { + invariant("function" === typeof callback, "Invalid argument passed as callback. Expected a function. Instead received: %s", callback); + callback.call(context); + } + + function commitUpdateQueue(finishedWork, finishedQueue, instance) { + null !== finishedQueue.firstCapturedUpdate && (null !== finishedQueue.lastUpdate && (finishedQueue.lastUpdate.next = finishedQueue.firstCapturedUpdate, finishedQueue.lastUpdate = finishedQueue.lastCapturedUpdate), finishedQueue.firstCapturedUpdate = finishedQueue.lastCapturedUpdate = null); + finishedWork = finishedQueue.firstEffect; + + for (finishedQueue.firstEffect = finishedQueue.lastEffect = null; null !== finishedWork;) { + var _callback3 = finishedWork.callback; + null !== _callback3 && (finishedWork.callback = null, callCallback(_callback3, instance)); + finishedWork = finishedWork.nextEffect; + } + + finishedWork = finishedQueue.firstCapturedEffect; + + for (finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; null !== finishedWork;) { + finishedQueue = finishedWork.callback, null !== finishedQueue && (finishedWork.callback = null, callCallback(finishedQueue, instance)), finishedWork = finishedWork.nextEffect; + } + } + + function createCapturedValue(value, source) { + return { + value: value, + source: source, + stack: getStackAddendumByWorkInProgressFiber(source) + }; + } + + var providerCursor = createCursor(null), + valueCursor = createCursor(null), + changedBitsCursor = createCursor(0); + + function pushProvider(providerFiber) { + var context = providerFiber.type._context; + push(changedBitsCursor, context._changedBits2, providerFiber); + push(valueCursor, context._currentValue2, providerFiber); + push(providerCursor, providerFiber, providerFiber); + context._currentValue2 = providerFiber.pendingProps.value; + context._changedBits2 = providerFiber.stateNode; + } + + function popProvider(providerFiber) { + var changedBits = changedBitsCursor.current, + currentValue = valueCursor.current; + pop(providerCursor, providerFiber); + pop(valueCursor, providerFiber); + pop(changedBitsCursor, providerFiber); + providerFiber = providerFiber.type._context; + providerFiber._currentValue2 = currentValue; + providerFiber._changedBits2 = changedBits; + } + + var NO_CONTEXT = {}, + contextStackCursor$1 = createCursor(NO_CONTEXT), + contextFiberStackCursor = createCursor(NO_CONTEXT), + rootInstanceStackCursor = createCursor(NO_CONTEXT); + + function requiredContext(c) { + invariant(c !== NO_CONTEXT, "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."); + return c; + } + + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, NO_CONTEXT, fiber); + pop(contextStackCursor$1, fiber); + push(contextStackCursor$1, { + isInAParentText: !1 + }, fiber); + } + + function popHostContainer(fiber) { + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor$1, fiber), pop(contextFiberStackCursor, fiber)); + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + function is(x, y) { + return x === y ? 0 !== x || 0 !== y || 1 / x === 1 / y : x !== x && y !== y; + } + + function shallowEqual(objA, objB) { + if (is(objA, objB)) return !0; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) return !1; + var keysA = Object.keys(objA), + keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return !1; + + for (keysB = 0; keysB < keysA.length; keysB++) { + if (!hasOwnProperty.call(objB, keysA[keysB]) || !is(objA[keysA[keysB]], objB[keysA[keysB]])) return !1; + } + + return !0; + } + + function applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress.memoizedState; + getDerivedStateFromProps = getDerivedStateFromProps(nextProps, prevState); + prevState = null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps ? prevState : _extends({}, prevState, getDerivedStateFromProps); + workInProgress.memoizedState = prevState; + workInProgress = workInProgress.updateQueue; + null !== workInProgress && 0 === workInProgress.expirationTime && (workInProgress.baseState = prevState); + } + + var classComponentUpdater = { + isMounted: function isMounted(component) { + return (component = component._reactInternalFiber) ? 2 === isFiberMountedImpl(component) : !1; + }, + enqueueSetState: function enqueueSetState(inst, payload, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.payload = payload; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + }, + enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.tag = 1; + update.payload = payload; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + }, + enqueueForceUpdate: function enqueueForceUpdate(inst, callback) { + inst = inst._reactInternalFiber; + var currentTime = recalculateCurrentTime(); + currentTime = computeExpirationForFiber(currentTime, inst); + var update = createUpdate(currentTime); + update.tag = 2; + void 0 !== callback && null !== callback && (update.callback = callback); + enqueueUpdate(inst, update, currentTime); + scheduleWork(inst, currentTime); + } + }; + + function checkShouldComponentUpdate(workInProgress, oldProps, newProps, oldState, newState, newContext) { + var instance = workInProgress.stateNode; + workInProgress = workInProgress.type; + return "function" === typeof instance.shouldComponentUpdate ? instance.shouldComponentUpdate(newProps, newState, newContext) : workInProgress.prototype && workInProgress.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : !0; + } + + function callComponentWillReceiveProps(workInProgress, instance, newProps, newContext) { + workInProgress = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, newContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, newContext); + instance.state !== workInProgress && classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + + function mountClassInstance(workInProgress, renderExpirationTime) { + var ctor = workInProgress.type, + instance = workInProgress.stateNode, + props = workInProgress.pendingProps, + unmaskedContext = getUnmaskedContext(workInProgress); + instance.props = props; + instance.state = workInProgress.memoizedState; + instance.refs = emptyObject; + instance.context = getMaskedContext(workInProgress, unmaskedContext); + unmaskedContext = workInProgress.updateQueue; + null !== unmaskedContext && (processUpdateQueue(workInProgress, unmaskedContext, props, instance, renderExpirationTime), instance.state = workInProgress.memoizedState); + unmaskedContext = workInProgress.type.getDerivedStateFromProps; + "function" === typeof unmaskedContext && (applyDerivedStateFromProps(workInProgress, unmaskedContext, props), instance.state = workInProgress.memoizedState); + "function" === typeof ctor.getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || (ctor = instance.state, "function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount(), ctor !== instance.state && classComponentUpdater.enqueueReplaceState(instance, instance.state, null), unmaskedContext = workInProgress.updateQueue, null !== unmaskedContext && (processUpdateQueue(workInProgress, unmaskedContext, props, instance, renderExpirationTime), instance.state = workInProgress.memoizedState)); + "function" === typeof instance.componentDidMount && (workInProgress.effectTag |= 4); + } + + var isArray$1 = Array.isArray; + + function coerceRef(returnFiber, current, element) { + returnFiber = element.ref; + + if (null !== returnFiber && "function" !== typeof returnFiber && "object" !== typeof returnFiber) { + if (element._owner) { + element = element._owner; + var inst = void 0; + element && (invariant(2 === element.tag, "Stateless function components cannot have refs."), inst = element.stateNode); + invariant(inst, "Missing owner for string ref %s. This error is likely caused by a bug in React. Please file an issue.", returnFiber); + var stringRef = "" + returnFiber; + if (null !== current && null !== current.ref && "function" === typeof current.ref && current.ref._stringRef === stringRef) return current.ref; + + current = function current(value) { + var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs; + null === value ? delete refs[stringRef] : refs[stringRef] = value; + }; + + current._stringRef = stringRef; + return current; + } + + invariant("string" === typeof returnFiber, "Expected ref to be a function or a string."); + invariant(element._owner, "Element ref was specified as a string (%s) but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a functional component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information.", returnFiber); + } + + return returnFiber; + } + + function throwOnInvalidObjectType(returnFiber, newChild) { + "textarea" !== returnFiber.type && invariant(!1, "Objects are not valid as a React child (found: %s).%s", "[object Object]" === Object.prototype.toString.call(newChild) ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : newChild, ""); + } + + function ChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var last = returnFiber.lastEffect; + null !== last ? (last.nextEffect = childToDelete, returnFiber.lastEffect = childToDelete) : returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + childToDelete.nextEffect = null; + childToDelete.effectTag = 8; + } + } + + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + + for (; null !== currentFirstChild;) { + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + } + + return null; + } + + function mapRemainingChildren(returnFiber, currentFirstChild) { + for (returnFiber = new Map(); null !== currentFirstChild;) { + null !== currentFirstChild.key ? returnFiber.set(currentFirstChild.key, currentFirstChild) : returnFiber.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + } + + return returnFiber; + } + + function useFiber(fiber, pendingProps, expirationTime) { + fiber = createWorkInProgress(fiber, pendingProps, expirationTime); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) return lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.effectTag = 2, lastPlacedIndex) : newIndex; + newFiber.effectTag = 2; + return lastPlacedIndex; + } + + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.effectTag = 2); + return newFiber; + } + + function updateTextNode(returnFiber, current, textContent, expirationTime) { + if (null === current || 6 !== current.tag) return current = createFiberFromText(textContent, returnFiber.mode, expirationTime), current.return = returnFiber, current; + current = useFiber(current, textContent, expirationTime); + current.return = returnFiber; + return current; + } + + function updateElement(returnFiber, current, element, expirationTime) { + if (null !== current && current.type === element.type) return expirationTime = useFiber(current, element.props, expirationTime), expirationTime.ref = coerceRef(returnFiber, current, element), expirationTime.return = returnFiber, expirationTime; + expirationTime = createFiberFromElement(element, returnFiber.mode, expirationTime); + expirationTime.ref = coerceRef(returnFiber, current, element); + expirationTime.return = returnFiber; + return expirationTime; + } + + function updatePortal(returnFiber, current, portal, expirationTime) { + if (null === current || 4 !== current.tag || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) return current = createFiberFromPortal(portal, returnFiber.mode, expirationTime), current.return = returnFiber, current; + current = useFiber(current, portal.children || [], expirationTime); + current.return = returnFiber; + return current; + } + + function updateFragment(returnFiber, current, fragment, expirationTime, key) { + if (null === current || 10 !== current.tag) return current = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key), current.return = returnFiber, current; + current = useFiber(current, fragment, expirationTime); + current.return = returnFiber; + return current; + } + + function createChild(returnFiber, newChild, expirationTime) { + if ("string" === typeof newChild || "number" === typeof newChild) return newChild = createFiberFromText("" + newChild, returnFiber.mode, expirationTime), newChild.return = returnFiber, newChild; + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return expirationTime = createFiberFromElement(newChild, returnFiber.mode, expirationTime), expirationTime.ref = coerceRef(returnFiber, null, newChild), expirationTime.return = returnFiber, expirationTime; + + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal(newChild, returnFiber.mode, expirationTime), newChild.return = returnFiber, newChild; + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return newChild = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null), newChild.return = returnFiber, newChild; + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild || "number" === typeof newChild) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, expirationTime); + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? newChild.type === REACT_FRAGMENT_TYPE ? updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key) : updateElement(returnFiber, oldFiber, newChild, expirationTime) : null; + + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, expirationTime) : null; + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return null !== key ? null : updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { + if ("string" === typeof newChild || "number" === typeof newChild) return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, expirationTime); + + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, newChild.type === REACT_FRAGMENT_TYPE ? updateFragment(returnFiber, existingChildren, newChild.props.children, expirationTime, newChild.key) : updateElement(returnFiber, existingChildren, newChild, expirationTime); + + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updatePortal(returnFiber, existingChildren, newChild, expirationTime); + } + + if (isArray$1(newChild) || getIteratorFn(newChild)) return existingChildren = existingChildren.get(newIdx) || null, updateFragment(returnFiber, existingChildren, newChild, expirationTime, null); + throwOnInvalidObjectType(returnFiber, newChild); + } + + return null; + } + + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); + + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (newIdx === newChildren.length) return deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild; + + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) { + if (oldFiber = createChild(returnFiber, newChildren[newIdx], expirationTime)) currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber; + } + + return resultingFirstChild; + } + + for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); newIdx < newChildren.length; newIdx++) { + if (nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, newChildren[newIdx], expirationTime)) shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(null === nextOldFiber.key ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber; + } + + shouldTrackSideEffects && oldFiber.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + return resultingFirstChild; + } + + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { + var iteratorFn = getIteratorFn(newChildrenIterable); + invariant("function" === typeof iteratorFn, "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."); + newChildrenIterable = iteratorFn.call(newChildrenIterable); + invariant(null != newChildrenIterable, "An iterable object provided no iterator."); + + for (var previousNewFiber = iteratorFn = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, step = newChildrenIterable.next(); null !== oldFiber && !step.done; newIdx++, step = newChildrenIterable.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); + + if (null === newFiber) { + oldFiber || (oldFiber = nextOldFiber); + break; + } + + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? iteratorFn = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (step.done) return deleteRemainingChildren(returnFiber, oldFiber), iteratorFn; + + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildrenIterable.next()) { + step = createChild(returnFiber, step.value, expirationTime), null !== step && (currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step); + } + + return iteratorFn; + } + + for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); !step.done; newIdx++, step = newChildrenIterable.next()) { + step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, expirationTime), null !== step && (shouldTrackSideEffects && null !== step.alternate && oldFiber.delete(null === step.key ? newIdx : step.key), currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step); + } + + shouldTrackSideEffects && oldFiber.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + return iteratorFn; + } + + return function (returnFiber, currentFirstChild, newChild, expirationTime) { + var isUnkeyedTopLevelFragment = "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key; + isUnkeyedTopLevelFragment && (newChild = newChild.props.children); + var isObject = "object" === typeof newChild && null !== newChild; + if (isObject) switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + a: { + isObject = newChild.key; + + for (isUnkeyedTopLevelFragment = currentFirstChild; null !== isUnkeyedTopLevelFragment;) { + if (isUnkeyedTopLevelFragment.key === isObject) { + if (10 === isUnkeyedTopLevelFragment.tag ? newChild.type === REACT_FRAGMENT_TYPE : isUnkeyedTopLevelFragment.type === newChild.type) { + deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling); + currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.type === REACT_FRAGMENT_TYPE ? newChild.props.children : newChild.props, expirationTime); + currentFirstChild.ref = coerceRef(returnFiber, isUnkeyedTopLevelFragment, newChild); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + break a; + } else { + deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment); + break; + } + } else deleteChild(returnFiber, isUnkeyedTopLevelFragment); + isUnkeyedTopLevelFragment = isUnkeyedTopLevelFragment.sibling; + } + + newChild.type === REACT_FRAGMENT_TYPE ? (currentFirstChild = createFiberFromFragment(newChild.props.children, returnFiber.mode, expirationTime, newChild.key), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (expirationTime = createFiberFromElement(newChild, returnFiber.mode, expirationTime), expirationTime.ref = coerceRef(returnFiber, currentFirstChild, newChild), expirationTime.return = returnFiber, returnFiber = expirationTime); + } + + return placeSingleChild(returnFiber); + + case REACT_PORTAL_TYPE: + a: { + for (isUnkeyedTopLevelFragment = newChild.key; null !== currentFirstChild;) { + if (currentFirstChild.key === isUnkeyedTopLevelFragment) { + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === newChild.containerInfo && currentFirstChild.stateNode.implementation === newChild.implementation) { + deleteRemainingChildren(returnFiber, currentFirstChild.sibling); + currentFirstChild = useFiber(currentFirstChild, newChild.children || [], expirationTime); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + + currentFirstChild = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); + currentFirstChild.return = returnFiber; + returnFiber = currentFirstChild; + } + + return placeSingleChild(returnFiber); + } + if ("string" === typeof newChild || "number" === typeof newChild) return newChild = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), currentFirstChild = useFiber(currentFirstChild, newChild, expirationTime), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (deleteRemainingChildren(returnFiber, currentFirstChild), currentFirstChild = createFiberFromText(newChild, returnFiber.mode, expirationTime), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild), placeSingleChild(returnFiber); + if (isArray$1(newChild)) return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); + if (getIteratorFn(newChild)) return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); + isObject && throwOnInvalidObjectType(returnFiber, newChild); + if ("undefined" === typeof newChild && !isUnkeyedTopLevelFragment) switch (returnFiber.tag) { + case 2: + case 1: + expirationTime = returnFiber.type, invariant(!1, "%s(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.", expirationTime.displayName || expirationTime.name || "Component"); + } + return deleteRemainingChildren(returnFiber, currentFirstChild); + }; + } + + var reconcileChildFibers = ChildReconciler(!0), + mountChildFibers = ChildReconciler(!1), + hydrationParentFiber = null, + nextHydratableInstance = null, + isHydrating = !1; + + function tryHydrate(fiber, nextInstance) { + switch (fiber.tag) { + case 5: + return nextInstance = shim$1(nextInstance, fiber.type, fiber.pendingProps), null !== nextInstance ? (fiber.stateNode = nextInstance, !0) : !1; + + case 6: + return nextInstance = shim$1(nextInstance, fiber.pendingProps), null !== nextInstance ? (fiber.stateNode = nextInstance, !0) : !1; + + default: + return !1; + } + } + + function tryToClaimNextHydratableInstance(fiber$jscomp$0) { + if (isHydrating) { + var nextInstance = nextHydratableInstance; + + if (nextInstance) { + var firstAttemptedInstance = nextInstance; + + if (!tryHydrate(fiber$jscomp$0, nextInstance)) { + nextInstance = shim$1(firstAttemptedInstance); + + if (!nextInstance || !tryHydrate(fiber$jscomp$0, nextInstance)) { + fiber$jscomp$0.effectTag |= 2; + isHydrating = !1; + hydrationParentFiber = fiber$jscomp$0; + return; + } + + var returnFiber = hydrationParentFiber, + fiber = new FiberNode(5, null, null, 0); + fiber.type = "DELETED"; + fiber.stateNode = firstAttemptedInstance; + fiber.return = returnFiber; + fiber.effectTag = 8; + null !== returnFiber.lastEffect ? (returnFiber.lastEffect.nextEffect = fiber, returnFiber.lastEffect = fiber) : returnFiber.firstEffect = returnFiber.lastEffect = fiber; + } + + hydrationParentFiber = fiber$jscomp$0; + nextHydratableInstance = shim$1(nextInstance); + } else fiber$jscomp$0.effectTag |= 2, isHydrating = !1, hydrationParentFiber = fiber$jscomp$0; + } + } + + function reconcileChildren(current, workInProgress, nextChildren) { + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, workInProgress.expirationTime); + } + + function reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime) { + workInProgress.child = null === current ? mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime) : reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); + } + + function markRef(current, workInProgress) { + var ref = workInProgress.ref; + if (null === current && null !== ref || null !== current && current.ref !== ref) workInProgress.effectTag |= 128; + } + + function finishClassComponent(current, workInProgress, shouldUpdate, hasContext, renderExpirationTime) { + markRef(current, workInProgress); + var didCaptureError = 0 !== (workInProgress.effectTag & 64); + if (!shouldUpdate && !didCaptureError) return hasContext && invalidateContextProvider(workInProgress, !1), bailoutOnAlreadyFinishedWork(current, workInProgress); + shouldUpdate = workInProgress.stateNode; + ReactCurrentOwner.current = workInProgress; + var nextChildren = didCaptureError ? null : shouldUpdate.render(); + workInProgress.effectTag |= 1; + didCaptureError && (reconcileChildrenAtExpirationTime(current, workInProgress, null, renderExpirationTime), workInProgress.child = null); + reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime); + workInProgress.memoizedState = shouldUpdate.state; + workInProgress.memoizedProps = shouldUpdate.props; + hasContext && invalidateContextProvider(workInProgress, !0); + return workInProgress.child; + } + + function pushHostRootContext(workInProgress) { + var root = workInProgress.stateNode; + root.pendingContext ? pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context) : root.context && pushTopLevelContextObject(workInProgress, root.context, !1); + pushHostContainer(workInProgress, root.containerInfo); + } + + function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { + var fiber = workInProgress.child; + null !== fiber && (fiber.return = workInProgress); + + for (; null !== fiber;) { + switch (fiber.tag) { + case 12: + var nextFiber = fiber.stateNode | 0; + + if (fiber.type === context && 0 !== (nextFiber & changedBits)) { + for (nextFiber = fiber; null !== nextFiber;) { + var alternate = nextFiber.alternate; + if (0 === nextFiber.expirationTime || nextFiber.expirationTime > renderExpirationTime) nextFiber.expirationTime = renderExpirationTime, null !== alternate && (0 === alternate.expirationTime || alternate.expirationTime > renderExpirationTime) && (alternate.expirationTime = renderExpirationTime);else if (null !== alternate && (0 === alternate.expirationTime || alternate.expirationTime > renderExpirationTime)) alternate.expirationTime = renderExpirationTime;else break; + nextFiber = nextFiber.return; + } + + nextFiber = null; + } else nextFiber = fiber.child; + + break; + + case 13: + nextFiber = fiber.type === workInProgress.type ? null : fiber.child; + break; + + default: + nextFiber = fiber.child; + } + + if (null !== nextFiber) nextFiber.return = fiber;else for (nextFiber = fiber; null !== nextFiber;) { + if (nextFiber === workInProgress) { + nextFiber = null; + break; + } + + fiber = nextFiber.sibling; + + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + + function updateContextProvider(current, workInProgress, renderExpirationTime) { + var context = workInProgress.type._context, + newProps = workInProgress.pendingProps, + oldProps = workInProgress.memoizedProps, + canBailOnProps = !0; + if (didPerformWorkStackCursor.current) canBailOnProps = !1;else if (oldProps === newProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + var newValue = newProps.value; + workInProgress.memoizedProps = newProps; + if (null === oldProps) newValue = 1073741823;else if (oldProps.value === newProps.value) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + newValue = 0; + } else { + var oldValue = oldProps.value; + + if (oldValue === newValue && (0 !== oldValue || 1 / oldValue === 1 / newValue) || oldValue !== oldValue && newValue !== newValue) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + newValue = 0; + } else if (newValue = "function" === typeof context._calculateChangedBits ? context._calculateChangedBits(oldValue, newValue) : 1073741823, newValue |= 0, 0 === newValue) { + if (oldProps.children === newProps.children && canBailOnProps) return workInProgress.stateNode = 0, pushProvider(workInProgress), bailoutOnAlreadyFinishedWork(current, workInProgress); + } else propagateContextChange(workInProgress, context, newValue, renderExpirationTime); + } + workInProgress.stateNode = newValue; + pushProvider(workInProgress); + reconcileChildren(current, workInProgress, newProps.children); + return workInProgress.child; + } + + function bailoutOnAlreadyFinishedWork(current, workInProgress) { + invariant(null === current || workInProgress.child === current.child, "Resuming work not yet implemented."); + + if (null !== workInProgress.child) { + current = workInProgress.child; + var newChild = createWorkInProgress(current, current.pendingProps, current.expirationTime); + workInProgress.child = newChild; + + for (newChild.return = workInProgress; null !== current.sibling;) { + current = current.sibling, newChild = newChild.sibling = createWorkInProgress(current, current.pendingProps, current.expirationTime), newChild.return = workInProgress; + } + + newChild.sibling = null; + } + + return workInProgress.child; + } + + function beginWork(current, workInProgress, renderExpirationTime) { + if (0 === workInProgress.expirationTime || workInProgress.expirationTime > renderExpirationTime) { + switch (workInProgress.tag) { + case 3: + pushHostRootContext(workInProgress); + break; + + case 2: + pushContextProvider(workInProgress); + break; + + case 4: + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + break; + + case 13: + pushProvider(workInProgress); + } + + return null; + } + + switch (workInProgress.tag) { + case 0: + invariant(null === current, "An indeterminate component should never have mounted. This error is likely caused by a bug in React. Please file an issue."); + var fn = workInProgress.type, + props = workInProgress.pendingProps, + unmaskedContext = getUnmaskedContext(workInProgress); + unmaskedContext = getMaskedContext(workInProgress, unmaskedContext); + fn = fn(props, unmaskedContext); + workInProgress.effectTag |= 1; + "object" === typeof fn && null !== fn && "function" === typeof fn.render && void 0 === fn.$$typeof ? (unmaskedContext = workInProgress.type, workInProgress.tag = 2, workInProgress.memoizedState = null !== fn.state && void 0 !== fn.state ? fn.state : null, unmaskedContext = unmaskedContext.getDerivedStateFromProps, "function" === typeof unmaskedContext && applyDerivedStateFromProps(workInProgress, unmaskedContext, props), props = pushContextProvider(workInProgress), fn.updater = classComponentUpdater, workInProgress.stateNode = fn, fn._reactInternalFiber = workInProgress, mountClassInstance(workInProgress, renderExpirationTime), current = finishClassComponent(current, workInProgress, !0, props, renderExpirationTime)) : (workInProgress.tag = 1, reconcileChildren(current, workInProgress, fn), workInProgress.memoizedProps = props, current = workInProgress.child); + return current; + + case 1: + return props = workInProgress.type, renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime ? (fn = getUnmaskedContext(workInProgress), fn = getMaskedContext(workInProgress, fn), props = props(renderExpirationTime, fn), workInProgress.effectTag |= 1, reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 2: + props = pushContextProvider(workInProgress); + if (null === current) { + if (null === workInProgress.stateNode) { + var props$jscomp$0 = workInProgress.pendingProps, + ctor = workInProgress.type; + fn = getUnmaskedContext(workInProgress); + var needsContext = 2 === workInProgress.tag && null != workInProgress.type.contextTypes; + unmaskedContext = needsContext ? getMaskedContext(workInProgress, fn) : emptyObject; + props$jscomp$0 = new ctor(props$jscomp$0, unmaskedContext); + workInProgress.memoizedState = null !== props$jscomp$0.state && void 0 !== props$jscomp$0.state ? props$jscomp$0.state : null; + props$jscomp$0.updater = classComponentUpdater; + workInProgress.stateNode = props$jscomp$0; + props$jscomp$0._reactInternalFiber = workInProgress; + needsContext && (needsContext = workInProgress.stateNode, needsContext.__reactInternalMemoizedUnmaskedChildContext = fn, needsContext.__reactInternalMemoizedMaskedChildContext = unmaskedContext); + mountClassInstance(workInProgress, renderExpirationTime); + fn = !0; + } else { + ctor = workInProgress.type; + fn = workInProgress.stateNode; + needsContext = workInProgress.memoizedProps; + unmaskedContext = workInProgress.pendingProps; + fn.props = needsContext; + var oldContext = fn.context; + props$jscomp$0 = getUnmaskedContext(workInProgress); + props$jscomp$0 = getMaskedContext(workInProgress, props$jscomp$0); + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + (ctor = "function" === typeof getDerivedStateFromProps || "function" === typeof fn.getSnapshotBeforeUpdate) || "function" !== typeof fn.UNSAFE_componentWillReceiveProps && "function" !== typeof fn.componentWillReceiveProps || (needsContext !== unmaskedContext || oldContext !== props$jscomp$0) && callComponentWillReceiveProps(workInProgress, fn, unmaskedContext, props$jscomp$0); + hasForceUpdate = !1; + var oldState = workInProgress.memoizedState; + oldContext = fn.state = oldState; + var updateQueue = workInProgress.updateQueue; + null !== updateQueue && (processUpdateQueue(workInProgress, updateQueue, unmaskedContext, fn, renderExpirationTime), oldContext = workInProgress.memoizedState); + needsContext !== unmaskedContext || oldState !== oldContext || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, unmaskedContext), oldContext = workInProgress.memoizedState), (needsContext = hasForceUpdate || checkShouldComponentUpdate(workInProgress, needsContext, unmaskedContext, oldState, oldContext, props$jscomp$0)) ? (ctor || "function" !== typeof fn.UNSAFE_componentWillMount && "function" !== typeof fn.componentWillMount || ("function" === typeof fn.componentWillMount && fn.componentWillMount(), "function" === typeof fn.UNSAFE_componentWillMount && fn.UNSAFE_componentWillMount()), "function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4)) : ("function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4), workInProgress.memoizedProps = unmaskedContext, workInProgress.memoizedState = oldContext), fn.props = unmaskedContext, fn.state = oldContext, fn.context = props$jscomp$0, fn = needsContext) : ("function" === typeof fn.componentDidMount && (workInProgress.effectTag |= 4), fn = !1); + } + } else ctor = workInProgress.type, fn = workInProgress.stateNode, unmaskedContext = workInProgress.memoizedProps, needsContext = workInProgress.pendingProps, fn.props = unmaskedContext, oldContext = fn.context, props$jscomp$0 = getUnmaskedContext(workInProgress), props$jscomp$0 = getMaskedContext(workInProgress, props$jscomp$0), getDerivedStateFromProps = ctor.getDerivedStateFromProps, (ctor = "function" === typeof getDerivedStateFromProps || "function" === typeof fn.getSnapshotBeforeUpdate) || "function" !== typeof fn.UNSAFE_componentWillReceiveProps && "function" !== typeof fn.componentWillReceiveProps || (unmaskedContext !== needsContext || oldContext !== props$jscomp$0) && callComponentWillReceiveProps(workInProgress, fn, needsContext, props$jscomp$0), hasForceUpdate = !1, oldContext = workInProgress.memoizedState, oldState = fn.state = oldContext, updateQueue = workInProgress.updateQueue, null !== updateQueue && (processUpdateQueue(workInProgress, updateQueue, needsContext, fn, renderExpirationTime), oldState = workInProgress.memoizedState), unmaskedContext !== needsContext || oldContext !== oldState || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, getDerivedStateFromProps, needsContext), oldState = workInProgress.memoizedState), (getDerivedStateFromProps = hasForceUpdate || checkShouldComponentUpdate(workInProgress, unmaskedContext, needsContext, oldContext, oldState, props$jscomp$0)) ? (ctor || "function" !== typeof fn.UNSAFE_componentWillUpdate && "function" !== typeof fn.componentWillUpdate || ("function" === typeof fn.componentWillUpdate && fn.componentWillUpdate(needsContext, oldState, props$jscomp$0), "function" === typeof fn.UNSAFE_componentWillUpdate && fn.UNSAFE_componentWillUpdate(needsContext, oldState, props$jscomp$0)), "function" === typeof fn.componentDidUpdate && (workInProgress.effectTag |= 4), "function" === typeof fn.getSnapshotBeforeUpdate && (workInProgress.effectTag |= 256)) : ("function" !== typeof fn.componentDidUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 4), "function" !== typeof fn.getSnapshotBeforeUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 256), workInProgress.memoizedProps = needsContext, workInProgress.memoizedState = oldState), fn.props = needsContext, fn.state = oldState, fn.context = props$jscomp$0, fn = getDerivedStateFromProps) : ("function" !== typeof fn.componentDidUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 4), "function" !== typeof fn.getSnapshotBeforeUpdate || unmaskedContext === current.memoizedProps && oldContext === current.memoizedState || (workInProgress.effectTag |= 256), fn = !1); + return finishClassComponent(current, workInProgress, fn, props, renderExpirationTime); + + case 3: + return pushHostRootContext(workInProgress), props = workInProgress.updateQueue, null !== props ? (fn = workInProgress.memoizedState, fn = null !== fn ? fn.element : null, processUpdateQueue(workInProgress, props, workInProgress.pendingProps, null, renderExpirationTime), renderExpirationTime = workInProgress.memoizedState.element, renderExpirationTime === fn ? current = bailoutOnAlreadyFinishedWork(current, workInProgress) : (reconcileChildren(current, workInProgress, renderExpirationTime), current = workInProgress.child)) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 5: + return requiredContext(rootInstanceStackCursor.current), renderExpirationTime = requiredContext(contextStackCursor$1.current), props = workInProgress.type, props = "AndroidTextInput" === props || "RCTMultilineTextInputView" === props || "RCTSinglelineTextInputView" === props || "RCTText" === props || "RCTVirtualText" === props, props = renderExpirationTime.isInAParentText !== props ? { + isInAParentText: props + } : renderExpirationTime, renderExpirationTime !== props && (push(contextFiberStackCursor, workInProgress, workInProgress), push(contextStackCursor$1, props, workInProgress)), null === current && tryToClaimNextHydratableInstance(workInProgress), props = workInProgress.memoizedProps, renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || props !== renderExpirationTime ? (props = renderExpirationTime.children, markRef(current, workInProgress), reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 6: + return null === current && tryToClaimNextHydratableInstance(workInProgress), workInProgress.memoizedProps = workInProgress.pendingProps, null; + + case 16: + return null; + + case 4: + return pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo), props = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== props ? (null === current ? workInProgress.child = reconcileChildFibers(workInProgress, null, props, renderExpirationTime) : reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = props, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 14: + return props = workInProgress.type.render, renderExpirationTime = workInProgress.pendingProps, fn = workInProgress.ref, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime || fn !== (null !== current ? current.ref : null) ? (props = props(renderExpirationTime, fn), reconcileChildren(current, workInProgress, props), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 10: + return renderExpirationTime = workInProgress.pendingProps, didPerformWorkStackCursor.current || workInProgress.memoizedProps !== renderExpirationTime ? (reconcileChildren(current, workInProgress, renderExpirationTime), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 11: + return renderExpirationTime = workInProgress.pendingProps.children, didPerformWorkStackCursor.current || null !== renderExpirationTime && workInProgress.memoizedProps !== renderExpirationTime ? (reconcileChildren(current, workInProgress, renderExpirationTime), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child) : current = bailoutOnAlreadyFinishedWork(current, workInProgress), current; + + case 15: + return renderExpirationTime = workInProgress.pendingProps, workInProgress.memoizedProps === renderExpirationTime ? current = bailoutOnAlreadyFinishedWork(current, workInProgress) : (reconcileChildren(current, workInProgress, renderExpirationTime.children), workInProgress.memoizedProps = renderExpirationTime, current = workInProgress.child), current; + + case 13: + return updateContextProvider(current, workInProgress, renderExpirationTime); + + case 12: + a: if (fn = workInProgress.type, unmaskedContext = workInProgress.pendingProps, needsContext = workInProgress.memoizedProps, props = fn._currentValue2, props$jscomp$0 = fn._changedBits2, didPerformWorkStackCursor.current || 0 !== props$jscomp$0 || needsContext !== unmaskedContext) { + workInProgress.memoizedProps = unmaskedContext; + ctor = unmaskedContext.unstable_observedBits; + if (void 0 === ctor || null === ctor) ctor = 1073741823; + workInProgress.stateNode = ctor; + if (0 !== (props$jscomp$0 & ctor)) propagateContextChange(workInProgress, fn, props$jscomp$0, renderExpirationTime);else if (needsContext === unmaskedContext) { + current = bailoutOnAlreadyFinishedWork(current, workInProgress); + break a; + } + renderExpirationTime = unmaskedContext.children; + renderExpirationTime = renderExpirationTime(props); + workInProgress.effectTag |= 1; + reconcileChildren(current, workInProgress, renderExpirationTime); + current = workInProgress.child; + } else current = bailoutOnAlreadyFinishedWork(current, workInProgress); + + return current; + + default: + invariant(!1, "Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."); + } + } + + function appendAllChildren(parent, workInProgress) { + for (var node = workInProgress.child; null !== node;) { + if (5 === node.tag || 6 === node.tag) FabricUIManager.appendChild(parent.node, node.stateNode.node);else if (4 !== node.tag && null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === workInProgress) break; + + for (; null === node.sibling;) { + if (null === node.return || node.return === workInProgress) return; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + } + + var updateHostContainer = void 0, + updateHostComponent$1 = void 0, + updateHostText$1 = void 0; + + updateHostContainer = function updateHostContainer(workInProgress) { + var portalOrRoot = workInProgress.stateNode; + + if (null !== workInProgress.firstEffect) { + var container = portalOrRoot.containerInfo, + newChildSet = FabricUIManager.createChildSet(container); + + a: for (var node = workInProgress.child; null !== node;) { + if (5 === node.tag || 6 === node.tag) FabricUIManager.appendChildToSet(newChildSet, node.stateNode.node);else if (4 !== node.tag && null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === workInProgress) break a; + + for (; null === node.sibling;) { + if (null === node.return || node.return === workInProgress) break a; + node = node.return; + } + + node.sibling.return = node.return; + node = node.sibling; + } + + portalOrRoot.pendingChildren = newChildSet; + workInProgress.effectTag |= 4; + FabricUIManager.completeRoot(container, newChildSet); + } + }; + + updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, updatePayload) { + var childrenUnchanged = null === workInProgress.firstEffect; + current = current.stateNode; + if (childrenUnchanged && null === updatePayload) workInProgress.stateNode = current;else { + var node = current.node; + updatePayload = { + node: childrenUnchanged ? null !== updatePayload ? FabricUIManager.cloneNodeWithNewProps(node, updatePayload, workInProgress) : FabricUIManager.cloneNode(node, workInProgress) : null !== updatePayload ? FabricUIManager.cloneNodeWithNewChildrenAndProps(node, updatePayload, workInProgress) : FabricUIManager.cloneNodeWithNewChildren(node, workInProgress), + canonical: current.canonical + }; + workInProgress.stateNode = updatePayload; + childrenUnchanged ? workInProgress.effectTag |= 4 : appendAllChildren(updatePayload, workInProgress); + } + }; + + updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) { + oldText !== newText && (current = requiredContext(rootInstanceStackCursor.current), oldText = requiredContext(contextStackCursor$1.current), workInProgress.stateNode = createTextInstance(newText, current, oldText, workInProgress), workInProgress.effectTag |= 4); + }; + + function completeWork(current, workInProgress) { + var newProps = workInProgress.pendingProps; + + switch (workInProgress.tag) { + case 1: + return null; + + case 2: + return popContextProvider(workInProgress), null; + + case 3: + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + newProps = workInProgress.stateNode; + newProps.pendingContext && (newProps.context = newProps.pendingContext, newProps.pendingContext = null); + if (null === current || null === current.child) workInProgress.effectTag &= -3; + updateHostContainer(workInProgress); + return null; + + case 5: + popHostContext(workInProgress); + var rootContainerInstance = requiredContext(rootInstanceStackCursor.current), + type = workInProgress.type; + + if (null !== current && null != workInProgress.stateNode) { + var oldProps = current.memoizedProps, + instance = workInProgress.stateNode, + currentHostContext = requiredContext(contextStackCursor$1.current), + updatePayload = diffProperties(null, oldProps, newProps, instance.canonical.viewConfig.validAttributes); + instance.canonical.currentProps = newProps; + updateHostComponent$1(current, workInProgress, updatePayload, type, oldProps, newProps, rootContainerInstance, currentHostContext); + current.ref !== workInProgress.ref && (workInProgress.effectTag |= 128); + } else { + if (!newProps) return invariant(null !== workInProgress.stateNode, "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."), null; + instance = requiredContext(contextStackCursor$1.current); + current = nextReactTag; + nextReactTag += 2; + oldProps = ReactNativeViewConfigRegistry.get(type); + invariant("RCTView" !== type || !instance.isInAParentText, "Nesting of within is not currently supported."); + type = diffProperties(null, emptyObject$1, newProps, oldProps.validAttributes); + rootContainerInstance = FabricUIManager.createNode(current, oldProps.uiViewClassName, rootContainerInstance, type, workInProgress); + newProps = new ReactFabricHostComponent(current, oldProps, newProps); + newProps = { + node: rootContainerInstance, + canonical: newProps + }; + appendAllChildren(newProps, workInProgress); + workInProgress.stateNode = newProps; + null !== workInProgress.ref && (workInProgress.effectTag |= 128); + } + + return null; + + case 6: + if (current && null != workInProgress.stateNode) updateHostText$1(current, workInProgress, current.memoizedProps, newProps);else { + if ("string" !== typeof newProps) return invariant(null !== workInProgress.stateNode, "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."), null; + rootContainerInstance = requiredContext(rootInstanceStackCursor.current); + type = requiredContext(contextStackCursor$1.current); + workInProgress.stateNode = createTextInstance(newProps, rootContainerInstance, type, workInProgress); + } + return null; + + case 14: + return null; + + case 16: + return null; + + case 10: + return null; + + case 11: + return null; + + case 15: + return null; + + case 4: + return popHostContainer(workInProgress), updateHostContainer(workInProgress), null; + + case 13: + return popProvider(workInProgress), null; + + case 12: + return null; + + case 0: + invariant(!1, "An indeterminate component should have become determinate before completing. This error is likely caused by a bug in React. Please file an issue."); + + default: + invariant(!1, "Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."); + } + } + + function logError(boundary, errorInfo) { + var source = errorInfo.source, + stack = errorInfo.stack; + null === stack && null !== source && (stack = getStackAddendumByWorkInProgressFiber(source)); + null !== source && getComponentName(source); + source = null !== stack ? stack : ""; + errorInfo = errorInfo.value; + null !== boundary && 2 === boundary.tag && getComponentName(boundary); + + try { + if (errorInfo instanceof Error) { + var message = errorInfo.message, + name = errorInfo.name; + var errorToHandle = errorInfo; + + try { + errorToHandle.message = (message ? name + ": " + message : name) + "\n\nThis error is located at:" + source; + } catch (e) {} + } else errorToHandle = "string" === typeof errorInfo ? Error(errorInfo + "\n\nThis error is located at:" + source) : Error("Unspecified error at:" + source); + + ExceptionsManager.handleException(errorToHandle, !1); + } catch (e) { + e && e.suppressReactErrorLogging || console.error(e); + } + } + + function safelyDetachRef(current) { + var ref = current.ref; + if (null !== ref) if ("function" === typeof ref) try { + ref(null); + } catch (refError) { + captureCommitPhaseError(current, refError); + } else ref.current = null; + } + + function commitWork(current, finishedWork) { + switch (finishedWork.tag) { + case 2: + break; + + case 5: + break; + + case 6: + break; + + case 3: + case 4: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + function createRootErrorUpdate(fiber, errorInfo, expirationTime) { + expirationTime = createUpdate(expirationTime); + expirationTime.tag = 3; + expirationTime.payload = { + element: null + }; + var error = errorInfo.value; + + expirationTime.callback = function () { + onUncaughtError(error); + logError(fiber, errorInfo); + }; + + return expirationTime; + } + + function createClassErrorUpdate(fiber, errorInfo, expirationTime) { + expirationTime = createUpdate(expirationTime); + expirationTime.tag = 3; + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (expirationTime.callback = function () { + null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this); + var error = errorInfo.value, + stack = errorInfo.stack; + logError(fiber, errorInfo); + this.componentDidCatch(error, { + componentStack: null !== stack ? stack : "" + }); + }); + return expirationTime; + } + + function unwindWork(workInProgress) { + switch (workInProgress.tag) { + case 2: + popContextProvider(workInProgress); + var effectTag = workInProgress.effectTag; + return effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 3: + return popHostContainer(workInProgress), popTopLevelContextObject(workInProgress), effectTag = workInProgress.effectTag, effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 5: + return popHostContext(workInProgress), null; + + case 16: + return effectTag = workInProgress.effectTag, effectTag & 1024 ? (workInProgress.effectTag = effectTag & -1025 | 64, workInProgress) : null; + + case 4: + return popHostContainer(workInProgress), null; + + case 13: + return popProvider(workInProgress), null; + + default: + return null; + } + } + + var originalStartTimeMs = now$1(), + mostRecentCurrentTime = 2, + mostRecentCurrentTimeMs = originalStartTimeMs, + lastUniqueAsyncExpiration = 0, + expirationContext = 0, + isWorking = !1, + nextUnitOfWork = null, + nextRoot = null, + nextRenderExpirationTime = 0, + nextLatestTimeoutMs = -1, + nextRenderDidError = !1, + nextEffect = null, + isCommitting$1 = !1, + legacyErrorBoundariesThatAlreadyFailed = null; + + function resetStack() { + if (null !== nextUnitOfWork) for (var interruptedWork = nextUnitOfWork.return; null !== interruptedWork;) { + var interruptedWork$jscomp$0 = interruptedWork; + + switch (interruptedWork$jscomp$0.tag) { + case 2: + popContextProvider(interruptedWork$jscomp$0); + break; + + case 3: + popHostContainer(interruptedWork$jscomp$0); + popTopLevelContextObject(interruptedWork$jscomp$0); + break; + + case 5: + popHostContext(interruptedWork$jscomp$0); + break; + + case 4: + popHostContainer(interruptedWork$jscomp$0); + break; + + case 13: + popProvider(interruptedWork$jscomp$0); + } + + interruptedWork = interruptedWork.return; + } + nextRoot = null; + nextRenderExpirationTime = 0; + nextLatestTimeoutMs = -1; + nextRenderDidError = !1; + nextUnitOfWork = null; + } + + function completeUnitOfWork(workInProgress$jscomp$0) { + for (;;) { + var current = workInProgress$jscomp$0.alternate, + returnFiber = workInProgress$jscomp$0.return, + siblingFiber = workInProgress$jscomp$0.sibling; + + if (0 === (workInProgress$jscomp$0.effectTag & 512)) { + current = completeWork(current, workInProgress$jscomp$0, nextRenderExpirationTime); + var workInProgress = workInProgress$jscomp$0; + + if (1073741823 === nextRenderExpirationTime || 1073741823 !== workInProgress.expirationTime) { + var newExpirationTime = 0; + + switch (workInProgress.tag) { + case 3: + case 2: + var updateQueue = workInProgress.updateQueue; + null !== updateQueue && (newExpirationTime = updateQueue.expirationTime); + } + + for (updateQueue = workInProgress.child; null !== updateQueue;) { + 0 !== updateQueue.expirationTime && (0 === newExpirationTime || newExpirationTime > updateQueue.expirationTime) && (newExpirationTime = updateQueue.expirationTime), updateQueue = updateQueue.sibling; + } + + workInProgress.expirationTime = newExpirationTime; + } + + if (null !== current) return current; + null !== returnFiber && 0 === (returnFiber.effectTag & 512) && (null === returnFiber.firstEffect && (returnFiber.firstEffect = workInProgress$jscomp$0.firstEffect), null !== workInProgress$jscomp$0.lastEffect && (null !== returnFiber.lastEffect && (returnFiber.lastEffect.nextEffect = workInProgress$jscomp$0.firstEffect), returnFiber.lastEffect = workInProgress$jscomp$0.lastEffect), 1 < workInProgress$jscomp$0.effectTag && (null !== returnFiber.lastEffect ? returnFiber.lastEffect.nextEffect = workInProgress$jscomp$0 : returnFiber.firstEffect = workInProgress$jscomp$0, returnFiber.lastEffect = workInProgress$jscomp$0)); + } else { + workInProgress$jscomp$0 = unwindWork(workInProgress$jscomp$0, nextRenderExpirationTime); + if (null !== workInProgress$jscomp$0) return workInProgress$jscomp$0.effectTag &= 511, workInProgress$jscomp$0; + null !== returnFiber && (returnFiber.firstEffect = returnFiber.lastEffect = null, returnFiber.effectTag |= 512); + } + + if (null !== siblingFiber) return siblingFiber; + if (null !== returnFiber) workInProgress$jscomp$0 = returnFiber;else break; + } + + return null; + } + + function performUnitOfWork(workInProgress) { + var next = beginWork(workInProgress.alternate, workInProgress, nextRenderExpirationTime); + null === next && (next = completeUnitOfWork(workInProgress)); + ReactCurrentOwner.current = null; + return next; + } + + function renderRoot(root$jscomp$0, isYieldy) { + invariant(!isWorking, "renderRoot was called recursively. This error is likely caused by a bug in React. Please file an issue."); + isWorking = !0; + var expirationTime = root$jscomp$0.nextExpirationTimeToWorkOn; + if (expirationTime !== nextRenderExpirationTime || root$jscomp$0 !== nextRoot || null === nextUnitOfWork) resetStack(), nextRoot = root$jscomp$0, nextRenderExpirationTime = expirationTime, nextLatestTimeoutMs = -1, nextRenderDidError = !1, nextUnitOfWork = createWorkInProgress(nextRoot.current, null, nextRenderExpirationTime), root$jscomp$0.pendingCommitExpirationTime = 0; + var didFatal = !1; + + do { + try { + if (isYieldy) for (; null !== nextUnitOfWork && !shouldYield();) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } else for (; null !== nextUnitOfWork;) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } catch (thrownValue) { + if (null === nextUnitOfWork) didFatal = !0, onUncaughtError(thrownValue);else { + invariant(null !== nextUnitOfWork, "Failed to replay rendering after an error. This is likely caused by a bug in React. Please file an issue with a reproducing case to help us find it."); + isYieldy = nextUnitOfWork; + var returnFiber = isYieldy.return; + + if (null === returnFiber) { + didFatal = !0; + onUncaughtError(thrownValue); + break; + } + + a: { + var root = root$jscomp$0, + returnFiber$jscomp$0 = returnFiber, + sourceFiber = isYieldy, + value = thrownValue; + returnFiber = nextRenderExpirationTime; + sourceFiber.effectTag |= 512; + sourceFiber.firstEffect = sourceFiber.lastEffect = null; + nextRenderDidError = !0; + + if ((root.didError || 1 === returnFiber) && (returnFiber === root.latestPendingTime || returnFiber === root.latestSuspendedTime)) { + value = createCapturedValue(value, sourceFiber); + root = returnFiber$jscomp$0; + + do { + switch (root.tag) { + case 3: + root.effectTag |= 1024; + value = createRootErrorUpdate(root, value, returnFiber); + enqueueCapturedUpdate(root, value, returnFiber); + break a; + + case 2: + if (returnFiber$jscomp$0 = value, sourceFiber = root.stateNode, 0 === (root.effectTag & 64) && null !== sourceFiber && "function" === typeof sourceFiber.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(sourceFiber))) { + root.effectTag |= 1024; + value = createClassErrorUpdate(root, returnFiber$jscomp$0, returnFiber); + enqueueCapturedUpdate(root, value, returnFiber); + break a; + } + + } + + root = root.return; + } while (null !== root); + } + } + + nextUnitOfWork = completeUnitOfWork(isYieldy); + } + } + + break; + } while (1); + + isWorking = !1; + didFatal ? root$jscomp$0.finishedWork = null : null === nextUnitOfWork ? (didFatal = root$jscomp$0.current.alternate, invariant(null !== didFatal, "Finished root should have a work-in-progress. This error is likely caused by a bug in React. Please file an issue."), 0 === (didFatal.effectTag & 512) ? (root$jscomp$0.pendingCommitExpirationTime = expirationTime, root$jscomp$0.finishedWork = didFatal) : (!nextRenderDidError || expirationTime !== root$jscomp$0.latestPendingTime && expirationTime !== root$jscomp$0.latestSuspendedTime ? (didFatal = root$jscomp$0.earliestPendingTime, isYieldy = root$jscomp$0.latestPendingTime, didFatal === expirationTime ? root$jscomp$0.earliestPendingTime = isYieldy === expirationTime ? root$jscomp$0.latestPendingTime = 0 : isYieldy : isYieldy === expirationTime && (root$jscomp$0.latestPendingTime = didFatal), didFatal = root$jscomp$0.latestSuspendedTime, didFatal === expirationTime && (root$jscomp$0.latestPingedTime = 0), isYieldy = root$jscomp$0.earliestSuspendedTime, 0 === isYieldy ? root$jscomp$0.earliestSuspendedTime = root$jscomp$0.latestSuspendedTime = expirationTime : isYieldy > expirationTime ? root$jscomp$0.earliestSuspendedTime = expirationTime : didFatal < expirationTime && (root$jscomp$0.latestSuspendedTime = expirationTime)) : root$jscomp$0.didError = !0, findNextPendingPriorityLevel(root$jscomp$0), onSuspend(root$jscomp$0, expirationTime, root$jscomp$0.expirationTime, nextLatestTimeoutMs))) : root$jscomp$0.finishedWork = null; + } + + function captureCommitPhaseError(fiber, error) { + var JSCompiler_inline_result; + + a: { + invariant(!isWorking || isCommitting$1, "dispatch: Cannot dispatch during the render phase."); + + for (JSCompiler_inline_result = fiber.return; null !== JSCompiler_inline_result;) { + switch (JSCompiler_inline_result.tag) { + case 2: + var instance = JSCompiler_inline_result.stateNode; + + if ("function" === typeof JSCompiler_inline_result.type.getDerivedStateFromCatch || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + fiber = createCapturedValue(error, fiber); + fiber = createClassErrorUpdate(JSCompiler_inline_result, fiber, 1); + enqueueUpdate(JSCompiler_inline_result, fiber, 1); + scheduleWork(JSCompiler_inline_result, 1); + JSCompiler_inline_result = void 0; + break a; + } + + break; + + case 3: + fiber = createCapturedValue(error, fiber); + fiber = createRootErrorUpdate(JSCompiler_inline_result, fiber, 1); + enqueueUpdate(JSCompiler_inline_result, fiber, 1); + scheduleWork(JSCompiler_inline_result, 1); + JSCompiler_inline_result = void 0; + break a; + } + + JSCompiler_inline_result = JSCompiler_inline_result.return; + } + + 3 === fiber.tag && (JSCompiler_inline_result = createCapturedValue(error, fiber), JSCompiler_inline_result = createRootErrorUpdate(fiber, JSCompiler_inline_result, 1), enqueueUpdate(fiber, JSCompiler_inline_result, 1), scheduleWork(fiber, 1)); + JSCompiler_inline_result = void 0; + } + + return JSCompiler_inline_result; + } + + function computeExpirationForFiber(currentTime, fiber) { + currentTime = 0 !== expirationContext ? expirationContext : isWorking ? isCommitting$1 ? 1 : nextRenderExpirationTime : fiber.mode & 1 ? isBatchingInteractiveUpdates ? 2 + 10 * (((currentTime - 2 + 15) / 10 | 0) + 1) : 2 + 25 * (((currentTime - 2 + 500) / 25 | 0) + 1) : 1; + isBatchingInteractiveUpdates && (0 === lowestPendingInteractiveExpirationTime || currentTime > lowestPendingInteractiveExpirationTime) && (lowestPendingInteractiveExpirationTime = currentTime); + return currentTime; + } + + function scheduleWork(fiber, expirationTime) { + for (; null !== fiber;) { + if (0 === fiber.expirationTime || fiber.expirationTime > expirationTime) fiber.expirationTime = expirationTime; + null !== fiber.alternate && (0 === fiber.alternate.expirationTime || fiber.alternate.expirationTime > expirationTime) && (fiber.alternate.expirationTime = expirationTime); + if (null === fiber.return) if (3 === fiber.tag) { + var root = fiber.stateNode; + !isWorking && 0 !== nextRenderExpirationTime && expirationTime < nextRenderExpirationTime && resetStack(); + markPendingPriorityLevel(root, expirationTime); + isWorking && !isCommitting$1 && nextRoot === root || requestWork(root, root.expirationTime); + nestedUpdateCount > NESTED_UPDATE_LIMIT && invariant(!1, "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."); + } else break; + fiber = fiber.return; + } + } + + function recalculateCurrentTime() { + mostRecentCurrentTimeMs = now$1() - originalStartTimeMs; + return mostRecentCurrentTime = (mostRecentCurrentTimeMs / 10 | 0) + 2; + } + + function syncUpdates(fn, a, b, c, d) { + var previousExpirationContext = expirationContext; + expirationContext = 1; + + try { + return fn(a, b, c, d); + } finally { + expirationContext = previousExpirationContext; + } + } + + var firstScheduledRoot = null, + lastScheduledRoot = null, + callbackExpirationTime = 0, + callbackID = void 0, + isRendering = !1, + nextFlushedRoot = null, + nextFlushedExpirationTime = 0, + lowestPendingInteractiveExpirationTime = 0, + deadlineDidExpire = !1, + hasUnhandledError = !1, + unhandledError = null, + deadline = null, + isBatchingUpdates = !1, + isUnbatchingUpdates = !1, + isBatchingInteractiveUpdates = !1, + completedBatches = null, + NESTED_UPDATE_LIMIT = 1e3, + nestedUpdateCount = 0, + timeHeuristicForUnitOfWork = 1; + + function scheduleCallbackWithExpirationTime(expirationTime) { + if (0 !== callbackExpirationTime) { + if (expirationTime > callbackExpirationTime) return; + + if (null !== callbackID) { + var callbackID$jscomp$0 = callbackID; + scheduledCallback = null; + clearTimeout(callbackID$jscomp$0); + } + } + + callbackExpirationTime = expirationTime; + now$1(); + scheduledCallback = performAsyncWork; + callbackID = setTimeout(setTimeoutCallback, 1); + } + + function onSuspend(root, suspendedExpirationTime, expirationTime, timeoutMs) { + 0 <= timeoutMs && setTimeout(function () { + var latestSuspendedTime = root.latestSuspendedTime; + 0 !== latestSuspendedTime && latestSuspendedTime <= suspendedExpirationTime && (latestSuspendedTime = root.latestPingedTime, 0 === latestSuspendedTime || latestSuspendedTime < suspendedExpirationTime) && (root.latestPingedTime = suspendedExpirationTime); + findNextPendingPriorityLevel(root); + latestSuspendedTime = root.expirationTime; + 0 !== latestSuspendedTime && requestWork(root, latestSuspendedTime); + }, timeoutMs); + root.expirationTime = expirationTime; + } + + function requestWork(root, expirationTime) { + if (null === root.nextScheduledRoot) root.expirationTime = expirationTime, null === lastScheduledRoot ? (firstScheduledRoot = lastScheduledRoot = root, root.nextScheduledRoot = root) : (lastScheduledRoot = lastScheduledRoot.nextScheduledRoot = root, lastScheduledRoot.nextScheduledRoot = firstScheduledRoot);else { + var remainingExpirationTime = root.expirationTime; + if (0 === remainingExpirationTime || expirationTime < remainingExpirationTime) root.expirationTime = expirationTime; + } + isRendering || (isBatchingUpdates ? isUnbatchingUpdates && (nextFlushedRoot = root, nextFlushedExpirationTime = 1, performWorkOnRoot(root, 1, !1)) : 1 === expirationTime ? performWork(1, null) : scheduleCallbackWithExpirationTime(expirationTime)); + } + + function findHighestPriorityRoot() { + var highestPriorityWork = 0, + highestPriorityRoot = null; + if (null !== lastScheduledRoot) for (var previousScheduledRoot = lastScheduledRoot, root = firstScheduledRoot; null !== root;) { + var remainingExpirationTime = root.expirationTime; + + if (0 === remainingExpirationTime) { + invariant(null !== previousScheduledRoot && null !== lastScheduledRoot, "Should have a previous and last root. This error is likely caused by a bug in React. Please file an issue."); + + if (root === root.nextScheduledRoot) { + firstScheduledRoot = lastScheduledRoot = root.nextScheduledRoot = null; + break; + } else if (root === firstScheduledRoot) firstScheduledRoot = remainingExpirationTime = root.nextScheduledRoot, lastScheduledRoot.nextScheduledRoot = remainingExpirationTime, root.nextScheduledRoot = null;else if (root === lastScheduledRoot) { + lastScheduledRoot = previousScheduledRoot; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + root.nextScheduledRoot = null; + break; + } else previousScheduledRoot.nextScheduledRoot = root.nextScheduledRoot, root.nextScheduledRoot = null; + + root = previousScheduledRoot.nextScheduledRoot; + } else { + if (0 === highestPriorityWork || remainingExpirationTime < highestPriorityWork) highestPriorityWork = remainingExpirationTime, highestPriorityRoot = root; + if (root === lastScheduledRoot) break; + previousScheduledRoot = root; + root = root.nextScheduledRoot; + } + } + previousScheduledRoot = nextFlushedRoot; + null !== previousScheduledRoot && previousScheduledRoot === highestPriorityRoot && 1 === highestPriorityWork ? nestedUpdateCount++ : nestedUpdateCount = 0; + nextFlushedRoot = highestPriorityRoot; + nextFlushedExpirationTime = highestPriorityWork; + } + + function performAsyncWork(dl) { + performWork(0, dl); + } + + function performWork(minExpirationTime, dl) { + deadline = dl; + findHighestPriorityRoot(); + if (null !== deadline) for (; null !== nextFlushedRoot && 0 !== nextFlushedExpirationTime && (0 === minExpirationTime || minExpirationTime >= nextFlushedExpirationTime) && (!deadlineDidExpire || recalculateCurrentTime() >= nextFlushedExpirationTime);) { + recalculateCurrentTime(), performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, !0), findHighestPriorityRoot(); + } else for (; null !== nextFlushedRoot && 0 !== nextFlushedExpirationTime && (0 === minExpirationTime || minExpirationTime >= nextFlushedExpirationTime);) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, !1), findHighestPriorityRoot(); + } + null !== deadline && (callbackExpirationTime = 0, callbackID = null); + 0 !== nextFlushedExpirationTime && scheduleCallbackWithExpirationTime(nextFlushedExpirationTime); + deadline = null; + deadlineDidExpire = !1; + finishRendering(); + } + + function finishRendering() { + nestedUpdateCount = 0; + + if (null !== completedBatches) { + var batches = completedBatches; + completedBatches = null; + + for (var i = 0; i < batches.length; i++) { + var batch = batches[i]; + + try { + batch._onComplete(); + } catch (error) { + hasUnhandledError || (hasUnhandledError = !0, unhandledError = error); + } + } + } + + if (hasUnhandledError) throw batches = unhandledError, unhandledError = null, hasUnhandledError = !1, batches; + } + + function performWorkOnRoot(root, expirationTime, isYieldy) { + invariant(!isRendering, "performWorkOnRoot was called recursively. This error is likely caused by a bug in React. Please file an issue."); + isRendering = !0; + isYieldy ? (isYieldy = root.finishedWork, null !== isYieldy ? completeRoot$1(root, isYieldy, expirationTime) : (root.finishedWork = null, renderRoot(root, !0), isYieldy = root.finishedWork, null !== isYieldy && (shouldYield() ? root.finishedWork = isYieldy : completeRoot$1(root, isYieldy, expirationTime)))) : (isYieldy = root.finishedWork, null !== isYieldy ? completeRoot$1(root, isYieldy, expirationTime) : (root.finishedWork = null, renderRoot(root, !1), isYieldy = root.finishedWork, null !== isYieldy && completeRoot$1(root, isYieldy, expirationTime))); + isRendering = !1; + } + + function completeRoot$1(root, finishedWork$jscomp$0, expirationTime) { + var firstBatch = root.firstBatch; + + if (null !== firstBatch && firstBatch._expirationTime <= expirationTime && (null === completedBatches ? completedBatches = [firstBatch] : completedBatches.push(firstBatch), firstBatch._defer)) { + root.finishedWork = finishedWork$jscomp$0; + root.expirationTime = 0; + return; + } + + root.finishedWork = null; + isCommitting$1 = isWorking = !0; + invariant(root.current !== finishedWork$jscomp$0, "Cannot commit the same tree as before. This is probably a bug related to the return field. This error is likely caused by a bug in React. Please file an issue."); + expirationTime = root.pendingCommitExpirationTime; + invariant(0 !== expirationTime, "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue."); + root.pendingCommitExpirationTime = 0; + firstBatch = finishedWork$jscomp$0.expirationTime; + recalculateCurrentTime(); + root.didError = !1; + if (0 === firstBatch) root.earliestPendingTime = 0, root.latestPendingTime = 0, root.earliestSuspendedTime = 0, root.latestSuspendedTime = 0, root.latestPingedTime = 0;else { + var latestPendingTime = root.latestPendingTime; + 0 !== latestPendingTime && (latestPendingTime < firstBatch ? root.earliestPendingTime = root.latestPendingTime = 0 : root.earliestPendingTime < firstBatch && (root.earliestPendingTime = root.latestPendingTime)); + latestPendingTime = root.earliestSuspendedTime; + 0 === latestPendingTime ? markPendingPriorityLevel(root, firstBatch) : firstBatch > root.latestSuspendedTime ? (root.earliestSuspendedTime = 0, root.latestSuspendedTime = 0, root.latestPingedTime = 0, markPendingPriorityLevel(root, firstBatch)) : firstBatch < latestPendingTime && markPendingPriorityLevel(root, firstBatch); + } + findNextPendingPriorityLevel(root); + ReactCurrentOwner.current = null; + 1 < finishedWork$jscomp$0.effectTag ? null !== finishedWork$jscomp$0.lastEffect ? (finishedWork$jscomp$0.lastEffect.nextEffect = finishedWork$jscomp$0, firstBatch = finishedWork$jscomp$0.firstEffect) : firstBatch = finishedWork$jscomp$0 : firstBatch = finishedWork$jscomp$0.firstEffect; + + for (nextEffect = firstBatch; null !== nextEffect;) { + latestPendingTime = !1; + var error = void 0; + + try { + for (; null !== nextEffect;) { + if (nextEffect.effectTag & 256) { + var current = nextEffect.alternate, + finishedWork = nextEffect; + + switch (finishedWork.tag) { + case 2: + if (finishedWork.effectTag & 256 && null !== current) { + var prevProps = current.memoizedProps, + prevState = current.memoizedState, + instance = finishedWork.stateNode; + instance.props = finishedWork.memoizedProps; + instance.state = finishedWork.memoizedState; + var snapshot = instance.getSnapshotBeforeUpdate(prevProps, prevState); + instance.__reactInternalSnapshotBeforeUpdate = snapshot; + } + + break; + + case 3: + case 5: + case 6: + case 4: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + nextEffect = nextEffect.nextEffect; + } + } catch (e) { + latestPendingTime = !0, error = e; + } + + latestPendingTime && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, error), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + for (nextEffect = firstBatch; null !== nextEffect;) { + current = !1; + prevProps = void 0; + + try { + for (; null !== nextEffect;) { + var effectTag = nextEffect.effectTag; + + if (effectTag & 128) { + var current$jscomp$0 = nextEffect.alternate; + + if (null !== current$jscomp$0) { + var currentRef = current$jscomp$0.ref; + null !== currentRef && ("function" === typeof currentRef ? currentRef(null) : currentRef.current = null); + } + } + + switch (effectTag & 14) { + case 2: + nextEffect.effectTag &= -3; + break; + + case 6: + nextEffect.effectTag &= -3; + commitWork(nextEffect.alternate, nextEffect); + break; + + case 4: + commitWork(nextEffect.alternate, nextEffect); + break; + + case 8: + prevState = nextEffect; + + a: for (snapshot = instance = prevState;;) { + latestPendingTime = snapshot; + "function" === typeof onCommitUnmount && onCommitUnmount(latestPendingTime); + + switch (latestPendingTime.tag) { + case 2: + safelyDetachRef(latestPendingTime); + var instance$jscomp$0 = latestPendingTime.stateNode; + if ("function" === typeof instance$jscomp$0.componentWillUnmount) try { + instance$jscomp$0.props = latestPendingTime.memoizedProps, instance$jscomp$0.state = latestPendingTime.memoizedState, instance$jscomp$0.componentWillUnmount(); + } catch (unmountError) { + captureCommitPhaseError(latestPendingTime, unmountError); + } + break; + + case 5: + safelyDetachRef(latestPendingTime); + break; + + case 4: + FabricUIManager.createChildSet(latestPendingTime.stateNode.containerInfo); + } + + if (null !== snapshot.child) snapshot.child.return = snapshot, snapshot = snapshot.child;else { + if (snapshot === instance) break; + + for (; null === snapshot.sibling;) { + if (null === snapshot.return || snapshot.return === instance) break a; + snapshot = snapshot.return; + } + + snapshot.sibling.return = snapshot.return; + snapshot = snapshot.sibling; + } + } + + prevState.return = null; + prevState.child = null; + prevState.alternate && (prevState.alternate.child = null, prevState.alternate.return = null); + } + + nextEffect = nextEffect.nextEffect; + } + } catch (e) { + current = !0, prevProps = e; + } + + current && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, prevProps), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + root.current = finishedWork$jscomp$0; + + for (nextEffect = firstBatch; null !== nextEffect;) { + effectTag = !1; + current$jscomp$0 = void 0; + + try { + for (currentRef = expirationTime; null !== nextEffect;) { + var effectTag$jscomp$0 = nextEffect.effectTag; + + if (effectTag$jscomp$0 & 36) { + var current$jscomp$1 = nextEffect.alternate; + instance$jscomp$0 = nextEffect; + firstBatch = currentRef; + + switch (instance$jscomp$0.tag) { + case 2: + var instance$jscomp$1 = instance$jscomp$0.stateNode; + if (instance$jscomp$0.effectTag & 4) if (null === current$jscomp$1) instance$jscomp$1.props = instance$jscomp$0.memoizedProps, instance$jscomp$1.state = instance$jscomp$0.memoizedState, instance$jscomp$1.componentDidMount();else { + var prevProps$jscomp$0 = current$jscomp$1.memoizedProps, + prevState$jscomp$0 = current$jscomp$1.memoizedState; + instance$jscomp$1.props = instance$jscomp$0.memoizedProps; + instance$jscomp$1.state = instance$jscomp$0.memoizedState; + instance$jscomp$1.componentDidUpdate(prevProps$jscomp$0, prevState$jscomp$0, instance$jscomp$1.__reactInternalSnapshotBeforeUpdate); + } + var updateQueue = instance$jscomp$0.updateQueue; + null !== updateQueue && (instance$jscomp$1.props = instance$jscomp$0.memoizedProps, instance$jscomp$1.state = instance$jscomp$0.memoizedState, commitUpdateQueue(instance$jscomp$0, updateQueue, instance$jscomp$1, firstBatch)); + break; + + case 3: + var _updateQueue = instance$jscomp$0.updateQueue; + + if (null !== _updateQueue) { + current = null; + if (null !== instance$jscomp$0.child) switch (instance$jscomp$0.child.tag) { + case 5: + current = instance$jscomp$0.child.stateNode.canonical; + break; + + case 2: + current = instance$jscomp$0.child.stateNode; + } + commitUpdateQueue(instance$jscomp$0, _updateQueue, current, firstBatch); + } + + break; + + case 5: + null === current$jscomp$1 && instance$jscomp$0.effectTag & 4 && invariant(!1, "The current renderer does not support mutation. This error is likely caused by a bug in React. Please file an issue."); + break; + + case 6: + break; + + case 4: + break; + + case 15: + break; + + case 16: + break; + + default: + invariant(!1, "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); + } + } + + if (effectTag$jscomp$0 & 128) { + instance$jscomp$0 = void 0; + var ref = nextEffect.ref; + + if (null !== ref) { + var instance$jscomp$2 = nextEffect.stateNode; + + switch (nextEffect.tag) { + case 5: + instance$jscomp$0 = instance$jscomp$2.canonical; + break; + + default: + instance$jscomp$0 = instance$jscomp$2; + } + + "function" === typeof ref ? ref(instance$jscomp$0) : ref.current = instance$jscomp$0; + } + } + + var next = nextEffect.nextEffect; + nextEffect.nextEffect = null; + nextEffect = next; + } + } catch (e) { + effectTag = !0, current$jscomp$0 = e; + } + + effectTag && (invariant(null !== nextEffect, "Should have next effect. This error is likely caused by a bug in React. Please file an issue."), captureCommitPhaseError(nextEffect, current$jscomp$0), null !== nextEffect && (nextEffect = nextEffect.nextEffect)); + } + + isWorking = isCommitting$1 = !1; + "function" === typeof onCommitRoot && onCommitRoot(finishedWork$jscomp$0.stateNode); + finishedWork$jscomp$0 = root.expirationTime; + 0 === finishedWork$jscomp$0 && (legacyErrorBoundariesThatAlreadyFailed = null); + root.expirationTime = finishedWork$jscomp$0; + root.finishedWork = null; + } + + function shouldYield() { + return null === deadline || deadlineDidExpire || deadline.timeRemaining() > timeHeuristicForUnitOfWork ? !1 : deadlineDidExpire = !0; + } + + function onUncaughtError(error) { + invariant(null !== nextFlushedRoot, "Should be working on a root. This error is likely caused by a bug in React. Please file an issue."); + nextFlushedRoot.expirationTime = 0; + hasUnhandledError || (hasUnhandledError = !0, unhandledError = error); + } + + function updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback) { + var current = container.current; + + if (parentComponent) { + parentComponent = parentComponent._reactInternalFiber; + var parentContext; + + b: { + invariant(2 === isFiberMountedImpl(parentComponent) && 2 === parentComponent.tag, "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue."); + + for (parentContext = parentComponent; 3 !== parentContext.tag;) { + if (isContextProvider(parentContext)) { + parentContext = parentContext.stateNode.__reactInternalMemoizedMergedChildContext; + break b; + } + + parentContext = parentContext.return; + invariant(parentContext, "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue."); + } + + parentContext = parentContext.stateNode.context; + } + + parentComponent = isContextProvider(parentComponent) ? processChildContext(parentComponent, parentContext) : parentContext; + } else parentComponent = emptyObject; + + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + container = callback; + callback = createUpdate(expirationTime); + callback.payload = { + element: element + }; + container = void 0 === container ? null : container; + null !== container && (callback.callback = container); + enqueueUpdate(current, callback, expirationTime); + scheduleWork(current, expirationTime); + return expirationTime; + } + + function findHostInstance$1(component) { + var fiber = component._reactInternalFiber; + void 0 === fiber && ("function" === typeof component.render ? invariant(!1, "Unable to find node on an unmounted component.") : invariant(!1, "Argument appears to not be a ReactComponent. Keys: %s", Object.keys(component))); + component = findCurrentHostFiber(fiber); + return null === component ? null : component.stateNode; + } + + function updateContainer(element, container, parentComponent, callback) { + var current = container.current, + currentTime = recalculateCurrentTime(); + current = computeExpirationForFiber(currentTime, current); + return updateContainerAtExpirationTime(element, container, parentComponent, current, callback); + } + + function getPublicRootInstance(container) { + container = container.current; + if (!container.child) return null; + + switch (container.child.tag) { + case 5: + return container.child.stateNode.canonical; + + default: + return container.child.stateNode; + } + } + + function injectIntoDevTools(devToolsConfig) { + var _findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; + return injectInternals(_extends({}, devToolsConfig, { + findHostInstanceByFiber: function findHostInstanceByFiber(fiber) { + fiber = findCurrentHostFiber(fiber); + return null === fiber ? null : fiber.stateNode; + }, + findFiberByHostInstance: function findFiberByHostInstance(instance) { + return _findFiberByHostInstance ? _findFiberByHostInstance(instance) : null; + } + })); + } + + var ReactFabricRenderer = { + updateContainerAtExpirationTime: updateContainerAtExpirationTime, + createContainer: function createContainer(containerInfo, isAsync, hydrate) { + return createFiberRoot(containerInfo, isAsync, hydrate); + }, + updateContainer: updateContainer, + flushRoot: function flushRoot(root, expirationTime) { + invariant(!isRendering, "work.commit(): Cannot commit while already rendering. This likely means you attempted to commit from inside a lifecycle method."); + nextFlushedRoot = root; + nextFlushedExpirationTime = expirationTime; + performWorkOnRoot(root, expirationTime, !1); + performWork(1, null); + finishRendering(); + }, + requestWork: requestWork, + computeUniqueAsyncExpiration: function computeUniqueAsyncExpiration() { + var result = 2 + 25 * (((recalculateCurrentTime() - 2 + 500) / 25 | 0) + 1); + result <= lastUniqueAsyncExpiration && (result = lastUniqueAsyncExpiration + 1); + return lastUniqueAsyncExpiration = result; + }, + batchedUpdates: function batchedUpdates(fn, a) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + return fn(a); + } finally { + (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + unbatchedUpdates: function unbatchedUpdates(fn, a) { + if (isBatchingUpdates && !isUnbatchingUpdates) { + isUnbatchingUpdates = !0; + + try { + return fn(a); + } finally { + isUnbatchingUpdates = !1; + } + } + + return fn(a); + }, + deferredUpdates: function deferredUpdates(fn) { + var previousExpirationContext = expirationContext; + expirationContext = 2 + 25 * (((recalculateCurrentTime() - 2 + 500) / 25 | 0) + 1); + + try { + return fn(); + } finally { + expirationContext = previousExpirationContext; + } + }, + syncUpdates: syncUpdates, + interactiveUpdates: function interactiveUpdates(fn, a, b) { + if (isBatchingInteractiveUpdates) return fn(a, b); + isBatchingUpdates || isRendering || 0 === lowestPendingInteractiveExpirationTime || (performWork(lowestPendingInteractiveExpirationTime, null), lowestPendingInteractiveExpirationTime = 0); + var previousIsBatchingInteractiveUpdates = isBatchingInteractiveUpdates, + previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = isBatchingInteractiveUpdates = !0; + + try { + return fn(a, b); + } finally { + isBatchingInteractiveUpdates = previousIsBatchingInteractiveUpdates, (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + flushInteractiveUpdates: function flushInteractiveUpdates() { + isRendering || 0 === lowestPendingInteractiveExpirationTime || (performWork(lowestPendingInteractiveExpirationTime, null), lowestPendingInteractiveExpirationTime = 0); + }, + flushControlled: function flushControlled(fn) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + syncUpdates(fn); + } finally { + (isBatchingUpdates = previousIsBatchingUpdates) || isRendering || performWork(1, null); + } + }, + flushSync: function flushSync(fn, a) { + invariant(!isRendering, "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering."); + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = !0; + + try { + return syncUpdates(fn, a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates, performWork(1, null); + } + }, + getPublicRootInstance: getPublicRootInstance, + findHostInstance: findHostInstance$1, + findHostInstanceWithNoPortals: function findHostInstanceWithNoPortals(fiber) { + fiber = findCurrentHostFiberWithNoPortals(fiber); + return null === fiber ? null : fiber.stateNode; + }, + injectIntoDevTools: injectIntoDevTools + }; + + function _createPortal(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children: children, + containerInfo: containerInfo, + implementation: implementation + }; + } + + function _inherits(subClass, superClass) { + if ("function" !== typeof superClass && null !== superClass) 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: !1, + writable: !0, + configurable: !0 + } + }); + superClass && (Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass); + } + + var getInspectorDataForViewTag = void 0; + + getInspectorDataForViewTag = function getInspectorDataForViewTag() { + invariant(!1, "getInspectorDataForViewTag() is not available in production"); + }; + + function findNodeHandle(componentOrHandle) { + if (null == componentOrHandle) return null; + if ("number" === typeof componentOrHandle) return componentOrHandle; + if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag; + if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical._nativeTag; + componentOrHandle = findHostInstance$1(componentOrHandle); + return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical._nativeTag : componentOrHandle._nativeTag; + } + + _batchedUpdates = ReactFabricRenderer.batchedUpdates; + _flushInteractiveUpdates = ReactFabricRenderer.flushInteractiveUpdates; + var roots = new Map(), + ReactFabric = { + NativeComponent: function (findNodeHandle, findHostInstance) { + return function (_React$Component) { + function ReactNativeComponent() { + if (!(this instanceof ReactNativeComponent)) throw new TypeError("Cannot call a class as a function"); + + var call = _React$Component.apply(this, arguments); + + if (!this) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !call || "object" !== typeof call && "function" !== typeof call ? this : call; + } + + _inherits(ReactNativeComponent, _React$Component); + + ReactNativeComponent.prototype.blur = function () { + TextInputState.blurTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.focus = function () { + TextInputState.focusTextInput(findNodeHandle(this)); + }; + + ReactNativeComponent.prototype.measure = function (callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureInWindow = function (callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }; + + ReactNativeComponent.prototype.measureLayout = function (relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }; + + ReactNativeComponent.prototype.setNativeProps = function (nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (null != maybeInstance) { + var viewConfig = maybeInstance.viewConfig || maybeInstance.canonical.viewConfig; + nativeProps = diffProperties(null, emptyObject$1, nativeProps, viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, nativeProps); + } + }; + + return ReactNativeComponent; + }(React.Component); + }(findNodeHandle, findHostInstance$1), + findNodeHandle: findNodeHandle, + render: function render(element, containerTag, callback) { + var root = roots.get(containerTag); + root || (root = createFiberRoot(containerTag, !1, !1), roots.set(containerTag, root)); + updateContainer(element, root, null, callback); + return getPublicRootInstance(root); + }, + unmountComponentAtNode: function unmountComponentAtNode(containerTag) { + var root = roots.get(containerTag); + root && updateContainer(null, root, null, function () { + roots.delete(containerTag); + }); + }, + createPortal: function createPortal(children, containerTag) { + return _createPortal(children, containerTag, null, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null); + }, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + NativeMethodsMixin: function (findNodeHandle, findHostInstance) { + return { + measure: function measure(callback) { + UIManager.measure(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureInWindow: function measureInWindow(callback) { + UIManager.measureInWindow(findNodeHandle(this), mountSafeCallback(this, callback)); + }, + measureLayout: function measureLayout(relativeToNativeNode, onSuccess, onFail) { + UIManager.measureLayout(findNodeHandle(this), relativeToNativeNode, mountSafeCallback(this, onFail), mountSafeCallback(this, onSuccess)); + }, + setNativeProps: function setNativeProps(nativeProps) { + var maybeInstance = void 0; + + try { + maybeInstance = findHostInstance(this); + } catch (error) {} + + if (null != maybeInstance) { + var viewConfig = maybeInstance.viewConfig; + nativeProps = diffProperties(null, emptyObject$1, nativeProps, viewConfig.validAttributes); + null != nativeProps && UIManager.updateView(maybeInstance._nativeTag, viewConfig.uiViewClassName, nativeProps); + } + }, + focus: function focus() { + TextInputState.focusTextInput(findNodeHandle(this)); + }, + blur: function blur() { + TextInputState.blurTextInput(findNodeHandle(this)); + } + }; + }(findNodeHandle, findHostInstance$1) + } + }; + injectIntoDevTools({ + findFiberByHostInstance: getInstanceFromInstance, + getInspectorDataForViewTag: getInspectorDataForViewTag, + bundleType: 0, + version: "16.4.1", + rendererPackageName: "react-native-renderer" + }); + var ReactFabric$2 = { + default: ReactFabric + }, + ReactFabric$3 = ReactFabric$2 && ReactFabric || ReactFabric$2; + module.exports = ReactFabric$3.default ? ReactFabric$3.default : ReactFabric$3; +},491,[263,166,231,218,1,323,324,226,325,490,271],"node_modules/react-native/Libraries/Renderer/oss/ReactFabric-prod.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + + function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + + function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[typeof Symbol === "function" ? Symbol.iterator : "@@iterator"](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + + function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + var NativeModules = _$$_REQUIRE(_dependencyMap[0], 'NativeModules'); + + var RCTAsyncStorage = NativeModules.AsyncRocksDBStorage || NativeModules.AsyncSQLiteDBStorage || NativeModules.AsyncLocalStorage; + var AsyncStorage = { + _getRequests: [], + _getKeys: [], + _immediate: null, + getItem: function getItem(key, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiGet([key], function (errors, result) { + var value = result && result[0] && result[0][1] ? result[0][1] : null; + var errs = convertErrors(errors); + callback && callback(errs && errs[0], value); + + if (errs) { + reject(errs[0]); + } else { + resolve(value); + } + }); + }); + }, + setItem: function setItem(key, value, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiSet([[key, value]], function (errors) { + var errs = convertErrors(errors); + callback && callback(errs && errs[0]); + + if (errs) { + reject(errs[0]); + } else { + resolve(null); + } + }); + }); + }, + removeItem: function removeItem(key, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiRemove([key], function (errors) { + var errs = convertErrors(errors); + callback && callback(errs && errs[0]); + + if (errs) { + reject(errs[0]); + } else { + resolve(null); + } + }); + }); + }, + mergeItem: function mergeItem(key, value, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiMerge([[key, value]], function (errors) { + var errs = convertErrors(errors); + callback && callback(errs && errs[0]); + + if (errs) { + reject(errs[0]); + } else { + resolve(null); + } + }); + }); + }, + clear: function clear(callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.clear(function (error) { + callback && callback(convertError(error)); + + if (error && convertError(error)) { + reject(convertError(error)); + } else { + resolve(null); + } + }); + }); + }, + getAllKeys: function getAllKeys(callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.getAllKeys(function (error, keys) { + callback && callback(convertError(error), keys); + + if (error) { + reject(convertError(error)); + } else { + resolve(keys); + } + }); + }); + }, + flushGetRequests: function flushGetRequests() { + var getRequests = this._getRequests; + var getKeys = this._getKeys; + this._getRequests = []; + this._getKeys = []; + RCTAsyncStorage.multiGet(getKeys, function (errors, result) { + var map = {}; + result && result.forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + key = _ref2[0], + value = _ref2[1]; + + map[key] = value; + return value; + }); + var reqLength = getRequests.length; + + for (var i = 0; i < reqLength; i++) { + var request = getRequests[i]; + var requestKeys = request.keys; + var requestResult = requestKeys.map(function (key) { + return [key, map[key]]; + }); + request.callback && request.callback(null, requestResult); + request.resolve && request.resolve(requestResult); + } + }); + }, + multiGet: function multiGet(keys, callback) { + var _this = this; + + if (!this._immediate) { + this._immediate = setImmediate(function () { + _this._immediate = null; + + _this.flushGetRequests(); + }); + } + + var getRequest = { + keys: keys, + callback: callback, + keyIndex: this._getKeys.length, + resolve: null, + reject: null + }; + var promiseResult = new Promise(function (resolve, reject) { + getRequest.resolve = resolve; + getRequest.reject = reject; + }); + + this._getRequests.push(getRequest); + + keys.forEach(function (key) { + if (_this._getKeys.indexOf(key) === -1) { + _this._getKeys.push(key); + } + }); + return promiseResult; + }, + multiSet: function multiSet(keyValuePairs, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiSet(keyValuePairs, function (errors) { + var error = convertErrors(errors); + callback && callback(error); + + if (error) { + reject(error); + } else { + resolve(null); + } + }); + }); + }, + multiRemove: function multiRemove(keys, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiRemove(keys, function (errors) { + var error = convertErrors(errors); + callback && callback(error); + + if (error) { + reject(error); + } else { + resolve(null); + } + }); + }); + }, + multiMerge: function multiMerge(keyValuePairs, callback) { + return new Promise(function (resolve, reject) { + RCTAsyncStorage.multiMerge(keyValuePairs, function (errors) { + var error = convertErrors(errors); + callback && callback(error); + + if (error) { + reject(error); + } else { + resolve(null); + } + }); + }); + } + }; + + if (!RCTAsyncStorage.multiMerge) { + delete AsyncStorage.mergeItem; + delete AsyncStorage.multiMerge; + } + + function convertErrors(errs) { + if (!errs) { + return null; + } + + return (Array.isArray(errs) ? errs : [errs]).map(function (e) { + return convertError(e); + }); + } + + function convertError(error) { + if (!error) { + return null; + } + + var out = new Error(error.message); + out.key = error.key; + return out; + } + + module.exports = AsyncStorage; +},492,[168],"node_modules/react-native/Libraries/Storage/AsyncStorage.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var BackHandler = _$$_REQUIRE(_dependencyMap[0], 'BackHandler'); + + var warning = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/warning'); + + var BackAndroid = { + exitApp: function exitApp() { + warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.'); + BackHandler.exitApp(); + }, + addEventListener: function addEventListener(eventName, handler) { + warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.'); + return BackHandler.addEventListener(eventName, handler); + }, + removeEventListener: function removeEventListener(eventName, handler) { + warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.'); + BackHandler.removeEventListener(eventName, handler); + } + }; + module.exports = BackAndroid; +},493,[487,183],"node_modules/react-native/Libraries/Utilities/BackAndroid.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var PropTypes = _$$_REQUIRE(_dependencyMap[0], 'prop-types'); + + var checkPropTypes = PropTypes.checkPropTypes; + + var RCTCameraRollManager = _$$_REQUIRE(_dependencyMap[1], 'NativeModules').CameraRollManager; + + var createStrictShapeTypeChecker = _$$_REQUIRE(_dependencyMap[2], 'createStrictShapeTypeChecker'); + + var invariant = _$$_REQUIRE(_dependencyMap[3], 'fbjs/lib/invariant'); + + var GROUP_TYPES_OPTIONS = { + Album: 'Album', + All: 'All', + Event: 'Event', + Faces: 'Faces', + Library: 'Library', + PhotoStream: 'PhotoStream', + SavedPhotos: 'SavedPhotos' + }; + var ASSET_TYPE_OPTIONS = { + All: 'All', + Videos: 'Videos', + Photos: 'Photos' + }; + var getPhotosParamChecker = createStrictShapeTypeChecker({ + first: PropTypes.number.isRequired, + after: PropTypes.string, + groupTypes: PropTypes.oneOf(Object.keys(GROUP_TYPES_OPTIONS)), + groupName: PropTypes.string, + assetType: PropTypes.oneOf(Object.keys(ASSET_TYPE_OPTIONS)), + mimeTypes: PropTypes.arrayOf(PropTypes.string) + }); + var getPhotosReturnChecker = createStrictShapeTypeChecker({ + edges: PropTypes.arrayOf(createStrictShapeTypeChecker({ + node: createStrictShapeTypeChecker({ + type: PropTypes.string.isRequired, + group_name: PropTypes.string.isRequired, + image: createStrictShapeTypeChecker({ + uri: PropTypes.string.isRequired, + height: PropTypes.number.isRequired, + width: PropTypes.number.isRequired, + isStored: PropTypes.bool, + playableDuration: PropTypes.number.isRequired + }).isRequired, + timestamp: PropTypes.number.isRequired, + location: createStrictShapeTypeChecker({ + latitude: PropTypes.number, + longitude: PropTypes.number, + altitude: PropTypes.number, + heading: PropTypes.number, + speed: PropTypes.number + }) + }).isRequired + })).isRequired, + page_info: createStrictShapeTypeChecker({ + has_next_page: PropTypes.bool.isRequired, + start_cursor: PropTypes.string, + end_cursor: PropTypes.string + }).isRequired + }); + + var CameraRoll = function () { + function CameraRoll() { + _classCallCheck(this, CameraRoll); + } + + _createClass(CameraRoll, null, [{ + key: "saveImageWithTag", + value: function saveImageWithTag(tag) { + console.warn('`CameraRoll.saveImageWithTag()` is deprecated. Use `CameraRoll.saveToCameraRoll()` instead.'); + return this.saveToCameraRoll(tag, 'photo'); + } + }, { + key: "deletePhotos", + value: function deletePhotos(photos) { + return RCTCameraRollManager.deletePhotos(photos); + } + }, { + key: "saveToCameraRoll", + value: function saveToCameraRoll(tag, type) { + invariant(typeof tag === 'string', 'CameraRoll.saveToCameraRoll must be a valid string.'); + invariant(type === 'photo' || type === 'video' || type === undefined, "The second argument to saveToCameraRoll must be 'photo' or 'video'. You passed " + (type || 'unknown')); + var mediaType = 'photo'; + + if (type) { + mediaType = type; + } else if (['mov', 'mp4'].indexOf(tag.split('.').slice(-1)[0]) >= 0) { + mediaType = 'video'; + } + + return RCTCameraRollManager.saveToCameraRoll(tag, mediaType); + } + }, { + key: "getPhotos", + value: function getPhotos(params) { + if (__DEV__) { + checkPropTypes({ + params: getPhotosParamChecker + }, { + params: params + }, 'params', 'CameraRoll.getPhotos'); + } + + if (arguments.length > 1) { + console.warn('CameraRoll.getPhotos(tag, success, error) is deprecated. Use the returned Promise instead'); + var successCallback = arguments[1]; + + if (__DEV__) { + var callback = arguments[1]; + + successCallback = function successCallback(response) { + checkPropTypes({ + response: getPhotosReturnChecker + }, { + response: response + }, 'response', 'CameraRoll.getPhotos callback'); + callback(response); + }; + } + + var errorCallback = arguments[2] || function () {}; + + RCTCameraRollManager.getPhotos(params).then(successCallback, errorCallback); + } + + return RCTCameraRollManager.getPhotos(params); + } + }]); + + return CameraRoll; + }(); + + CameraRoll.GroupTypesOptions = GROUP_TYPES_OPTIONS; + CameraRoll.AssetTypeOptions = ASSET_TYPE_OPTIONS; + module.exports = CameraRoll; +},494,[212,168,256,166],"node_modules/react-native/Libraries/CameraRoll/CameraRoll.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Clipboard = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').Clipboard; + + module.exports = { + getString: function getString() { + return Clipboard.getString(); + }, + setString: function setString(content) { + Clipboard.setString(content); + } + }; +},495,[168],"node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var DatePickerAndroid = { + open: function open(options) { + return regeneratorRuntime.async(function open$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", Promise.reject({ + message: 'DatePickerAndroid is not supported on this platform.' + })); + + case 1: + case "end": + return _context.stop(); + } + } + }, null, this); + } + }; + module.exports = DatePickerAndroid; +},496,[],"node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var RCTImagePicker = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').ImagePickerIOS; + + var ImagePickerIOS = { + canRecordVideos: function canRecordVideos(callback) { + return RCTImagePicker.canRecordVideos(callback); + }, + canUseCamera: function canUseCamera(callback) { + return RCTImagePicker.canUseCamera(callback); + }, + openCameraDialog: function openCameraDialog(config, successCallback, cancelCallback) { + config = _objectSpread({ + videoMode: false + }, config); + return RCTImagePicker.openCameraDialog(config, successCallback, cancelCallback); + }, + openSelectDialog: function openSelectDialog(config, successCallback, cancelCallback) { + config = _objectSpread({ + showImages: true, + showVideos: false + }, config); + return RCTImagePicker.openSelectDialog(config, successCallback, cancelCallback); + } + }; + module.exports = ImagePickerIOS; +},497,[168],"node_modules/react-native/Libraries/CameraRoll/ImagePickerIOS.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var Map = _$$_REQUIRE(_dependencyMap[0], 'Map'); + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[1], 'NativeEventEmitter'); + + var NativeModules = _$$_REQUIRE(_dependencyMap[2], 'NativeModules'); + + var Platform = _$$_REQUIRE(_dependencyMap[3], 'Platform'); + + var RCTNetInfo = NativeModules.NetInfo; + var NetInfoEventEmitter = new NativeEventEmitter(RCTNetInfo); + var DEVICE_CONNECTIVITY_EVENT = 'networkStatusDidChange'; + + var _subscriptions = new Map(); + + var _isConnectedDeprecated; + + if (Platform.OS === 'ios') { + _isConnectedDeprecated = function _isConnectedDeprecated(reachability) { + return reachability !== 'none' && reachability !== 'unknown'; + }; + } else if (Platform.OS === 'android') { + _isConnectedDeprecated = function _isConnectedDeprecated(connectionType) { + return connectionType !== 'NONE' && connectionType !== 'UNKNOWN'; + }; + } + + function _isConnected(connection) { + return connection.type !== 'none' && connection.type !== 'unknown'; + } + + var _isConnectedSubscriptions = new Map(); + + var NetInfo = { + addEventListener: function addEventListener(eventName, handler) { + var listener; + + if (eventName === 'connectionChange') { + listener = NetInfoEventEmitter.addListener(DEVICE_CONNECTIVITY_EVENT, function (appStateData) { + handler({ + type: appStateData.connectionType, + effectiveType: appStateData.effectiveConnectionType + }); + }); + } else if (eventName === 'change') { + console.warn('NetInfo\'s "change" event is deprecated. Listen to the "connectionChange" event instead.'); + listener = NetInfoEventEmitter.addListener(DEVICE_CONNECTIVITY_EVENT, function (appStateData) { + handler(appStateData.network_info); + }); + } else { + console.warn('Trying to subscribe to unknown event: "' + eventName + '"'); + return { + remove: function remove() {} + }; + } + + _subscriptions.set(handler, listener); + + return { + remove: function remove() { + return NetInfo.removeEventListener(eventName, handler); + } + }; + }, + removeEventListener: function removeEventListener(eventName, handler) { + var listener = _subscriptions.get(handler); + + if (!listener) { + return; + } + + listener.remove(); + + _subscriptions.delete(handler); + }, + fetch: function fetch() { + console.warn('NetInfo.fetch() is deprecated. Use NetInfo.getConnectionInfo() instead.'); + return RCTNetInfo.getCurrentConnectivity().then(function (resp) { + return resp.network_info; + }); + }, + getConnectionInfo: function getConnectionInfo() { + return RCTNetInfo.getCurrentConnectivity().then(function (resp) { + return { + type: resp.connectionType, + effectiveType: resp.effectiveConnectionType + }; + }); + }, + isConnected: { + addEventListener: function addEventListener(eventName, handler) { + var listener = function listener(connection) { + if (eventName === 'change') { + handler(_isConnectedDeprecated(connection)); + } else if (eventName === 'connectionChange') { + handler(_isConnected(connection)); + } + }; + + _isConnectedSubscriptions.set(handler, listener); + + NetInfo.addEventListener(eventName, listener); + return { + remove: function remove() { + return NetInfo.isConnected.removeEventListener(eventName, handler); + } + }; + }, + removeEventListener: function removeEventListener(eventName, handler) { + var listener = _isConnectedSubscriptions.get(handler); + + NetInfo.removeEventListener(eventName, listener); + + _isConnectedSubscriptions.delete(handler); + }, + fetch: function fetch() { + return NetInfo.getConnectionInfo().then(_isConnected); + } + }, + isConnectionExpensive: function isConnectionExpensive() { + return Platform.OS === 'android' ? RCTNetInfo.isConnectionMetered() : Promise.reject(new Error('Currently not supported on iOS')); + } + }; + module.exports = NetInfo; +},498,[266,286,168,176],"node_modules/react-native/Libraries/Network/NetInfo.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'NativeEventEmitter'); + + var RCTPushNotificationManager = _$$_REQUIRE(_dependencyMap[1], 'NativeModules').PushNotificationManager; + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var PushNotificationEmitter = new NativeEventEmitter(RCTPushNotificationManager); + + var _notifHandlers = new Map(); + + var DEVICE_NOTIF_EVENT = 'remoteNotificationReceived'; + var NOTIF_REGISTER_EVENT = 'remoteNotificationsRegistered'; + var NOTIF_REGISTRATION_ERROR_EVENT = 'remoteNotificationRegistrationError'; + var DEVICE_LOCAL_NOTIF_EVENT = 'localNotificationReceived'; + + var PushNotificationIOS = function () { + _createClass(PushNotificationIOS, null, [{ + key: "presentLocalNotification", + value: function presentLocalNotification(details) { + RCTPushNotificationManager.presentLocalNotification(details); + } + }, { + key: "scheduleLocalNotification", + value: function scheduleLocalNotification(details) { + RCTPushNotificationManager.scheduleLocalNotification(details); + } + }, { + key: "cancelAllLocalNotifications", + value: function cancelAllLocalNotifications() { + RCTPushNotificationManager.cancelAllLocalNotifications(); + } + }, { + key: "removeAllDeliveredNotifications", + value: function removeAllDeliveredNotifications() { + RCTPushNotificationManager.removeAllDeliveredNotifications(); + } + }, { + key: "getDeliveredNotifications", + value: function getDeliveredNotifications(callback) { + RCTPushNotificationManager.getDeliveredNotifications(callback); + } + }, { + key: "removeDeliveredNotifications", + value: function removeDeliveredNotifications(identifiers) { + RCTPushNotificationManager.removeDeliveredNotifications(identifiers); + } + }, { + key: "setApplicationIconBadgeNumber", + value: function setApplicationIconBadgeNumber(number) { + RCTPushNotificationManager.setApplicationIconBadgeNumber(number); + } + }, { + key: "getApplicationIconBadgeNumber", + value: function getApplicationIconBadgeNumber(callback) { + RCTPushNotificationManager.getApplicationIconBadgeNumber(callback); + } + }, { + key: "cancelLocalNotifications", + value: function cancelLocalNotifications(userInfo) { + RCTPushNotificationManager.cancelLocalNotifications(userInfo); + } + }, { + key: "getScheduledLocalNotifications", + value: function getScheduledLocalNotifications(callback) { + RCTPushNotificationManager.getScheduledLocalNotifications(callback); + } + }, { + key: "addEventListener", + value: function addEventListener(type, handler) { + invariant(type === 'notification' || type === 'register' || type === 'registrationError' || type === 'localNotification', 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events'); + var listener; + + if (type === 'notification') { + listener = PushNotificationEmitter.addListener(DEVICE_NOTIF_EVENT, function (notifData) { + handler(new PushNotificationIOS(notifData)); + }); + } else if (type === 'localNotification') { + listener = PushNotificationEmitter.addListener(DEVICE_LOCAL_NOTIF_EVENT, function (notifData) { + handler(new PushNotificationIOS(notifData)); + }); + } else if (type === 'register') { + listener = PushNotificationEmitter.addListener(NOTIF_REGISTER_EVENT, function (registrationInfo) { + handler(registrationInfo.deviceToken); + }); + } else if (type === 'registrationError') { + listener = PushNotificationEmitter.addListener(NOTIF_REGISTRATION_ERROR_EVENT, function (errorInfo) { + handler(errorInfo); + }); + } + + _notifHandlers.set(type, listener); + } + }, { + key: "removeEventListener", + value: function removeEventListener(type, handler) { + invariant(type === 'notification' || type === 'register' || type === 'registrationError' || type === 'localNotification', 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events'); + + var listener = _notifHandlers.get(type); + + if (!listener) { + return; + } + + listener.remove(); + + _notifHandlers.delete(type); + } + }, { + key: "requestPermissions", + value: function requestPermissions(permissions) { + var requestedPermissions = {}; + + if (permissions) { + requestedPermissions = { + alert: !!permissions.alert, + badge: !!permissions.badge, + sound: !!permissions.sound + }; + } else { + requestedPermissions = { + alert: true, + badge: true, + sound: true + }; + } + + return RCTPushNotificationManager.requestPermissions(requestedPermissions); + } + }, { + key: "abandonPermissions", + value: function abandonPermissions() { + RCTPushNotificationManager.abandonPermissions(); + } + }, { + key: "checkPermissions", + value: function checkPermissions(callback) { + invariant(typeof callback === 'function', 'Must provide a valid callback'); + RCTPushNotificationManager.checkPermissions(callback); + } + }, { + key: "getInitialNotification", + value: function getInitialNotification() { + return RCTPushNotificationManager.getInitialNotification().then(function (notification) { + return notification && new PushNotificationIOS(notification); + }); + } + }]); + + function PushNotificationIOS(nativeNotif) { + var _this = this; + + _classCallCheck(this, PushNotificationIOS); + + this._data = {}; + this._remoteNotificationCompleteCallbackCalled = false; + this._isRemote = nativeNotif.remote; + + if (this._isRemote) { + this._notificationId = nativeNotif.notificationId; + } + + if (nativeNotif.remote) { + Object.keys(nativeNotif).forEach(function (notifKey) { + var notifVal = nativeNotif[notifKey]; + + if (notifKey === 'aps') { + _this._alert = notifVal.alert; + _this._sound = notifVal.sound; + _this._badgeCount = notifVal.badge; + _this._category = notifVal.category; + _this._contentAvailable = notifVal['content-available']; + _this._threadID = notifVal['thread-id']; + } else { + _this._data[notifKey] = notifVal; + } + }); + } else { + this._badgeCount = nativeNotif.applicationIconBadgeNumber; + this._sound = nativeNotif.soundName; + this._alert = nativeNotif.alertBody; + this._data = nativeNotif.userInfo; + this._category = nativeNotif.category; + } + } + + _createClass(PushNotificationIOS, [{ + key: "finish", + value: function finish(fetchResult) { + if (!this._isRemote || !this._notificationId || this._remoteNotificationCompleteCallbackCalled) { + return; + } + + this._remoteNotificationCompleteCallbackCalled = true; + RCTPushNotificationManager.onFinishRemoteNotification(this._notificationId, fetchResult); + } + }, { + key: "getMessage", + value: function getMessage() { + return this._alert; + } + }, { + key: "getSound", + value: function getSound() { + return this._sound; + } + }, { + key: "getCategory", + value: function getCategory() { + return this._category; + } + }, { + key: "getAlert", + value: function getAlert() { + return this._alert; + } + }, { + key: "getContentAvailable", + value: function getContentAvailable() { + return this._contentAvailable; + } + }, { + key: "getBadgeCount", + value: function getBadgeCount() { + return this._badgeCount; + } + }, { + key: "getData", + value: function getData() { + return this._data; + } + }, { + key: "getThreadID", + value: function getThreadID() { + return this._threadID; + } + }]); + + return PushNotificationIOS; + }(); + + PushNotificationIOS.FetchResult = { + NewData: 'UIBackgroundFetchResultNewData', + NoData: 'UIBackgroundFetchResultNoData', + ResultFailed: 'UIBackgroundFetchResultFailed' + }; + module.exports = PushNotificationIOS; +},499,[286,168,166],"node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + var RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'RCTDeviceEventEmitter'); + + var RCTSettingsManager = _$$_REQUIRE(_dependencyMap[1], 'NativeModules').SettingsManager; + + var invariant = _$$_REQUIRE(_dependencyMap[2], 'fbjs/lib/invariant'); + + var subscriptions = []; + var Settings = { + _settings: RCTSettingsManager && RCTSettingsManager.settings, + get: function get(key) { + return this._settings[key]; + }, + set: function set(settings) { + this._settings = _extends(this._settings, settings); + RCTSettingsManager.setValues(settings); + }, + watchKeys: function watchKeys(keys, callback) { + if (typeof keys === 'string') { + keys = [keys]; + } + + invariant(Array.isArray(keys), 'keys should be a string or array of strings'); + var sid = subscriptions.length; + subscriptions.push({ + keys: keys, + callback: callback + }); + return sid; + }, + clearWatch: function clearWatch(watchId) { + if (watchId < subscriptions.length) { + subscriptions[watchId] = { + keys: [], + callback: null + }; + } + }, + _sendObservations: function _sendObservations(body) { + var _this = this; + + Object.keys(body).forEach(function (key) { + var newValue = body[key]; + var didChange = _this._settings[key] !== newValue; + _this._settings[key] = newValue; + + if (didChange) { + subscriptions.forEach(function (sub) { + if (sub.keys.indexOf(key) !== -1 && sub.callback) { + sub.callback(); + } + }); + } + }); + } + }; + RCTDeviceEventEmitter.addListener('settingsUpdated', Settings._sendObservations.bind(Settings)); + module.exports = Settings; +},500,[194,168,166],"node_modules/react-native/Libraries/Settings/Settings.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + var Platform = _$$_REQUIRE(_dependencyMap[0], 'Platform'); + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var processColor = _$$_REQUIRE(_dependencyMap[2], 'processColor'); + + var _require = _$$_REQUIRE(_dependencyMap[3], 'NativeModules'), + ActionSheetManager = _require.ActionSheetManager, + ShareModule = _require.ShareModule; + + var Share = function () { + function Share() { + _classCallCheck(this, Share); + } + + _createClass(Share, null, [{ + key: "share", + value: function share(content) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object'); + invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required'); + invariant(typeof options === 'object' && options !== null, 'Options must be a valid object'); + + if (Platform.OS === 'android') { + invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.'); + return ShareModule.share(content, options.dialogTitle); + } else if (Platform.OS === 'ios') { + return new Promise(function (resolve, reject) { + ActionSheetManager.showShareActionSheetWithOptions(_objectSpread({}, content, options, { + tintColor: processColor(options.tintColor) + }), function (error) { + return reject(error); + }, function (success, activityType) { + if (success) { + resolve({ + action: 'sharedAction', + activityType: activityType + }); + } else { + resolve({ + action: 'dismissedAction' + }); + } + }); + }); + } else { + return Promise.reject(new Error('Unsupported platform')); + } + } + }, { + key: "sharedAction", + get: function get() { + return 'sharedAction'; + } + }, { + key: "dismissedAction", + get: function get() { + return 'dismissedAction'; + } + }]); + + return Share; + }(); + + module.exports = Share; +},501,[176,166,221,168],"node_modules/react-native/Libraries/Share/Share.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0], 'NativeEventEmitter'); + + var _require = _$$_REQUIRE(_dependencyMap[1], 'NativeModules'), + StatusBarManager = _require.StatusBarManager; + + var StatusBarIOS = function (_NativeEventEmitter) { + function StatusBarIOS() { + _classCallCheck(this, StatusBarIOS); + + return _possibleConstructorReturn(this, _getPrototypeOf(StatusBarIOS).apply(this, arguments)); + } + + _inherits(StatusBarIOS, _NativeEventEmitter); + + return StatusBarIOS; + }(NativeEventEmitter); + + module.exports = new StatusBarIOS(StatusBarManager); +},502,[286,168],"node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var TimePickerAndroid = { + open: function open(options) { + return regeneratorRuntime.async(function open$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", Promise.reject({ + message: 'TimePickerAndroid is not supported on this platform.' + })); + + case 1: + case "end": + return _context.stop(); + } + } + }, null, this); + } + }; + module.exports = TimePickerAndroid; +},503,[],"node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var RCTVibration = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').Vibration; + + var Platform = _$$_REQUIRE(_dependencyMap[1], 'Platform'); + + var _vibrating = false; + var _id = 0; + + function vibrateByPattern(pattern) { + var repeat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (_vibrating) { + return; + } + + _vibrating = true; + + if (pattern[0] === 0) { + RCTVibration.vibrate(); + pattern = pattern.slice(1); + } + + if (pattern.length === 0) { + _vibrating = false; + return; + } + + setTimeout(function () { + return vibrateScheduler(++_id, pattern, repeat, 1); + }, pattern[0]); + } + + function vibrateScheduler(id, pattern, repeat, nextIndex) { + if (!_vibrating || id !== _id) { + return; + } + + RCTVibration.vibrate(); + + if (nextIndex >= pattern.length) { + if (repeat) { + nextIndex = 0; + } else { + _vibrating = false; + return; + } + } + + setTimeout(function () { + return vibrateScheduler(id, pattern, repeat, nextIndex + 1); + }, pattern[nextIndex]); + } + + var Vibration = { + vibrate: function vibrate() { + var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 400; + var repeat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (Platform.OS === 'android') { + if (typeof pattern === 'number') { + RCTVibration.vibrate(pattern); + } else if (Array.isArray(pattern)) { + RCTVibration.vibrateByPattern(pattern, repeat ? 0 : -1); + } else { + throw new Error('Vibration pattern should be a number or array'); + } + } else { + if (_vibrating) { + return; + } + + if (typeof pattern === 'number') { + RCTVibration.vibrate(); + } else if (Array.isArray(pattern)) { + vibrateByPattern(pattern, repeat); + } else { + throw new Error('Vibration pattern should be a number or array'); + } + } + }, + cancel: function cancel() { + if (Platform.OS === 'ios') { + _vibrating = false; + } else { + RCTVibration.cancel(); + } + } + }; + module.exports = Vibration; +},504,[168,176],"node_modules/react-native/Libraries/Vibration/Vibration.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + 'use strict'; + + var RCTVibration = _$$_REQUIRE(_dependencyMap[0], 'NativeModules').Vibration; + + var invariant = _$$_REQUIRE(_dependencyMap[1], 'fbjs/lib/invariant'); + + var VibrationIOS = { + vibrate: function vibrate() { + invariant(arguments[0] === undefined, 'Vibration patterns not supported.'); + RCTVibration.vibrate(); + } + }; + module.exports = VibrationIOS; +},505,[168,166],"node_modules/react-native/Libraries/Vibration/VibrationIOS.ios.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + var ReactNative = _$$_REQUIRE(_dependencyMap[0], 'ReactNative'); + + var UIManager = _$$_REQUIRE(_dependencyMap[1], 'UIManager'); + + module.exports = function takeSnapshot(view, options) { + if (typeof view !== 'number' && view !== 'window') { + view = ReactNative.findNodeHandle(view) || 'window'; + } + + return UIManager.__takeSnapshot(view, options); + }; +},506,[261,218],"node_modules/react-native/Libraries/ReactNative/takeSnapshot.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = Util; + + var _reactNative = _$$_REQUIRE(_dependencyMap[0], "react-native"); + + function Util() {} + + Util.isPortrait = function () { + var dim = _reactNative.Dimensions.get("screen"); + + return dim.height >= dim.width; + }; + + Util.secondToTime = function (time) { + return ~~(time / 60) + ":" + (time % 60 < 10 ? "0" : "") + time % 60; + }; + + Util.normalizeSeconds = function (number) { + var sec_num = parseInt(number, 10); + var hours = Math.floor(sec_num / 3600); + var minutes = Math.floor((sec_num - hours * 3600) / 60); + var seconds = sec_num - hours * 3600 - minutes * 60; + + if (hours < 10) { + hours = "0" + hours; + } + + if (minutes < 10) { + minutes = "0" + minutes; + } + + if (seconds < 10) { + seconds = "0" + seconds; + } + + return hours + ':' + minutes + ':' + seconds; + }; +},507,[165],"Utils.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "TextTrackType", { + enumerable: true, + get: function get() { + return _TextTrackType.default; + } + }); + Object.defineProperty(exports, "FilterType", { + enumerable: true, + get: function get() { + return _FilterType.default; + } + }); + exports.default = void 0; + + var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0], "react")); + + var _index = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./../react-transform-hmr/lib/index.js")); + + var _propTypes = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[2], "prop-types")); + + var _reactNative = _$$_REQUIRE(_dependencyMap[3], "react-native"); + + var _resolveAssetSource = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[4], "react-native/Libraries/Image/resolveAssetSource")); + + var _TextTrackType = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[5], "./TextTrackType")); + + var _FilterType = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[6], "./FilterType")); + + var _VideoResizeMode = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[7], "./VideoResizeMode.js")); + + var _jsxFileName = "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native-video/Video.js"; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _extends() { _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; }; return _extends.apply(this, arguments); } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } + + function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + 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); } } + + function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + + function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + + function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } + + var _components = { + Video: { + displayName: "Video" + } + }; + + var _reactTransformHmrLibIndexJs2 = (0, _index.default)({ + filename: "/Users/amishra/Development/github/react-native-video/examples/embed-and-fullscreen/node_modules/react-native-video/Video.js", + components: _components, + locals: [module], + imports: [_react.default] + }); + + function _wrapComponent(id) { + return function (Component) { + return _reactTransformHmrLibIndexJs2(Component, id); + }; + } + + var styles = _reactNative.StyleSheet.create({ + base: { + overflow: 'hidden' + } + }); + + var Video = _wrapComponent("Video")(function (_Component) { + function Video(props) { + var _this; + + _classCallCheck(this, Video); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Video).call(this, props)); + + _this.seek = function (time) { + var tolerance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100; + if (isNaN(time)) throw new Error('Specified time is not a number'); + + if (_reactNative.Platform.OS === 'ios') { + _this.setNativeProps({ + seek: { + time: time, + tolerance: tolerance + } + }); + } else { + _this.setNativeProps({ + seek: time + }); + } + }; + + _this.presentFullscreenPlayer = function () { + _this.setNativeProps({ + fullscreen: true + }); + }; + + _this.dismissFullscreenPlayer = function () { + _this.setNativeProps({ + fullscreen: false + }); + }; + + _this.save = function _callee(options) { + return regeneratorRuntime.async(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return regeneratorRuntime.awrap(_reactNative.NativeModules.VideoManager.save(options, (0, _reactNative.findNodeHandle)(_this._root))); + + case 2: + return _context.abrupt("return", _context.sent); + + case 3: + case "end": + return _context.stop(); + } + } + }, null, this); + }; + + _this._assignRoot = function (component) { + _this._root = component; + }; + + _this._onLoadStart = function (event) { + if (_this.props.onLoadStart) { + _this.props.onLoadStart(event.nativeEvent); + } + }; + + _this._onLoad = function (event) { + if (_this.props.onLoad) { + _this.props.onLoad(event.nativeEvent); + } + }; + + _this._onError = function (event) { + if (_this.props.onError) { + _this.props.onError(event.nativeEvent); + } + }; + + _this._onProgress = function (event) { + if (_this.props.onProgress) { + _this.props.onProgress(event.nativeEvent); + } + }; + + _this._onBandwidthUpdate = function (event) { + if (_this.props.onBandwidthUpdate) { + _this.props.onBandwidthUpdate(event.nativeEvent); + } + }; + + _this._onSeek = function (event) { + if (_this.state.showPoster && !_this.props.audioOnly) { + _this.setState({ + showPoster: false + }); + } + + if (_this.props.onSeek) { + _this.props.onSeek(event.nativeEvent); + } + }; + + _this._onEnd = function (event) { + if (_this.props.onEnd) { + _this.props.onEnd(event.nativeEvent); + } + }; + + _this._onTimedMetadata = function (event) { + if (_this.props.onTimedMetadata) { + _this.props.onTimedMetadata(event.nativeEvent); + } + }; + + _this._onFullscreenPlayerWillPresent = function (event) { + if (_this.props.onFullscreenPlayerWillPresent) { + _this.props.onFullscreenPlayerWillPresent(event.nativeEvent); + } + }; + + _this._onFullscreenPlayerDidPresent = function (event) { + if (_this.props.onFullscreenPlayerDidPresent) { + _this.props.onFullscreenPlayerDidPresent(event.nativeEvent); + } + }; + + _this._onFullscreenPlayerWillDismiss = function (event) { + if (_this.props.onFullscreenPlayerWillDismiss) { + _this.props.onFullscreenPlayerWillDismiss(event.nativeEvent); + } + }; + + _this._onFullscreenPlayerDidDismiss = function (event) { + if (_this.props.onFullscreenPlayerDidDismiss) { + _this.props.onFullscreenPlayerDidDismiss(event.nativeEvent); + } + }; + + _this._onReadyForDisplay = function (event) { + if (_this.props.onReadyForDisplay) { + _this.props.onReadyForDisplay(event.nativeEvent); + } + }; + + _this._onPlaybackStalled = function (event) { + if (_this.props.onPlaybackStalled) { + _this.props.onPlaybackStalled(event.nativeEvent); + } + }; + + _this._onPlaybackResume = function (event) { + if (_this.props.onPlaybackResume) { + _this.props.onPlaybackResume(event.nativeEvent); + } + }; + + _this._onPlaybackRateChange = function (event) { + if (_this.state.showPoster && event.nativeEvent.playbackRate !== 0 && !_this.props.audioOnly) { + _this.setState({ + showPoster: false + }); + } + + if (_this.props.onPlaybackRateChange) { + _this.props.onPlaybackRateChange(event.nativeEvent); + } + }; + + _this._onExternalPlaybackChange = function (event) { + if (_this.props.onExternalPlaybackChange) { + _this.props.onExternalPlaybackChange(event.nativeEvent); + } + }; + + _this._onAudioBecomingNoisy = function () { + if (_this.props.onAudioBecomingNoisy) { + _this.props.onAudioBecomingNoisy(); + } + }; + + _this._onAudioFocusChanged = function (event) { + if (_this.props.onAudioFocusChanged) { + _this.props.onAudioFocusChanged(event.nativeEvent); + } + }; + + _this._onBuffer = function (event) { + if (_this.props.onBuffer) { + _this.props.onBuffer(event.nativeEvent); + } + }; + + _this.state = { + showPoster: true + }; + return _this; + } + + _createClass(Video, [{ + key: "setNativeProps", + value: function setNativeProps(nativeProps) { + this._root.setNativeProps(nativeProps); + } + }, { + key: "toTypeString", + value: function toTypeString(x) { + switch (typeof x) { + case "object": + return x instanceof Date ? x.toISOString() : JSON.stringify(x); + + case "undefined": + return ""; + + default: + return x.toString(); + } + } + }, { + key: "stringsOnlyObject", + value: function stringsOnlyObject(obj) { + var _this2 = this; + + var strObj = {}; + Object.keys(obj).forEach(function (x) { + strObj[x] = _this2.toTypeString(obj[x]); + }); + return strObj; + } + }, { + key: "render", + value: function render() { + var resizeMode = this.props.resizeMode; + var source = (0, _resolveAssetSource.default)(this.props.source) || {}; + var uri = source.uri || ''; + + if (uri && uri.match(/^\//)) { + uri = "file://" + uri; + } + + var isNetwork = !!(uri && uri.match(/^https?:/)); + var isAsset = !!(uri && uri.match(/^(assets-library|ipod-library|file|content|ms-appx|ms-appdata):/)); + var nativeResizeMode; + + if (resizeMode === _VideoResizeMode.default.stretch) { + nativeResizeMode = _reactNative.NativeModules.UIManager.RCTVideo.Constants.ScaleToFill; + } else if (resizeMode === _VideoResizeMode.default.contain) { + nativeResizeMode = _reactNative.NativeModules.UIManager.RCTVideo.Constants.ScaleAspectFit; + } else if (resizeMode === _VideoResizeMode.default.cover) { + nativeResizeMode = _reactNative.NativeModules.UIManager.RCTVideo.Constants.ScaleAspectFill; + } else { + nativeResizeMode = _reactNative.NativeModules.UIManager.RCTVideo.Constants.ScaleNone; + } + + var nativeProps = _extends({}, this.props); + + _extends(nativeProps, { + style: [styles.base, nativeProps.style], + resizeMode: nativeResizeMode, + src: { + uri: uri, + isNetwork: isNetwork, + isAsset: isAsset, + type: source.type || '', + mainVer: source.mainVer || 0, + patchVer: source.patchVer || 0, + requestHeaders: source.headers ? this.stringsOnlyObject(source.headers) : {} + }, + onVideoLoadStart: this._onLoadStart, + onVideoLoad: this._onLoad, + onVideoError: this._onError, + onVideoProgress: this._onProgress, + onVideoSeek: this._onSeek, + onVideoEnd: this._onEnd, + onVideoBuffer: this._onBuffer, + onVideoBandwidthUpdate: this._onBandwidthUpdate, + onTimedMetadata: this._onTimedMetadata, + onVideoAudioBecomingNoisy: this._onAudioBecomingNoisy, + onVideoExternalPlaybackChange: this._onExternalPlaybackChange, + onVideoFullscreenPlayerWillPresent: this._onFullscreenPlayerWillPresent, + onVideoFullscreenPlayerDidPresent: this._onFullscreenPlayerDidPresent, + onVideoFullscreenPlayerWillDismiss: this._onFullscreenPlayerWillDismiss, + onVideoFullscreenPlayerDidDismiss: this._onFullscreenPlayerDidDismiss, + onReadyForDisplay: this._onReadyForDisplay, + onPlaybackStalled: this._onPlaybackStalled, + onPlaybackResume: this._onPlaybackResume, + onPlaybackRateChange: this._onPlaybackRateChange, + onAudioFocusChanged: this._onAudioFocusChanged, + onAudioBecomingNoisy: this._onAudioBecomingNoisy + }); + + var posterStyle = _objectSpread({}, _reactNative.StyleSheet.absoluteFillObject, { + resizeMode: this.props.posterResizeMode || 'contain' + }); + + return _react.default.createElement(_react.default.Fragment, { + __source: { + fileName: _jsxFileName, + lineNumber: 278 + } + }, _react.default.createElement(RCTVideo, _extends({ + ref: this._assignRoot + }, nativeProps, { + __source: { + fileName: _jsxFileName, + lineNumber: 279 + } + })), this.props.poster && this.state.showPoster && _react.default.createElement(_reactNative.View, { + style: nativeProps.style, + __source: { + fileName: _jsxFileName, + lineNumber: 282 + } + }, _react.default.createElement(_reactNative.Image, { + style: posterStyle, + source: { + uri: this.props.poster + }, + __source: { + fileName: _jsxFileName, + lineNumber: 283 + } + }))); + } + }]); + + _inherits(Video, _Component); + + return Video; + }(_react.Component)); + + var _default2 = Video; + exports.default = _default2; + Video.propTypes = _objectSpread({ + filter: _propTypes.default.oneOf([_FilterType.default.NONE, _FilterType.default.INVERT, _FilterType.default.MONOCHROME, _FilterType.default.POSTERIZE, _FilterType.default.FALSE, _FilterType.default.MAXIMUMCOMPONENT, _FilterType.default.MINIMUMCOMPONENT, _FilterType.default.CHROME, _FilterType.default.FADE, _FilterType.default.INSTANT, _FilterType.default.MONO, _FilterType.default.NOIR, _FilterType.default.PROCESS, _FilterType.default.TONAL, _FilterType.default.TRANSFER, _FilterType.default.SEPIA]), + filterEnabled: _propTypes.default.bool, + src: _propTypes.default.object, + seek: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]), + fullscreen: _propTypes.default.bool, + onVideoLoadStart: _propTypes.default.func, + onVideoLoad: _propTypes.default.func, + onVideoBuffer: _propTypes.default.func, + onVideoError: _propTypes.default.func, + onVideoProgress: _propTypes.default.func, + onVideoBandwidthUpdate: _propTypes.default.func, + onVideoSeek: _propTypes.default.func, + onVideoEnd: _propTypes.default.func, + onTimedMetadata: _propTypes.default.func, + onVideoAudioBecomingNoisy: _propTypes.default.func, + onVideoExternalPlaybackChange: _propTypes.default.func, + onVideoFullscreenPlayerWillPresent: _propTypes.default.func, + onVideoFullscreenPlayerDidPresent: _propTypes.default.func, + onVideoFullscreenPlayerWillDismiss: _propTypes.default.func, + onVideoFullscreenPlayerDidDismiss: _propTypes.default.func, + source: _propTypes.default.oneOfType([_propTypes.default.shape({ + uri: _propTypes.default.string + }), _propTypes.default.number]), + maxBitRate: _propTypes.default.number, + resizeMode: _propTypes.default.string, + poster: _propTypes.default.string, + posterResizeMode: _reactNative.Image.propTypes.resizeMode, + repeat: _propTypes.default.bool, + allowsExternalPlayback: _propTypes.default.bool, + selectedAudioTrack: _propTypes.default.shape({ + type: _propTypes.default.string.isRequired, + value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]) + }), + selectedVideoTrack: _propTypes.default.shape({ + type: _propTypes.default.string.isRequired, + value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]) + }), + selectedTextTrack: _propTypes.default.shape({ + type: _propTypes.default.string.isRequired, + value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]) + }), + textTracks: _propTypes.default.arrayOf(_propTypes.default.shape({ + title: _propTypes.default.string, + uri: _propTypes.default.string.isRequired, + type: _propTypes.default.oneOf([_TextTrackType.default.SRT, _TextTrackType.default.TTML, _TextTrackType.default.VTT]), + language: _propTypes.default.string.isRequired + })), + paused: _propTypes.default.bool, + muted: _propTypes.default.bool, + volume: _propTypes.default.number, + bufferConfig: _propTypes.default.shape({ + minBufferMs: _propTypes.default.number, + maxBufferMs: _propTypes.default.number, + bufferForPlaybackMs: _propTypes.default.number, + bufferForPlaybackAfterRebufferMs: _propTypes.default.number + }), + stereoPan: _propTypes.default.number, + rate: _propTypes.default.number, + playInBackground: _propTypes.default.bool, + playWhenInactive: _propTypes.default.bool, + ignoreSilentSwitch: _propTypes.default.oneOf(['ignore', 'obey']), + reportBandwidth: _propTypes.default.bool, + disableFocus: _propTypes.default.bool, + controls: _propTypes.default.bool, + audioOnly: _propTypes.default.bool, + currentTime: _propTypes.default.number, + fullscreenAutorotate: _propTypes.default.bool, + fullscreenOrientation: _propTypes.default.oneOf(['all', 'landscape', 'portrait']), + progressUpdateInterval: _propTypes.default.number, + useTextureView: _propTypes.default.bool, + hideShutterView: _propTypes.default.bool, + onLoadStart: _propTypes.default.func, + onLoad: _propTypes.default.func, + onBuffer: _propTypes.default.func, + onError: _propTypes.default.func, + onProgress: _propTypes.default.func, + onBandwidthUpdate: _propTypes.default.func, + onSeek: _propTypes.default.func, + onEnd: _propTypes.default.func, + onFullscreenPlayerWillPresent: _propTypes.default.func, + onFullscreenPlayerDidPresent: _propTypes.default.func, + onFullscreenPlayerWillDismiss: _propTypes.default.func, + onFullscreenPlayerDidDismiss: _propTypes.default.func, + onReadyForDisplay: _propTypes.default.func, + onPlaybackStalled: _propTypes.default.func, + onPlaybackResume: _propTypes.default.func, + onPlaybackRateChange: _propTypes.default.func, + onAudioFocusChanged: _propTypes.default.func, + onAudioBecomingNoisy: _propTypes.default.func, + onExternalPlaybackChange: _propTypes.default.func, + scaleX: _propTypes.default.number, + scaleY: _propTypes.default.number, + translateX: _propTypes.default.number, + translateY: _propTypes.default.number, + rotation: _propTypes.default.number + }, _reactNative.ViewPropTypes); + var RCTVideo = (0, _reactNative.requireNativeComponent)('RCTVideo', Video, { + nativeOnly: { + src: true, + seek: true, + fullscreen: true + } + }); +},508,[1,11,212,165,235,509,510,511],"node_modules/react-native-video/Video.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _default = { + SRT: 'application/x-subrip', + TTML: 'application/ttml+xml', + VTT: 'text/vtt' + }; + exports.default = _default; +},509,[],"node_modules/react-native-video/TextTrackType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _default = { + NONE: '', + INVERT: 'CIColorInvert', + MONOCHROME: 'CIColorMonochrome', + POSTERIZE: 'CIColorPosterize', + FALSE: 'CIFalseColor', + MAXIMUMCOMPONENT: 'CIMaximumComponent', + MINIMUMCOMPONENT: 'CIMinimumComponent', + CHROME: 'CIPhotoEffectChrome', + FADE: 'CIPhotoEffectFade', + INSTANT: 'CIPhotoEffectInstant', + MONO: 'CIPhotoEffectMono', + NOIR: 'CIPhotoEffectNoir', + PROCESS: 'CIPhotoEffectProcess', + TONAL: 'CIPhotoEffectTonal', + TRANSFER: 'CIPhotoEffectTransfer', + SEPIA: 'CISepiaTone' + }; + exports.default = _default; +},510,[],"node_modules/react-native-video/FilterType.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _keymirror = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "keymirror")); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = (0, _keymirror.default)({ + contain: null, + cover: null, + stretch: null + }); + + exports.default = _default; +},511,[512],"node_modules/react-native-video/VideoResizeMode.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + "use strict"; + + var keyMirror = function keyMirror(obj) { + var ret = {}; + var key; + + if (!(obj instanceof Object && !Array.isArray(obj))) { + throw new Error('keyMirror(...): Argument must be an object.'); + } + + for (key in obj) { + if (!obj.hasOwnProperty(key)) { + continue; + } + + ret[key] = key; + } + + return ret; + }; + + module.exports = keyMirror; +},512,[],"node_modules/keymirror/index.js"); +__d(function (global, _$$_REQUIRE, module, exports, _dependencyMap) { + module.exports = _$$_REQUIRE(_dependencyMap[0], "react-native/Libraries/Image/AssetRegistry").registerAsset({ + "__packager_asset": true, + "httpServerLocation": "/assets", + "scales": [1], + "hash": "19584c6683a76683b635cd5c3d966064", + "name": "broadchurch", + "type": "mp4" + }); +},513,[236],"broadchurch.mp4"); +require(263); +require(0); +//# sourceMappingURL=index.ios.map \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.vscode/.react/index.ios.map b/examples/embed-and-fullscreen/.vscode/.react/index.ios.map new file mode 100644 index 00000000..4d96ff48 --- /dev/null +++ b/examples/embed-and-fullscreen/.vscode/.react/index.ios.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../../../../../../../__prelude__","../../node_modules/metro/src/lib/polyfills/require.js","../../node_modules/react-native/Libraries/polyfills/Object.es6.js","../../node_modules/react-native/Libraries/polyfills/console.js","../../node_modules/react-native/Libraries/polyfills/error-guard.js","../../node_modules/react-native/Libraries/polyfills/Number.es6.js","../../node_modules/react-native/Libraries/polyfills/String.prototype.es6.js","../../node_modules/react-native/Libraries/polyfills/Array.prototype.es6.js","../../node_modules/react-native/Libraries/polyfills/Array.es6.js","../../node_modules/react-native/Libraries/polyfills/Object.es7.js","../../node_modules/react-native/Libraries/polyfills/babelHelpers.js","../../index.ios.js","../../node_modules/react/index.js","../../node_modules/react/cjs/react.production.min.js","../../node_modules/object-assign/index.js","../../node_modules/fbjs/lib/invariant.js","../../node_modules/fbjs/lib/emptyObject.js","../../node_modules/fbjs/lib/emptyFunction.js","../../node_modules/react/cjs/react.development.js","../../node_modules/fbjs/lib/warning.js","../../node_modules/prop-types/checkPropTypes.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/react-transform-hmr/lib/index.js","../../node_modules/react-proxy/modules/index.js","../../node_modules/react-proxy/modules/supportsProtoAssignment.js","../../node_modules/react-proxy/modules/createClassProxy.js","../../node_modules/lodash/find.js","../../node_modules/lodash/_createFind.js","../../node_modules/lodash/_baseIteratee.js","../../node_modules/lodash/_baseMatches.js","../../node_modules/lodash/_baseIsMatch.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_baseIsEqual.js","../../node_modules/lodash/_baseIsEqualDeep.js","../../node_modules/lodash/_equalArrays.js","../../node_modules/lodash/_SetCache.js","../../node_modules/lodash/_setCacheAdd.js","../../node_modules/lodash/_setCacheHas.js","../../node_modules/lodash/_arraySome.js","../../node_modules/lodash/_cacheHas.js","../../node_modules/lodash/_equalByTag.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_mapToArray.js","../../node_modules/lodash/_setToArray.js","../../node_modules/lodash/_equalObjects.js","../../node_modules/lodash/_getAllKeys.js","../../node_modules/lodash/_baseGetAllKeys.js","../../node_modules/lodash/_arrayPush.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/_getSymbols.js","../../node_modules/lodash/_arrayFilter.js","../../node_modules/lodash/stubArray.js","../../node_modules/lodash/keys.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getMatchData.js","../../node_modules/lodash/_isStrictComparable.js","../../node_modules/lodash/_matchesStrictComparable.js","../../node_modules/lodash/_baseMatchesProperty.js","../../node_modules/lodash/get.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/hasIn.js","../../node_modules/lodash/_baseHasIn.js","../../node_modules/lodash/_hasPath.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/property.js","../../node_modules/lodash/_baseProperty.js","../../node_modules/lodash/_basePropertyDeep.js","../../node_modules/lodash/findIndex.js","../../node_modules/lodash/_baseFindIndex.js","../../node_modules/lodash/toInteger.js","../../node_modules/lodash/toFinite.js","../../node_modules/lodash/toNumber.js","../../node_modules/react-proxy/modules/createPrototypeProxy.js","../../node_modules/lodash/assign.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_createAssigner.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/_apply.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/difference.js","../../node_modules/lodash/_baseDifference.js","../../node_modules/lodash/_arrayIncludes.js","../../node_modules/lodash/_baseIndexOf.js","../../node_modules/lodash/_baseIsNaN.js","../../node_modules/lodash/_strictIndexOf.js","../../node_modules/lodash/_arrayIncludesWith.js","../../node_modules/lodash/_baseFlatten.js","../../node_modules/lodash/_isFlattenable.js","../../node_modules/lodash/isArrayLikeObject.js","../../node_modules/react-proxy/modules/bindAutoBindMethods.js","../../node_modules/react-proxy/modules/deleteUnknownAutoBindMethods.js","../../node_modules/react-deep-force-update/lib/index.js","../../node_modules/global/window.js","../../node_modules/react-native/Libraries/react-native/react-native-implementation.js","../../node_modules/react-native/node_modules/fbjs/lib/invariant.js","../../node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js","../../node_modules/react-native/Libraries/BatchedBridge/NativeModules.js","../../node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js","../../node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js","../../node_modules/react-native/Libraries/vendor/core/ErrorUtils.js","../../node_modules/react-native/Libraries/Performance/Systrace.js","../../node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js","../../node_modules/react-native/Libraries/Utilities/stringifySafe.js","../../node_modules/react-native/Libraries/Core/Timers/JSTimers.js","../../node_modules/react-native/Libraries/Utilities/Platform.ios.js","../../node_modules/react-native/node_modules/fbjs/lib/performanceNow.js","../../node_modules/react-native/node_modules/fbjs/lib/performance.js","../../node_modules/react-native/node_modules/fbjs/lib/ExecutionEnvironment.js","../../node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js","../../node_modules/stacktrace-parser/index.js","../../node_modules/stacktrace-parser/lib/stacktrace-parser.js","../../node_modules/react-native/node_modules/fbjs/lib/warning.js","../../node_modules/react-native/node_modules/fbjs/lib/emptyFunction.js","../../node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js","../../node_modules/react-native/Libraries/Promise.js","../../node_modules/react-native/node_modules/fbjs/lib/Promise.native.js","../../node_modules/promise/setimmediate/es6-extensions.js","../../node_modules/promise/setimmediate/core.js","../../node_modules/promise/setimmediate/done.js","../../node_modules/promise/setimmediate/rejection-tracking.js","../../node_modules/pretty-format/index.js","../../node_modules/pretty-format/printString.js","../../node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js","../../node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js","../../node_modules/react-native/Libraries/vendor/emitter/EmitterSubscription.js","../../node_modules/react-native/Libraries/vendor/emitter/EventSubscription.js","../../node_modules/react-native/Libraries/vendor/emitter/EventSubscriptionVendor.js","../../node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js","../../node_modules/react-native/Libraries/react-native/React.js","../../node_modules/react-native/Libraries/StyleSheet/StyleSheet.js","../../node_modules/react-native/Libraries/Utilities/PixelRatio.js","../../node_modules/react-native/Libraries/Utilities/Dimensions.js","../../node_modules/react-native/Libraries/Utilities/DeviceInfo.js","../../node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js","../../node_modules/react-native/Libraries/Image/ImageStylePropTypes.js","../../node_modules/react-native/Libraries/StyleSheet/ColorPropType.js","../../node_modules/react-native/Libraries/Color/normalizeColor.js","../../node_modules/react-native/Libraries/Image/ImageResizeMode.js","../../node_modules/react-native/node_modules/fbjs/lib/keyMirror.js","../../node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js","../../node_modules/prop-types/index.js","../../node_modules/prop-types/factoryWithTypeCheckers.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js","../../node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js","../../node_modules/react-native/Libraries/Utilities/deprecatedPropType.js","../../node_modules/react-native/Libraries/ReactNative/UIManager.js","../../node_modules/react-native/Libraries/Text/TextStylePropTypes.js","../../node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js","../../node_modules/react-native/Libraries/StyleSheet/processColor.js","../../node_modules/react-native/Libraries/StyleSheet/processTransform.js","../../node_modules/react-native/Libraries/Utilities/MatrixMath.js","../../node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js","../../node_modules/react-native/Libraries/StyleSheet/StyleSheetValidation.js","../../node_modules/react-native/Libraries/StyleSheet/flattenStyle.js","../../node_modules/react-native/Libraries/Components/View/View.js","../../node_modules/react-native/Libraries/Text/TextAncestor.js","../../node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js","../../node_modules/react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js","../../node_modules/react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js","../../node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js","../../node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js","../../node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js","../../node_modules/react-native/Libraries/Image/resolveAssetSource.js","../../node_modules/react-native/Libraries/Image/AssetRegistry.js","../../node_modules/react-native/Libraries/Image/AssetSourceResolver.js","../../node_modules/react-native/local-cli/bundle/assetPathUtils.js","../../node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js","../../node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js","../../node_modules/react-native/Libraries/ART/ReactNativeART.js","../../node_modules/art/core/color.js","../../node_modules/react-native/Libraries/ART/ARTSerializablePath.js","../../node_modules/art/core/class.js","../../node_modules/art/core/path.js","../../node_modules/art/core/transform.js","../../node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js","../../node_modules/react-native/Libraries/vendor/core/merge.js","../../node_modules/react-native/Libraries/vendor/core/mergeInto.js","../../node_modules/react-native/Libraries/vendor/core/mergeHelpers.js","../../node_modules/react-native/Libraries/Components/Button.js","../../node_modules/react-native/Libraries/Text/Text.js","../../node_modules/react-native/Libraries/Text/TextPropTypes.js","../../node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js","../../node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js","../../node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js","../../node_modules/react-native/Libraries/Components/Touchable/Touchable.js","../../node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js","../../node_modules/react-native/Libraries/Components/Touchable/PooledClass.js","../../node_modules/react-native/Libraries/Components/Touchable/Position.js","../../node_modules/react-native/Libraries/Renderer/shims/ReactNative.js","../../node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js","../../node_modules/react-native/Libraries/Core/InitializeCore.js","../../node_modules/react-native/Libraries/Utilities/PolyfillFunctions.js","../../node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js","../../node_modules/react-native/Libraries/vendor/core/Map.js","../../node_modules/react-native/Libraries/vendor/core/guid.js","../../node_modules/react-native/node_modules/fbjs/lib/isNode.js","../../node_modules/react-native/Libraries/vendor/core/toIterator.js","../../node_modules/react-native/Libraries/vendor/core/Set.js","../../node_modules/react-native/Libraries/Core/ExceptionsManager.js","../../node_modules/react-native/Libraries/Core/Devtools/symbolicateStackTrace.js","../../node_modules/react-native/Libraries/Core/Devtools/getDevServer.js","../../node_modules/react-native/Libraries/Network/fetch.js","../../node_modules/react-native/Libraries/vendor/core/whatwg-fetch.js","../../node_modules/react-native/Libraries/Core/ReactNativeVersionCheck.js","../../node_modules/react-native/Libraries/Core/ReactNativeVersion.js","../../node_modules/regenerator-runtime/runtime.js","../../node_modules/react-native/Libraries/Network/XMLHttpRequest.js","../../node_modules/event-target-shim/lib/event-target.js","../../node_modules/event-target-shim/lib/commons.js","../../node_modules/event-target-shim/lib/custom-event-target.js","../../node_modules/event-target-shim/lib/event-wrapper.js","../../node_modules/react-native/Libraries/Network/RCTNetworking.ios.js","../../node_modules/react-native/Libraries/EventEmitter/MissingNativeEventEmitterShim.js","../../node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js","../../node_modules/react-native/Libraries/Network/convertRequestBody.js","../../node_modules/react-native/Libraries/Utilities/binaryToBase64.js","../../node_modules/base64-js/index.js","../../node_modules/react-native/Libraries/Blob/Blob.js","../../node_modules/react-native/Libraries/Blob/BlobManager.js","../../node_modules/react-native/Libraries/Blob/BlobRegistry.js","../../node_modules/react-native/Libraries/Network/FormData.js","../../node_modules/react-native/Libraries/WebSocket/WebSocket.js","../../node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js","../../node_modules/react-native/Libraries/Blob/File.js","../../node_modules/react-native/Libraries/Blob/FileReader.js","../../node_modules/react-native/Libraries/Blob/URL.js","../../node_modules/react-native/Libraries/Alert/Alert.js","../../node_modules/react-native/Libraries/Alert/AlertIOS.js","../../node_modules/react-native/Libraries/Geolocation/Geolocation.js","../../node_modules/react-native/Libraries/Utilities/logError.js","../../node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js","../../node_modules/react-native/Libraries/Utilities/HeapCapture.js","../../node_modules/react-native/Libraries/Performance/SamplingProfiler.js","../../node_modules/react-native/Libraries/Utilities/RCTLog.js","../../node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js","../../node_modules/react-native/Libraries/Utilities/PerformanceLogger.js","../../node_modules/react-native/Libraries/Utilities/infoLog.js","../../node_modules/react-native/Libraries/Utilities/JSDevSupportModule.js","../../node_modules/react-native/Libraries/Utilities/HMRClient.js","../../node_modules/metro/src/lib/bundle-modules/HMRClient.js","../../node_modules/metro/src/lib/bundle-modules/MetroClient.js","../../node_modules/eventemitter3/index.js","../../node_modules/react-native/Libraries/Utilities/HMRLoadingView.ios.js","../../node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js","../../node_modules/react-native/Libraries/AppState/AppState.js","../../node_modules/react-devtools-core/build/backend.js","../../node_modules/react-native/Libraries/JSInspector/JSInspector.js","../../node_modules/react-native/Libraries/JSInspector/NetworkAgent.js","../../node_modules/react-native/Libraries/JSInspector/InspectorAgent.js","../../node_modules/react-native/Libraries/EventEmitter/RCTEventEmitter.js","../../node_modules/react-native/node_modules/fbjs/lib/emptyObject.js","../../node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js","../../node_modules/react-native/Libraries/Components/TextInput/TextInputState.js","../../node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-prod.js","../../node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.js","../../node_modules/react-native/node_modules/fbjs/lib/TouchEventUtils.js","../../node_modules/react-native/node_modules/fbjs/lib/nullthrows.js","../../node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js","../../node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js","../../node_modules/react-native/Libraries/Animated/src/Animated.js","../../node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js","../../node_modules/react-native/Libraries/Animated/src/AnimatedEvent.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedValue.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedInterpolation.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedNode.js","../../node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedWithChildren.js","../../node_modules/react-native/Libraries/Interaction/InteractionManager.js","../../node_modules/react-native/Libraries/Interaction/TaskQueue.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedAddition.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedDiffClamp.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedDivision.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedModulo.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedMultiplication.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedProps.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedStyle.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedTransform.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedSubtraction.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedTracking.js","../../node_modules/react-native/Libraries/Animated/src/nodes/AnimatedValueXY.js","../../node_modules/react-native/Libraries/Animated/src/animations/DecayAnimation.js","../../node_modules/react-native/Libraries/Animated/src/animations/Animation.js","../../node_modules/react-native/Libraries/Animated/src/animations/SpringAnimation.js","../../node_modules/react-native/Libraries/Animated/src/SpringConfig.js","../../node_modules/react-native/Libraries/Animated/src/animations/TimingAnimation.js","../../node_modules/react-native/Libraries/Animated/src/Easing.js","../../node_modules/react-native/Libraries/Animated/src/bezier.js","../../node_modules/react-native/Libraries/Animated/src/createAnimatedComponent.js","../../node_modules/react-native/Libraries/Image/Image.ios.js","../../node_modules/react-native/Libraries/Image/ImageProps.js","../../node_modules/react-native/Libraries/Image/ImageSourcePropType.js","../../node_modules/react-native/Libraries/Renderer/shims/NativeMethodsMixin.js","../../node_modules/create-react-class/index.js","../../node_modules/create-react-class/factory.js","../../node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js","../../node_modules/react-native/Libraries/StyleSheet/PointPropType.js","../../node_modules/react-native/Libraries/Components/ScrollResponder.js","../../node_modules/react-native/Libraries/Interaction/FrameRateLogger.js","../../node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js","../../node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js","../../node_modules/react-native/Libraries/Utilities/dismissKeyboard.js","../../node_modules/react-native/Libraries/Components/Subscribable.js","../../node_modules/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js","../../node_modules/react-native/Libraries/Components/View/ViewPropTypes.js","../../node_modules/react-native/Libraries/Components/View/PlatformViewPropTypes.js","../../node_modules/react-native/Libraries/Components/AppleTV/TVViewPropTypes.js","../../node_modules/react-native/Libraries/Components/View/ViewAccessibility.js","../../node_modules/react-native/Libraries/Components/ScrollView/InternalScrollViewType.js","../../node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js","../../node_modules/react-timer-mixin/TimerMixin.js","../../node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js","../../node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js","../../node_modules/react-native/Libraries/Components/CheckBox/CheckBox.ios.js","../../node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js","../../node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js","../../node_modules/react-native/Libraries/Lists/FlatList.js","../../node_modules/react-native/Libraries/Lists/MetroListView.js","../../node_modules/react-native/Libraries/Lists/ListView/ListView.js","../../node_modules/react-native/Libraries/Lists/ListView/InternalListViewType.js","../../node_modules/react-native/Libraries/Lists/ListView/ListViewDataSource.js","../../node_modules/react-native/Libraries/vendor/core/isEmpty.js","../../node_modules/react-native/Libraries/Components/StaticRenderer.js","../../node_modules/react-clone-referenced-element/cloneReferencedElement.js","../../node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js","../../node_modules/react-native/Libraries/Lists/VirtualizedList.js","../../node_modules/react-native/Libraries/Interaction/Batchinator.js","../../node_modules/react-native/Libraries/Lists/FillRateHelper.js","../../node_modules/react-native/Libraries/Lists/ViewabilityHelper.js","../../node_modules/react-native/Libraries/Lists/VirtualizeUtils.js","../../node_modules/react-native/Libraries/Image/ImageBackground.js","../../node_modules/react-native/Libraries/Components/Touchable/ensureComponentIsNative.js","../../node_modules/react-native/Libraries/Image/ImageEditor.js","../../node_modules/react-native/Libraries/Image/ImageStore.js","../../node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.js","../../node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js","../../node_modules/react-native/Libraries/Components/MaskedView/MaskedViewIOS.ios.js","../../node_modules/react-native/Libraries/Modal/Modal.js","../../node_modules/react-native/Libraries/ReactNative/AppContainer.js","../../node_modules/react-native/Libraries/Inspector/Inspector.js","../../node_modules/react-native/Libraries/Inspector/InspectorOverlay.js","../../node_modules/react-native/Libraries/Inspector/ElementBox.js","../../node_modules/react-native/Libraries/Inspector/BorderBox.js","../../node_modules/react-native/Libraries/Inspector/resolveBoxStyle.js","../../node_modules/react-native/Libraries/Inspector/InspectorPanel.js","../../node_modules/react-native/Libraries/Inspector/ElementProperties.js","../../node_modules/react-native/Libraries/Inspector/BoxInspector.js","../../node_modules/react-native/Libraries/Inspector/StyleInspector.js","../../node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js","../../node_modules/react-native/Libraries/Utilities/mapWithSeparator.js","../../node_modules/react-native/Libraries/Core/Devtools/openFileInEditor.js","../../node_modules/react-native/Libraries/Inspector/NetworkOverlay.js","../../node_modules/react-native/Libraries/WebSocket/WebSocketInterceptor.js","../../node_modules/react-native/Libraries/Network/XHRInterceptor.js","../../node_modules/react-native/Libraries/Inspector/PerformanceOverlay.js","../../node_modules/react-native/Libraries/YellowBox/YellowBox.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxList.js","../../node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.ios.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxButton.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxPressable.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxStyle.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspector.js","../../node_modules/react-native/Libraries/YellowBox/Data/YellowBoxCategory.js","../../node_modules/react-native/Libraries/UTFSequence.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorFooter.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorHeader.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorSourceMapStatus.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxImageSource.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorStackFrame.js","../../node_modules/react-native/Libraries/YellowBox/UI/YellowBoxListRow.js","../../node_modules/react-native/Libraries/YellowBox/Data/YellowBoxWarning.js","../../node_modules/react-native/Libraries/YellowBox/Data/YellowBoxSymbolication.js","../../node_modules/react-native/Libraries/YellowBox/Data/YellowBoxRegistry.js","../../node_modules/react-native/Libraries/ReactNative/I18nManager.js","../../node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js","../../node_modules/react-native/Libraries/Components/StaticContainer.react.js","../../node_modules/react-native/Libraries/Components/Picker/Picker.js","../../node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js","../../node_modules/react-native/Libraries/Components/Picker/PickerAndroid.ios.js","../../node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js","../../node_modules/react-native/Libraries/Lists/SectionList.js","../../node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js","../../node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js","../../node_modules/react-native/Libraries/Components/Slider/Slider.js","../../node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js","../../node_modules/react-native/Libraries/Components/Switch/Switch.js","../../node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js","../../node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableFlatList.js","../../node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js","../../node_modules/react-native/Libraries/Interaction/PanResponder.js","../../node_modules/react-native/Libraries/Interaction/TouchHistoryMath.js","../../node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js","../../node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListViewDataSource.js","../../node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js","../../node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js","../../node_modules/react-native/Libraries/Components/TextInput/TextInput.js","../../node_modules/react-native/Libraries/vendor/document/selection/DocumentSelectionState.js","../../node_modules/react-native/Libraries/vendor/emitter/mixInEventEmitter.js","../../node_modules/react-native/Libraries/vendor/emitter/EventEmitterWithHolding.js","../../node_modules/react-native/Libraries/vendor/emitter/EventHolder.js","../../node_modules/react-native/node_modules/fbjs/lib/keyOf.js","../../node_modules/react-native/Libraries/vendor/emitter/EventValidator.js","../../node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.ios.js","../../node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js","../../node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.ios.js","../../node_modules/react-native/Libraries/Components/WebView/WebView.ios.js","../../node_modules/react-native/Libraries/Linking/Linking.js","../../node_modules/react-native/Libraries/Components/WebView/WebViewShared.js","../../node_modules/escape-string-regexp/index.js","../../node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js","../../node_modules/react-native/Libraries/ReactNative/AppRegistry.js","../../node_modules/react-native/Libraries/BugReporting/BugReporting.js","../../node_modules/react-native/Libraries/BugReporting/dumpReactTree.js","../../node_modules/react-native/Libraries/Utilities/SceneTracker.js","../../node_modules/react-native/Libraries/ReactNative/renderApplication.js","../../node_modules/react-native/Libraries/Utilities/BackHandler.ios.js","../../node_modules/react-native/Libraries/Renderer/shims/ReactFabric.js","../../node_modules/react-native/Libraries/Renderer/oss/ReactFabric-dev.js","../../node_modules/react-native/Libraries/ReactNative/FabricUIManager.js","../../node_modules/react-native/Libraries/Renderer/oss/ReactFabric-prod.js","../../node_modules/react-native/Libraries/Storage/AsyncStorage.js","../../node_modules/react-native/Libraries/Utilities/BackAndroid.js","../../node_modules/react-native/Libraries/CameraRoll/CameraRoll.js","../../node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js","../../node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js","../../node_modules/react-native/Libraries/CameraRoll/ImagePickerIOS.js","../../node_modules/react-native/Libraries/Network/NetInfo.js","../../node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js","../../node_modules/react-native/Libraries/Settings/Settings.ios.js","../../node_modules/react-native/Libraries/Share/Share.js","../../node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js","../../node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.ios.js","../../node_modules/react-native/Libraries/Vibration/Vibration.js","../../node_modules/react-native/Libraries/Vibration/VibrationIOS.ios.js","../../node_modules/react-native/Libraries/ReactNative/takeSnapshot.js","../../Utils.js","../../node_modules/react-native-video/Video.js","../../node_modules/react-native-video/TextTrackType.js","../../node_modules/react-native-video/FilterType.js","../../node_modules/react-native-video/VideoResizeMode.js","../../node_modules/keymirror/index.js","../../broadchurch.mp4"],"names":["PRINT_REQUIRE_PATHS","global","require","metroRequire","__d","define","modules","__NUM_MODULES__","Array","Object","create","__DEV__","verboseNamesToModuleIds","factory","moduleId","dependencyMap","inverseDependencies","arguments","__accept","console","warn","exports","undefined","hasError","isInitialized","path","Error","hot","createHotReloadingObject","verboseName","moduleIdReallyIsNumber","module","guardedLoadModule","inGuard","ErrorUtils","returnValue","loadModuleImplementation","e","reportFatalError","ID_MASK_SHIFT","LOCAL_ID_MASK","unpackModuleId","segmentId","localId","packModuleId","value","nativeRequire","_unpackModuleId","unknownModuleError","moduleThrewError","error","Systrace","_module","log","beginEvent","moduleObject","endEvent","id","message","displayName","getModules","acceptCallback","accept","callback","disposeCallback","dispose","metroAcceptAll","dependentModules","patchedModules","length","notAccepted","filter","metroAccept","parents","i","push","apply","mod","assign","target","sources","TypeError","nextIndex","nextSource","key","hasOwnProperty","prototype","call","inspect","obj","opts","ctx","seen","stylize","stylizeNoColor","formatValue","depth","str","styleType","arrayToHash","array","hash","forEach","val","idx","recurseTimes","primitive","formatPrimitive","keys","visibleKeys","isError","indexOf","formatError","isFunction","name","isRegExp","RegExp","toString","isDate","Date","base","braces","isArray","n","toUTCString","output","formatArray","map","formatProperty","pop","reduceToSingleString","isUndefined","isString","simple","JSON","stringify","replace","isNumber","isBoolean","isNull","l","String","match","desc","getOwnPropertyDescriptor","get","set","split","line","join","substr","numLinesEst","reduce","prev","cur","ar","arg","isNullOrUndefined","isSymbol","re","isObject","objectToString","d","isPrimitive","o","prop","OBJECT_COLUMN_NAME","LOG_LEVELS","trace","info","INSPECTOR_LEVELS","INSPECTOR_FRAMES_TO_SKIP","getNativeLogFunction","level","logLevel","slice","__inspectorLog","nativeLoggingHook","repeat","element","consoleTablePolyfill","rows","data","row","columns","sort","stringRows","columnWidths","k","j","cellStr","Math","max","joinRow","space","cells","cell","extraSpaces","separators","columnWidth","separatorRow","header","table","originalConsole","debug","descriptor","defineProperty","reactNativeMethod","methodName","print","consoleLoggingStub","_inGuard","_globalHandler","onError","setGlobalHandler","fun","getGlobalHandler","reportError","applyWithGuard","context","args","applyWithGuardIfNeeded","guard","guarded","Number","EPSILON","pow","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isNaN","globalIsNaN","configurable","enumerable","writable","startsWith","search","string","pos","start","min","endsWith","stringLength","searchString","end","lastIndexOf","count","Infinity","RangeError","result","includes","codePointAt","position","size","index","first","charCodeAt","second","findIndex","predicate","list","find","searchElement","O","len","parseInt","currentElement","from","arrayLike","mapFn","thisArg","C","items","symbolIterator","Symbol","iterator","mapping","usingIterator","ret","it","next","done","entries","object","values","babelHelpers","_classCallCheck","instance","Constructor","classCallCheck","_defineProperties","props","_createClass","protoProps","staticProps","createClass","_defineProperty","_extends","extends","source","_setPrototypeOf","p","setPrototypeOf","__proto__","_superPropBase","property","getPrototypeOf","superPropBase","_get","receiver","_inherits","subClass","superClass","inherits","_construct","Parent","Class","construct","a","bind","_getPrototypeOf","_assertThisInitialized","self","ReferenceError","assertThisInitialized","_wrapNativeSuper","_cache","Map","wrapNativeSuper","has","Wrapper","constructor","Super","_interopRequireDefault","__esModule","default","interopRequireDefault","_interopRequireWildcard","newObj","interopRequireWildcard","_objectWithoutProperties","excluded","sourceKeys","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","objectWithoutProperties","_possibleConstructorReturn","possibleConstructorReturn","_arrayWithHoles","arr","arrayWithHoles","_arrayWithoutHoles","arr2","arrayWithoutHoles","_iterableToArrayLimit","_arr","_n","_d","_e","_i","_s","err","return","iterableToArrayLimit","_nonIterableRest","nonIterableRest","_nonIterableSpread","nonIterableSpread","_slicedToArray","slicedToArray","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","taggedTemplateLiteral","_toArray","iterableToArray","toArray","_toConsumableArray","toConsumableArray","_taggedTemplateLiteralLoose","taggedTemplateLiteralLoose","_objectSpread","ownKeys","concat","sym","objectSpread","_iterableToArray","iter","onLayout","resizeVideoPlayer","styles","container","videoPlayer","width","state","orientationWidth","height","orientationHeight","onPress","presentFullscreenPlayer","Dimensions","Util","isPortrait","setState","Component","StyleSheet","flex","justifyContent","alignItems","backgroundColor","AppRegistry","registerComponent","VideoPlayer","process","env","NODE_ENV","q","r","for","t","u","v","w","x","y","z","A","B","D","b","c","encodeURIComponent","E","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","F","refs","updater","isReactComponent","forceUpdate","G","H","I","isPureReactComponent","J","current","K","L","ref","__self","__source","M","g","h","f","children","m","defaultProps","$$typeof","type","_owner","N","escape","P","Q","keyPrefix","func","R","S","T","U","V","W","thatReturnsArgument","X","Children","thatReturnsNull","only","createRef","PureComponent","createContext","_calculateChangedBits","_defaultValue","_currentValue","_currentValue2","_changedBits","_changedBits2","Provider","Consumer","_context","forwardRef","render","Fragment","StrictMode","unstable_AsyncMode","unstable_Profiler","createElement","cloneElement","createFactory","isValidElement","version","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","Y","Z","propIsEnumerable","toObject","shouldUseNative","test1","getOwnPropertyNames","test2","fromCharCode","order2","test3","letter","to","symbols","s","validateFormat","format","invariant","condition","argIndex","framesToPop","emptyObject","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsThis","_assign","warning","checkPropTypes","ReactVersion","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_TIMEOUT_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","enableSuspense","lowPriorityWarning","printWarning","_len","_key","_len2","_key2","lowPriorityWarning$1","didWarnStateUpdateForUnmountedComponent","warnNoop","publicInstance","callerName","_constructor","componentName","warningKey","ReactNoopUpdateQueue","completeState","partialState","deprecatedAPIs","replaceState","defineDeprecationWarning","fnName","ComponentDummy","pureComponentPrototype","refObject","seal","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","hasValidRef","config","getter","isReactWarning","hasValidKey","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","owner","_store","propName","childrenLength","childArray","cloneAndReplaceKey","oldElement","newKey","newElement","_self","_source","ReactDebugCurrentFrame","getCurrentStack","getStackAddendum","impl","SEPARATOR","SUBSEPARATOR","escapeRegex","escaperLookup","escapedString","didWarnAboutMaps","userProvidedKeyEscapeRegex","escapeUserProvidedKey","text","POOL_SIZE","traverseContextPool","getPooledTraverseContext","mapResult","mapFunction","mapContext","traverseContext","releaseTraverseContext","traverseAllChildrenImpl","nameSoFar","invokeCallback","getComponentKey","child","nextName","subtreeCount","nextNamePrefix","iteratorFn","step","ii","addendum","childrenString","traverseAllChildren","component","forEachSingleChild","bookKeeping","forEachChildren","forEachFunc","forEachContext","mapSingleChildIntoContext","childKey","mappedChild","mapIntoWithKeyPrefixInternal","prefix","escapedPrefix","mapChildren","countChildren","onlyChild","defaultValue","calculateChangedBits","_currentRenderer","_currentRenderer2","propTypes","describeComponentFrame","ownerName","fileName","lineNumber","isValidElementType","getComponentName","fiber","pendingProps","functionName","currentlyValidatingElement","propTypesMisspellWarningShown","getDisplayName","stack","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","elementProps","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","parentName","validateExplicitKey","validated","currentComponentErrorInfo","childOwner","validateChildKeys","node","validatePropTypes","PropTypes","getDefaultProps","isReactClassApproved","validateFragmentProps","fragment","createElementWithValidation","validType","sourceInfo","typeString","createFactoryWithValidation","validatedFactory","cloneElementWithValidation","React","Timeout","ReactComponentTreeHook","React$2","React$3","react","ReactPropTypesSecret","loggedTypeFailures","typeSpecs","location","getStack","typeSpecName","ex","sliceIterator","proxyReactComponents","_reactProxy","_globalWindow","_globalWindow2","componentProxies","__reactComponentProxies","_ref","filename","components","imports","locals","_imports","_locals","some","isInFunction","getForceUpdate","wrapWithProxy","ReactClass","uniqueId","_components$uniqueId","_components$uniqueId$isInFunction","_components$uniqueId$displayName","globalUniqueId","instances","update","setTimeout","createProxy","_supportsProtoAssignment","_supportsProtoAssignment2","_createClassProxy","_createClassProxy2","_reactDeepForceUpdate","_reactDeepForceUpdate2","supportsProtoAssignment","supports","proxyClass","createClassProxy","_find","_find2","_createPrototypeProxy","_createPrototypeProxy2","_bindAutoBindMethods","_bindAutoBindMethods2","_deleteUnknownAutoBindMethods","_deleteUnknownAutoBindMethods2","RESERVED_STATICS","isEqualDescriptor","allProxies","findProxy","pair","_ref2","addProxy","proxy","InitialComponent","existingProxy","prototypeProxy","CurrentComponent","ProxyComponent","staticDescriptors","wasStaticModifiedByUser","currentDescriptor","instantiate","params","Function","NextComponent","__getCurrent","mountedInstances","staticDescriptor","getCurrent","createFallback","createFind","baseIteratee","isArrayLike","findIndexFunc","collection","fromIndex","iterable","iteratee","baseMatches","baseMatchesProperty","identity","baseIsMatch","getMatchData","matchesStrictComparable","matchData","Stack","baseIsEqual","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","customizer","noCustomizer","objValue","srcValue","ListCache","stackClear","stackDelete","stackGet","stackHas","stackSet","__data__","clear","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","entry","assocIndexOf","arrayProto","splice","lastIndex","eq","other","MapCache","LARGE_ARRAY_SIZE","pairs","getNative","root","baseIsNative","getValue","isMasked","toSource","reRegExpChar","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","pattern","test","baseGetTag","asyncTag","funcTag","genTag","proxyTag","tag","getRawTag","nullTag","undefinedTag","symToStringTag","toStringTag","freeGlobal","freeSelf","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","uid","exec","IE_PROTO","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","nativeCreate","HASH_UNDEFINED","getMapData","isKeyable","baseIsEqualDeep","isObjectLike","bitmask","equalArrays","equalByTag","equalObjects","getTag","isBuffer","isTypedArray","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","SetCache","arraySome","cacheHas","isPartial","arrLength","othLength","stacked","arrValue","othValue","compared","othIndex","setCacheAdd","setCacheHas","add","cache","Uint8Array","mapToArray","setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","valueOf","byteLength","byteOffset","buffer","convert","getAllKeys","objProps","objLength","othProps","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","arrayPush","keysFunc","symbolsFunc","offset","arrayFilter","stubArray","nativeGetSymbols","symbol","resIndex","arrayLikeKeys","baseKeys","baseTimes","isArguments","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseIsArguments","stubFalse","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","reIsUint","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isLength","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","freeProcess","types","binding","isPrototype","nativeKeys","Ctor","proto","overArg","transform","DataView","Promise","Set","WeakMap","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","resolve","ctorString","isStrictComparable","hasIn","isKey","toKey","baseGet","castPath","stringToPath","reIsDeepProp","reIsPlainProp","memoizeCapped","rePropName","reEscapeChar","number","quote","subString","memoize","MAX_MEMOIZE_SIZE","FUNC_ERROR_TEXT","resolver","memoized","Cache","baseToString","arrayMap","INFINITY","symbolToString","baseHasIn","hasPath","hasFunc","baseProperty","basePropertyDeep","baseFindIndex","toInteger","nativeMax","fromRight","toFinite","remainder","toNumber","MAX_INTEGER","sign","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","createPrototypeProxy","_assign2","_difference","_difference2","proxyToString","proxyMethod","proxiedMethod","proxiedComponentDidMount","componentDidMount","proxiedComponentWillUnmount","componentWillUnmount","defineProxyProperty","defineProxyPropertyWithValue","_ref$enumerable","_ref$writable","createAutoBindMap","__reactAutoBindMap","createAutoBindPairs","__reactAutoBindPairs","method","currentNames","previousName","removedNames","assignValue","copyObject","createAssigner","baseAssignValue","isNew","newValue","baseRest","isIterateeCall","assigner","overRest","setToString","otherArgs","baseSetToString","shortOut","constant","HOT_COUNT","HOT_SPAN","nativeNow","now","lastCalled","stamp","remaining","baseDifference","baseFlatten","isArrayLikeObject","difference","arrayIncludes","arrayIncludesWith","comparator","isCommon","valuesLength","outer","computed","valuesIndex","baseIndexOf","baseIsNaN","strictIndexOf","isFlattenable","isStrict","spreadableSymbol","isConcatSpreadable","bindAutoBindMethods","bindAutoBindMethod","boundMethod","__reactBoundContext","__reactBoundMethod","__reactBoundArguments","_bind","newThis","reboundMethod","bindAutoBindMethodsFromMap","autoBindKey","bindAutoBindMethodsFromArray","deleteUnknownAutoBindMethods","shouldDeleteClassicInstanceMethod","shouldDeleteModernInstanceMethod","prototypeDescriptor","shouldDeleteInstanceMethod","names","traverseRenderedChildren","internalInstance","argument","_renderedComponent","_renderedChildren","setPendingForceUpdate","_pendingForceUpdate","forceUpdateIfPending","_instance","deepForceUpdateStack","_reactInternalInstance","deepForceUpdate","_reactInternalFiber","stateNode","sibling","win","window","ReactNative","AccessibilityInfo","ActivityIndicator","ART","Button","CheckBox","DatePickerIOS","DrawerLayoutAndroid","FlatList","Image","ImageBackground","ImageEditor","ImageStore","InputAccessoryView","KeyboardAvoidingView","ListView","MaskedViewIOS","Modal","NavigatorIOS","Picker","PickerIOS","ProgressBarAndroid","ProgressViewIOS","SafeAreaView","ScrollView","SectionList","SegmentedControlIOS","Slider","SnapshotViewIOS","Switch","RefreshControl","StatusBar","SwipeableFlatList","SwipeableListView","TabBarIOS","Text","TextInput","ToastAndroid","ToolbarAndroid","Touchable","TouchableHighlight","TouchableNativeFeedback","TouchableOpacity","TouchableWithoutFeedback","View","ViewPagerAndroid","VirtualizedList","WebView","ActionSheetIOS","Alert","AlertIOS","Animated","AppState","AsyncStorage","BackAndroid","BackHandler","CameraRoll","Clipboard","DatePickerAndroid","DeviceInfo","Easing","findNodeHandle","I18nManager","ImagePickerIOS","InteractionManager","Keyboard","LayoutAnimation","Linking","NativeEventEmitter","NetInfo","PanResponder","PermissionsAndroid","PixelRatio","PushNotificationIOS","Settings","Share","StatusBarIOS","TimePickerAndroid","TVEventHandler","UIManager","unstable_batchedUpdates","Vibration","VibrationIOS","YellowBox","DeviceEventEmitter","NativeAppEventEmitter","NativeModules","Platform","processColor","requireNativeComponent","takeSnapshot","ColorPropType","EdgeInsetsPropType","PointPropType","ViewPropTypes","Navigator","RCTDeviceEventEmitter","AccessibilityManager","VOICE_OVER_EVENT","ANNOUNCEMENT_DID_FINISH_EVENT","_subscriptions","fetch","reject","getCurrentVoiceOverState","addEventListener","eventName","handler","listener","addListener","remove","removeEventListener","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","delete","BatchedBridge","genModule","moduleID","moduleName","constants","methods","promiseMethods","syncMethods","methodID","isPromise","arrayContains","isSync","methodType","genMethod","createDebugLookup","__fbGenNativeModule","loadModule","nativeRequireModuleConfig","fn","enqueueNativeCall","createErrorFromErrorData","errorData","nativeCallSyncHook","lastArg","secondLastArg","hasSuccessCallback","hasErrorCallback","onSuccess","onFail","callbackCount","extraErrorInfo","nativeModuleProxy","nativeExtensions","bridgeConfig","__fbBatchedBridgeConfig","defineLazyObjectProperty","remoteModuleConfig","MessageQueue","deepFreezeAndThrowOnMutationInDev","stringifySafe","TO_JS","TO_NATIVE","MODULE_IDS","METHOD_IDS","PARAMS","MIN_TIME_BETWEEN_FLUSHES_MS","TRACE_TAG_REACT_APPS","DEBUG_INFO_LIMIT","JSTimers","_lazyCallableModules","_queue","_successCallbacks","_failureCallbacks","_callID","_lastFlush","_eventLoopStartTime","getTime","_debugInfo","_remoteModuleTable","_remoteMethodTable","callFunctionReturnFlushedQueue","callFunctionReturnResultAndFlushedQueue","flushedQueue","invokeCallbackAndReturnFlushedQueue","__guard","__callFunction","cbID","__invokeCallback","__callImmediates","queue","onSucc","nativeTraceBeginAsyncFlow","isValidArgument","every","nativeFlushQueueImmediate","counterEvent","__spy","isFinite","__shouldPauseOnThrow","DebuggerInternal","shouldPauseOnThrow","callImmediates","moduleMethods","getCallableModule","callID","isSuccess","errorMessage","profileName","spyOrToggle","TRACE_TAG_JS_VM_CALLS","_enabled","_asyncCookie","_markStack","_markStackIndex","_canInstallReactHook","REACT_MARKER","userTimingPolyfill","mark","markName","systraceLabel","indexOfId","cutoffIndex","measure","measureName","startMark","endMark","topMark","clearMarks","clearMeasures","installReactHook","performance","setEnabled","enabled","nativeTraceBeginLegacy","nativeTraceEndLegacy","isEnabled","nativeTraceBeginSection","nativeTraceEndSection","beginAsyncEvent","cookie","nativeTraceBeginAsyncSection","endAsyncEvent","nativeTraceEndAsyncSection","nativeTraceCounter","isFrozen","isSealed","throwOnImmutableMutation","Timing","_performanceNow","performanceNow","FRAME_DURATION","IDLE_CALLBACK_FRAME_DEADLINE","MAX_TIMER_DURATION_MS","IS_ANDROID","OS","ANDROID_LONG_TIMER_MESSAGE","callbacks","timerIDs","immediates","requestIdleCallbacks","requestIdleCallbackTimeouts","identifiers","GUID","errors","hasEmittedTimeDriftWarning","_getFreeIndex","freeIndex","_allocateCallback","parseErrorStack","shift","_callTimer","timerID","frameTime","didTimeout","timerIndex","identifier","_clearIndex","timeRemaining","_callImmediatesPass","passImmediates","_freeCallback","deleteTimer","duration","createTimer","setInterval","setImmediate","requestAnimationFrame","requestIdleCallback","options","setSendIdleEvents","timeout","timeoutId","clearTimeout","deadline","cancelIdleCallback","clearInterval","clearImmediate","cancelAnimationFrame","callTimers","timersToCall","errorCount","callIdleCallbacks","passIdleCallbacks","emitTimeDriftWarning","warningMessage","ExportedJSTimers","Version","PlatformConstants","osVersion","isPad","interfaceIdiom","isTVOS","isTV","isTesting","select","ios","ExecutionEnvironment","canUseDOM","msPerformance","webkitPerformance","document","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","isInWorker","stacktraceParser","parse","UNKNOWN_FUNCTION","StackTraceParser","stackString","chrome","gecko","lines","parts","valueSet","setValue","enable","allRejections","onUnhandled","stringValue","onHandled","onSettled","then","TRUE","valuePromise","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","_61","_65","_55","all","res","race","onRejected","noop","LAST_ERROR","IS_ERROR","getThen","tryCallOne","tryCallTwo","_40","_72","doResolve","_37","_87","onFulfilled","safeThen","handle","Handler","deferred","handleResolved","cb","promise","finale","reason","DEFAULT_WHITELIST","disable","displayId","rejections","_51","logged","matchWhitelist","whitelist","logError","errStr","cls","printString","toISOString","errorToString","regExpToString","SYMBOL_REGEXP","NEWLINE_REGEXP","isToStringedArrayType","toStringed","printNumber","isNegativeZero","printFunction","printFunctionName","printSymbol","printError","printBasicValue","typeOf","printList","indent","prevIndent","spacing","edgeSpacing","maxDepth","currentDepth","plugins","callToJSON","body","innerIndent","printArguments","printArray","printMap","printObject","printSet","printComplexValue","hitMaxDepth","toJSON","printPlugin","plugin","boundPrint","boundIndent","indentation","basic","DEFAULTS","validateOptions","normalizeOptions","createIndent","prettyFormat","pluginsResult","basicResult","ESCAPED_CHARACTERS","EventEmitter","EventSubscriptionVendor","checkNativeEventModule","eventType","sharedSubscriber","subscription","emitter","removeSubscription","EmitterSubscription","subscriber","_subscriber","addSubscription","removeCurrentListener","removeAllSubscriptions","_currentSubscription","subscriptions","getSubscriptionsForType","EventSubscription","_subscriptionsForType","subscriptionsForType","RCTActivityIndicator","GRAY","style","forwardedRef","restProps","sizeStyle","sizeSmall","sizeLarge","nativeProps","styleAttr","indeterminate","ActivityIndicatorWithRef","animating","color","hidesWhenStopped","ReactNativeStyleAttributes","StyleSheetValidation","flatten","hairlineWidth","roundToNearestPixel","absoluteFill","left","right","top","bottom","absoluteFillObject","compose","style1","style2","setStyleAttributePreprocessor","validateStyle","scale","fontScale","layoutSize","round","ratio","eventEmitter","dimensionsInitialized","dimensions","dims","windowPhysicalPixels","screenPhysicalPixels","emit","dim","removeListener","nativeExtensionsEnabled","ImageStylePropTypes","TextStylePropTypes","ViewStylePropTypes","keyMirror","processTransform","sizesDiffer","shadowOffset","diff","colorAttributes","borderBottomColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderStartColor","borderEndColor","shadowColor","textDecorationColor","tintColor","textShadowColor","overlayColor","ImageResizeMode","LayoutPropTypes","ReactPropTypes","ShadowPropTypesIOS","TransformPropTypes","resizeMode","oneOf","backfaceVisibility","borderWidth","borderRadius","overflow","opacity","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","normalizeColor","colorPropType","isRequired","propFullName","matchers","getMatchers","hex6","rgb","parse255","rgba","parse1","hex3","hex8","hex4","hsl","hslToRgb","parse360","parsePercentage","hsla","hue2rgb","NUMBER","PERCENTAGE","cachedMatchers","int","parseFloat","num","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","contain","cover","stretch","center","display","oneOfType","minWidth","maxWidth","minHeight","maxHeight","margin","marginVertical","marginHorizontal","marginTop","marginBottom","marginLeft","marginRight","marginStart","marginEnd","padding","paddingVertical","paddingHorizontal","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingStart","paddingEnd","borderTopWidth","borderStartWidth","borderEndWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","flexDirection","flexWrap","alignSelf","alignContent","flexGrow","flexShrink","flexBasis","aspectRatio","zIndex","direction","throwOnDirectAccess","emptyFunctionThatReturnsNull","ITERATOR_SYMBOL","ANONYMOUS","createPrimitiveTypeChecker","bool","any","createAnyTypeChecker","arrayOf","createArrayOfTypeChecker","createElementTypeChecker","instanceOf","createInstanceTypeChecker","createNodeChecker","objectOf","createObjectOfTypeChecker","createEnumTypeChecker","createUnionTypeChecker","shape","createShapeTypeChecker","exact","createStrictShapeTypeChecker","is","PropTypeError","createChainableTypeChecker","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","secret","cacheKey","chainedCheckType","expectedType","propValue","propType","getPropType","preciseType","getPreciseType","typeChecker","expectedClass","expectedClassName","actualClassName","getClassName","expectedValues","valuesString","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","isNode","shapeTypes","allKeys","shim","getShim","shadowOpacity","shadowRadius","deprecatedPropType","TransformMatrixPropType","DecomposedMatrixPropType","perspective","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","translateX","translateY","skewX","skewY","transformMatrix","decomposedMatrix","rotation","explanation","rest","__takeSnapshot","viewConfig","viewName","Manager","viewManager","commands","ViewManagerNames","residual","__residual","_","viewManagerName","getConstantsForViewManager","__makePartial","fontFamily","fontSize","fontStyle","fontWeight","fontVariant","textShadowOffset","textShadowRadius","letterSpacing","lineHeight","textAlign","textAlignVertical","includeFontPadding","textDecorationLine","textDecorationStyle","textTransform","writingDirection","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderStyle","elevation","int32Color","MatrixMath","_validateTransforms","createIdentityMatrix","transformation","multiplyInto","_multiplyTransform","reusePerspectiveCommand","reuseRotateXCommand","_convertToRadians","reuseRotateYCommand","reuseRotateZCommand","reuseScaleCommand","reuseScaleXCommand","reuseScaleYCommand","reuseTranslate3dCommand","reuseTranslate2dCommand","reuseSkewXCommand","reuseSkewYCommand","matrixMathFunction","matrixToApply","argsWithIdentity","floatValue","PI","_validateTransform","multivalueTransforms","createCopy","createOrthographic","near","far","tx","ty","tz","createFrustum","r_width","r_height","r_depth","createPerspective","fovInRadians","aspect","createTranslate2d","mat","matrixCommand","createScale","factor","reuseScale3dCommand","reuseScaleZCommand","radians","cos","sin","amount","createRotateZ","out","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","a30","a31","a32","a33","b0","b1","b2","b3","determinant","matrix","m00","m01","m02","m03","m10","m11","m12","m13","m20","m21","m22","m23","m30","m31","m32","m33","inverse","det","transpose","multiplyVectorByMatrix","vx","vy","vz","vw","v3Length","sqrt","v3Normalize","vector","im","v3Dot","v3Combine","aScale","bScale","v3Cross","quaternionToDegreesXYZ","qx","qy","qz","qw","qw2","qx2","qy2","qz2","unit","conv","atan2","roundTo3Places","asin","decomposeMatrix","quaternion","skew","translation","perspectiveMatrix","rightHandSide","inversePerspectiveMatrix","transposedInversePerspectiveMatrix","pdum3","rotationDegrees","dummySize","one","two","caller","allStylePropTypes","message1","message2","styleError","validateStyleProp","stylePropTypes","addValidStylePropTypes","flattenStyle","styleLength","computedStyle","TextAncestor","RCTView","ViewToExport","hasTextAncestor","createReactNativeComponentClass","insetsDiffer","matricesDiffer","pointsDiffer","resolveAssetSource","uiViewClassName","NativeProps","baseModuleName","bubblingEventTypes","directEventTypes","baseModule","validAttributes","typeName","getDifferForType","getProcessorForType","hasAttachedDefaultEventTypes","attachDefaultEventTypes","merge","getDefaultEventTypes","genericBubblingEventTypes","genericDirectEventTypes","destination","sourceValue","destinationValue","processColorArray","colors","register","customBubblingEventTypes","customDirectEventTypes","eventTypes","viewConfigCallbacks","viewConfigs","processEventTypes","topLevelType","dummyInsets","dummyPoint","AssetRegistry","AssetSourceResolver","_customSourceTransformer","_serverURL","_scriptURL","_sourceCodeScriptURL","getSourceCodeScriptURL","sourceCode","SourceCode","scriptURL","getDevServerURL","sourceCodeScriptURL","_coerceLocalScriptURL","substring","getScriptURL","setCustomSourceTransformer","transformer","asset","getAssetByID","defaultAsset","pickScale","assets","registerAsset","assetId","assetPathUtils","getScaledAssetPath","scales","scaleSuffix","assetDir","getBasePath","getAssetPathInDrawableFolder","drawbleFolder","getAndroidResourceFolderName","getAndroidResourceIdentifier","serverUrl","jsbundleUrl","isLoadedFromServer","assetServerURL","isLoadedFromFileSystem","drawableFolderInBundle","resourceIdentifierWithoutScale","scaledAssetURLNearBundle","fromSource","__packager_asset","uri","deviceScale","getAndroidAssetSuffix","drawableFileTypes","suffix","androidFolder","folderPath","toLowerCase","basePath","httpServerLocation","UnimplementedView","unimplementedView","Color","Path","Transform","ReactNativeViewAttributes","arrayDiffer","fontAndLinesDiffer","font","SurfaceViewAttributes","UIView","NodeAttributes","GroupAttributes","clipping","RenderableAttributes","fill","stroke","strokeWidth","strokeCap","strokeJoin","strokeDash","ShapeAttributes","TextAttributes","alignment","frame","NativeSurfaceView","NativeGroup","NativeShape","NativeText","childrenAsString","Surface","isInSurface","extractNumber","childContextTypes","pooledTransform","extractTransform","transformTo","move","originX","originY","xx","yx","xy","yy","extractOpacity","visible","Group","contextTypes","ClippingRectangle","propsExcludingXAndY","SOLID_COLOR","LINEAR_GRADIENT","RADIAL_GRADIENT","PATTERN","insertColorIntoArray","targetArray","atIndex","alpha","insertColorsIntoArray","stops","insertOffsetsIntoArray","multi","reverse","offsetNumber","offsetString","insertColorStopsIntoArray","insertDoubleColorStopsIntoArray","applyBoundingBoxToBrushData","brushData","extractBrush","colorOrBrush","_brush","_bb","extractColor","extractStrokeCap","extractStrokeJoin","Shape","cachedFontObjectsFromString","fontFamilyPrefix","fontFamilySuffix","extractSingleFontFamily","fontFamilyString","parseFontString","regexp","isBold","isItalic","extractFont","newLine","extractFontAndLines","extractAlignment","textPath","textFrame","LinearGradient","x1","y1","x2","y2","angle","abs","RadialGradient","fx","fy","rx","ry","cx","cy","Pattern","url","ReactART","results","isColor","namedColor","toUpperCase","limit","listMatch","hexMatch","parseRGB","bit","parseHEX","parseHSB","hsb","br","hue","floor","parseHSL","toHSB","delta","saturation","brightness","rr","gr","toHSL","lightness","toHEX","hex","toRGB","detach","MOVE_TO","CLOSE","LINE_TO","CURVE_TO","ARC","SerializablePath","initialize","reset","applyToPath","onReset","onMove","sx","sy","onLine","onBezierCurve","p1x","p1y","p2x","p2y","_arcToBezier","onArc","ey","sa","ea","ccw","onClose","mixins","mixin","last","cmd","curve","arc","moveTo","lineTo","curveTo","arcTo","penY","penX","close","penDownX","penDownY","_pivotX","_pivotY","c1x","c1y","c2x","c2y","counterClockwise","tX","tY","clockwise","large","rad","rxry","rycx","rxcy","cxd","cyd","counterArc","counterArcTo","gx","gy","v1","v2","s1x","s1y","l1x","l1y","l2x","l2y","r2x","r2y","r1x","r1y","l2r1x","l2r1y","ceil","cp1x","cp1y","cp2x","cp2y","_transform","translate","deg","rotateTo","flip","scaleTo","resizeTo","inversePoint","point","pointerEvents","accessible","accessibilityActions","accessibilityLabel","accessibilityComponentType","accessibilityLiveRegion","accessibilityTraits","importantForAccessibility","nativeID","testID","renderToHardwareTextureAndroid","shouldRasterizeIOS","onAccessibilityAction","onAccessibilityTap","onMagicTap","collapsable","needsOffscreenAlphaCompositing","removeClippedSubviews","mergeInto","mergeHelpers","checkMergeObjectArg","checkMergeIntoObjectArg","MAX_MERGE_DEPTH","isTerminal","normalizeMergeArg","checkMergeArrayArgs","checkMergeObjectArgs","checkMergeLevel","checkArrayStrategy","strategy","ArrayStrategies","Clobber","Concat","IndexByIndex","title","hasTVPreferredFocus","disabled","buttonStyles","button","textStyles","buttonDisabled","textDisabled","formattedTitle","android","TextPropTypes","nullthrows","PRESS_RECT_OFFSET","isHighlighted","numberOfLines","ellipsizeMode","allowFontScaling","selectable","selectionColor","adjustsFontSizeToFit","minimumFontScale","textBreakStrategy","TouchableText","Mixin","touchableGetInitialState","createResponderHandlers","_createResponseHandlers","responseHandlers","isTouchable","TOUCH_TARGET_DEBUG","onStartShouldSetResponder","shouldSetResponder","_attachTouchHandlers","onResponderGrant","event","dispatchID","touchableHandleResponderGrant","onResponderMove","touchableHandleResponderMove","onResponderRelease","touchableHandleResponderRelease","onResponderTerminate","touchableHandleResponderTerminate","onResponderTerminationRequest","touchableHandleResponderTerminationRequest","touchableGetPressRectOffset","touchableHandleActivePressIn","suppressHighlighting","touchableHandleActivePressOut","touchableHandlePress","touchableHandleLongPress","onLongPress","pressRetentionOffset","nextProps","prevState","RCTText","RCTVirtualText","StyleSheetPropType","stylePropType","shapePropType","newProps","locationName","BoundingDimensions","Position","TouchEventUtils","States","NOT_RESPONDER","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","ERROR","IsActive","IsPressingIn","IsLongPressingIn","Signals","DELAY","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","LONG_PRESS_DETECTED","Transitions","HIGHLIGHT_DELAY_MS","PRESS_EXPAND_PX","LONG_PRESS_THRESHOLD","LONG_PRESS_DELAY_MS","LONG_PRESS_ALLOWED_MOVEMENT","TouchableMixin","_tvEventHandler","cmp","evt","myTag","dispatchConfig","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","touchable","touchState","responderID","rejectResponderTermination","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","currentTarget","persist","_receiveSignal","delayMS","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","_handleLongDelay","positionOnActivate","dimensionsOnActivate","pressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","touch","extractSingleTouch","nativeEvent","pageX","pageY","pressInLocation","movedDistance","_getDistanceBetweenPoints","_cancelLongPressDelayTimeout","isTouchWithinActive","curState","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","release","getPooled","signal","nextState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","locationX","locationY","aX","aY","bX","bY","deltaX","deltaY","curIsHighlight","newIsHighlight","isFinalSignal","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","shouldInvokePress","_playTouchSound","playTouchSound","touchableGetPressOutDelayMS","renderDebugView","debugHitSlopStyle","hexColor","PooledClass","twoArgumentPooler","destructor","getPooledFromElement","offsetWidth","offsetHeight","addPoolingTo","oneArgumentPooler","copyFieldsFrom","Klass","instancePool","a1","a2","threeArgumentPooler","a3","fourArgumentPooler","a4","standardReleaser","poolSize","DEFAULT_POOL_SIZE","DEFAULT_POOLER","CopyConstructor","pooler","NewKlass","ReactNativeViewConfigRegistry","RCTEventEmitter","deepDiffer","TextInputState","ExceptionsManager","invokeGuardedCallback","_hasCaughtError","_caughtError","funcArgs","dispatchEvent","createEvent","fakeNode","invokeGuardedCallbackDev","didError","callCallback","evtType","didSetError","isCrossOriginError","colno","lineno","initEvent","invokeGuardedCallback$1","ReactErrorUtils","_rethrowError","_hasRethrowError","invokeGuardedCallbackAndCatchFirstError","hasCaughtError","clearCaughtError","rethrowCaughtError","eventPluginOrder","namesToPlugins","recomputePluginOrdering","pluginName","pluginModule","pluginIndex","extractEvents","publishedEvents","publishEventForPlugin","eventNameDispatchConfigs","phasedRegistrationNames","phaseName","phasedRegistrationName","publishRegistrationName","registrationName","registrationNameModules","registrationNameDependencies","dependencies","lowerCasedName","injectEventPluginOrder","injectedEventPluginOrder","injectEventPluginsByName","injectedNamesToPlugins","isOrderingDirty","getFiberCurrentPropsFromNode","getInstanceFromNode","getNodeFromInstance","injection$1","injectComponentTree","Injected","validateEventDispatches","dispatchListeners","_dispatchListeners","dispatchInstances","_dispatchInstances","listenersIsArr","listenersLen","instancesIsArr","instancesLen","executeDispatch","simulated","inst","executeDispatchesInOrder","isPropagationStopped","executeDispatchesInOrderStopAtTrueImpl","executeDispatchesInOrderStopAtTrue","executeDirectDispatch","dispatchListener","dispatchInstance","hasDispatches","accumulateInto","forEachAccumulated","scope","eventQueue","executeDispatchesAndRelease","isPersistent","executeDispatchesAndReleaseSimulated","executeDispatchesAndReleaseTopLevel","isInteractive","shouldPreventMouseEvent","injection","getListener","targetInst","nativeEventTarget","events","possiblePlugin","extractedEvents","runEventsInBatch","processingEventQueue","runExtractedEventsInBatch","IndeterminateComponent","FunctionalComponent","ClassComponent","HostRoot","HostPortal","HostComponent","HostText","Mode","ContextConsumer","ContextProvider","ForwardRef","Profiler","TimeoutComponent","getParent","getLowestCommonAncestor","instA","instB","depthA","tempA","depthB","tempB","alternate","isAncestor","getParentInstance","traverseTwoPhase","listenerAtPhase","propagationPhase","accumulateDirectionalDispatches","phase","accumulateTwoPhaseDispatchesSingle","_targetInst","accumulateTwoPhaseDispatchesSingleSkipTarget","parentInst","accumulateDispatches","ignoredDirection","accumulateDirectDispatchesSingle","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateDirectDispatches","didWarnForAddedNewProperty","EVENT_POOL_SIZE","shouldBeReleasedProperties","EventInterface","eventPhase","bubbles","cancelable","timeStamp","defaultPrevented","isTrusted","functionThatReturnsTrue","functionThatReturnsFalse","SyntheticEvent","preventDefault","stopPropagation","Interface","normalize","isDefaultPrevented","cancelBubble","getPooledWarningPropertyDefinition","extend","addEventPoolingTo","isProxySupported","Proxy","that","getVal","get$$1","action","warningCondition","getPooledEvent","nativeInst","EventConstructor","eventPool","releasePooledEvent","SyntheticEvent$1","ResponderSyntheticEvent","touchHistory","TOP_TOUCH_START","TOP_TOUCH_MOVE","TOP_TOUCH_END","TOP_TOUCH_CANCEL","TOP_SCROLL","TOP_SELECTION_CHANGE","isStartish","isMoveish","isEndish","startDependencies","moveDependencies","endDependencies","MAX_TOUCH_BANK","touchBank","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","timestampForTouch","timestamp","createTouchRecord","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","touchRecord","getTouchIdentifier","recordTouchStart","recordTouchMove","printTouch","printTouchBank","recordTouchEnd","printed","ResponderTouchHistoryStore","recordTouchTrack","changedTouches","touches","touchTrackToCheck","activeRecord","accumulate","responderInst","trackedTouchCount","changeResponder","nextResponderInst","blockHostResponder","oldResponderInst","ResponderEventPlugin","GlobalResponderHandler","onChange","eventTypes$1","startShouldSetResponder","bubbled","captured","scrollShouldSetResponder","selectionChangeShouldSetResponder","moveShouldSetResponder","responderStart","responderMove","responderEnd","responderRelease","responderTerminationRequest","responderGrant","responderReject","responderTerminate","setResponderAndExtractTransfer","shouldSetEventType","bubbleShouldSetFrom","skipOverBubbleShouldSetFrom","shouldSetEvent","wantsResponderInst","extracted","grantEvent","terminationRequestEvent","shouldSwitch","terminateEvent","rejectEvent","canTriggerTransfer","topLevelInst","responderIgnoreScroll","noResponderTouches","activeTouch","_getResponder","isResponderTouchStart","isResponderTouchMove","isResponderTouchEnd","incrementalTouch","gesture","isResponderTerminate","isResponderRelease","finalTouch","finalEvent","injectGlobalResponderHandler","customBubblingEventTypes$1","customDirectEventTypes$1","eventTypes$2","ReactNativeBridgeEventPlugin","bubbleDispatchConfig","directDispatchConfig","ReactNativeEventPluginOrder","instanceCache","instanceProps","precacheFiberNode","hostInst","uncacheFiberNode","getInstanceFromTag","getTagFromInstance","_nativeTag","canonical","getFiberCurrentPropsFromNode$1","updateFiberProps","ReactNativeComponentTree","getClosestInstanceFromNode","fiberHostComponent","restoreTarget","restoreQueue","restoreStateOfTarget","restoreControlledState","needsStateRestore","restoreStateIfNeeded","queuedTargets","_batchedUpdates","bookkeeping","_interactiveUpdates","_flushInteractiveUpdates","isBatching","batchedUpdates","controlledComponentsHavePendingUpdates","injection$2","injectRenderer","renderer","interactiveUpdates","flushInteractiveUpdates","EMPTY_NATIVE_EVENT","touchSubsequence","indices","removeTouchesAtIndices","rippedOut","temp","fillAt","_receiveRootNodeIDEvent","rootNodeID","nativeEventParam","receiveEvent","receiveTouches","eventTopLevelType","changedIndices","jj","ReactNativeEventEmitter","registrationNames","ReactNativeGlobalResponderHandler","blockNativeResponder","setJSResponder","clearJSResponder","get$1","ReactInternals","NoEffect","PerformedWork","Placement","Update","PlacementAndUpdate","Deletion","ContentReset","Callback","DidCapture","Ref","Snapshot","HostEffectMask","Incomplete","ShouldCapture","MOUNTING","MOUNTED","UNMOUNTED","isFiberMountedImpl","effectTag","isFiberMounted","ownerFiber","_warnedAboutRefsInRender","assertIsMounted","findCurrentFiberUsingSlowPath","parentA","parentB","didFindChild","_child","findCurrentHostFiber","parent","currentParent","findCurrentHostFiberWithNoPortals","emptyObject$1","removedKeys","removedKeyCount","defaultDiffer","prevProp","nextProp","restoreDeletedValuesInNestedArray","updatePayload","propKey","_nextProp","attributeConfig","nextValue","diffNestedArrayProperty","prevArray","nextArray","minLength","diffNestedProperty","clearNestedProperty","addNestedProperty","diffProperties","addProperties","clearProperties","prevProps","shouldUpdate","_nextValue","_propKey","mountSafeCallback","__isMounted","throwOnStylesProp","msg","warnForStyleProps","ReactNativeFiberHostComponent","_children","blur","blurTextInput","focus","focusTextInput","measureInWindow","measureLayout","relativeToNativeNode","setNativeProps","updateView","hasNativePerformanceNow","now$1","scheduledCallback","frameDeadline","frameDeadlineObject","setTimeoutCallback","scheduleDeferredCallback$1","cancelDeferredCallback$1","callbackID","supportsPersistence","cloneInstance","createContainerChildSet","appendChildToContainerChildSet","finalizeContainerChildren","replaceContainerChildren","shim$1","supportsHydration","canHydrateInstance","canHydrateTextInstance","getNextHydratableSibling","getFirstHydratableChild","hydrateInstance","hydrateTextInstance","didNotMatchHydratedContainerTextInstance","didNotMatchHydratedTextInstance","didNotHydrateContainerInstance","didNotHydrateInstance","didNotFindHydratableContainerInstance","didNotFindHydratableContainerTextInstance","didNotFindHydratableInstance","didNotFindHydratableTextInstance","nextReactTag","allocateTag","recursivelyUncacheFiberNode","appendInitialChild","parentInstance","createInstance","rootContainerInstance","hostContext","internalInstanceHandle","isInAParentText","createView","createTextInstance","finalizeInitialChildren","nativeTags","setChildren","getRootHostContext","getChildHostContext","parentHostContext","prevIsInAParentText","getPublicInstance","prepareForCommit","containerInfo","prepareUpdate","oldProps","resetAfterCommit","isPrimaryRenderer","scheduleDeferredCallback","cancelDeferredCallback","shouldDeprioritizeSubtree","shouldSetTextContent","supportsMutation","appendChild","childTag","manageChildren","appendChildToContainer","commitTextUpdate","textInstance","oldText","newText","commitUpdate","updatePayloadTODO","insertBefore","beforeChild","beforeChildIndex","_beforeChildIndex","insertInContainerBefore","removeChild","removeChildFromContainer","resetTextContent","describeFiber","_debugOwner","_debugSource","getStackAddendumByWorkInProgressFiber","workInProgress","getCurrentFiberOwnerName","ReactDebugCurrentFiber","getCurrentFiberStackAddendum","resetCurrentFiber","setCurrentFiber","setCurrentPhase","debugRenderPhaseSideEffects","debugRenderPhaseSideEffectsForStrictMode","enableGetDerivedStateFromCatch","enableUserTimingAPI","replayFailedUnitOfWorkWithInvokeGuardedCallback","warnAboutDeprecatedLifecycles","warnAboutLegacyContextAPI","enableProfilerTimer","reactEmoji","warningEmoji","supportsUserTiming","currentFiber","currentPhase","currentPhaseFiber","isCommitting","hasScheduledUpdateInCurrentCommit","hasScheduledUpdateInCurrentPhase","commitCountInCurrentWorkLoop","effectCountInCurrentCommit","isWaitingForCallback","labelsInCurrentCommit","formatMarkName","formatLabel","label","warning$$1","beginMark","clearMark","formattedMarkName","formattedLabel","getFiberMarkName","debugID","getFiberLabel","beginFiberMark","_debugID","clearFiberMark","endFiberMark","shouldIgnoreFiber","clearPendingPhaseMeasurement","pauseTimers","_debugIsCurrentlyTiming","resumeTimersRecursively","resumeTimers","recordEffect","recordScheduleUpdate","startRequestCallbackTimer","stopRequestCallbackTimer","didExpire","expirationTime","startWorkTimer","cancelWorkTimer","stopWorkTimer","stopFailedWorkTimer","startPhaseTimer","stopPhaseTimer","startWorkLoopTimer","nextUnitOfWork","stopWorkLoopTimer","interruptedBy","didCompleteRoot","startCommitTimer","stopCommitTimer","startCommitSnapshotEffectsTimer","stopCommitSnapshotEffectsTimer","startCommitHostEffectsTimer","stopCommitHostEffectsTimer","startCommitLifeCyclesTimer","stopCommitLifeCyclesTimer","valueStack","fiberStack","createCursor","cursor","checkThatStackIsEmpty","resetStackAfterFatalErrorInDev","warnedAboutMissingGetChildContext","contextStackCursor","didPerformWorkStackCursor","previousContext","getUnmaskedContext","hasOwnContext","isContextProvider","cacheContext","unmaskedContext","maskedContext","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","getMaskedContext","hasContextChanged","isContextConsumer","popContextProvider","popTopLevelContextObject","pushTopLevelContextObject","didChange","processChildContext","parentContext","getChildContext","childContext","contextKey","pushContextProvider","memoizedMergedChildContext","__reactInternalMemoizedMergedChildContext","invalidateContextProvider","mergedContext","findCurrentUnmaskedContext","MAX_SIGNED_31_BIT_INT","NoWork","Sync","Never","UNIT_SIZE","MAGIC_NUMBER_OFFSET","msToExpirationTime","ms","expirationTimeToMs","ceiling","precision","computeExpirationBucket","currentTime","expirationInMs","bucketSizeMs","NoContext","AsyncMode","ProfileMode","hasBadMapPolyfill","nonExtensibleObject","preventExtensions","testMap","testSet","debugCounter","FiberNode","mode","memoizedProps","updateQueue","memoizedState","nextEffect","firstEffect","lastEffect","actualDuration","actualStartTime","selfBaseTime","treeBaseTime","createFiber","shouldConstruct","createWorkInProgress","createHostRootFiber","isAsync","createFiberFromElement","fiberTag","createFiberFromFragment","createFiberFromProfiler","getFiberTagFromObjectType","elements","onRender","createFiberFromText","content","createFiberFromHostInstanceForDeletion","createFiberFromPortal","portal","pendingChildren","implementation","assignFiberPropertiesInDEV","createFiberRoot","hydrate","uninitializedFiber","earliestPendingTime","latestPendingTime","earliestSuspendedTime","latestSuspendedTime","latestPingedTime","pendingCommitExpirationTime","finishedWork","pendingContext","nextExpirationTimeToWorkOn","firstBatch","nextScheduledRoot","onCommitFiberRoot","onCommitFiberUnmount","hasLoggedError","catchErrors","injectInternals","internals","__REACT_DEVTOOLS_GLOBAL_HOOK__","hook","isDisabled","supportsFiber","rendererID","inject","onCommitRoot","onCommitUnmount","ReactStrictModeWarnings","discardPendingWarnings","flushPendingDeprecationWarnings","flushPendingUnsafeLifecycleWarnings","recordDeprecationWarnings","recordUnsafeLifecycleWarnings","recordLegacyContextWarning","flushLegacyContextWarning","LIFECYCLE_SUGGESTIONS","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","pendingComponentWillMountWarnings","pendingComponentWillReceivePropsWarnings","pendingComponentWillUpdateWarnings","pendingUnsafeLifecycleWarnings","pendingLegacyContextWarning","didWarnAboutDeprecatedLifecycles","didWarnAboutUnsafeLifecycles","didWarnAboutLegacyContext","setToSortedString","lifecycleWarningsMap","strictRoot","lifecyclesWarningMesages","lifecycle","lifecycleWarnings","componentNames","formatted","suggestion","sortedComponentNames","strictRootComponentStack","findStrictRoot","maybeStrictRoot","uniqueNames","sortedNames","_uniqueNames","_sortedNames","_uniqueNames2","_sortedNames2","componentWillMount","__suppressDeprecationWarning","componentWillReceiveProps","componentWillUpdate","warningsForRoot","unsafeLifecycles","fiberArray","ReactFiberInstrumentation","debugTool","ReactFiberInstrumentation_1","markPendingPriorityLevel","findNextPendingPriorityLevel","markCommittedPriorityLevels","earliestRemainingTime","hasLowerPriorityWork","renderExpirationTime","markSuspendedPriorityLevel","suspendedTime","markPingedPriorityLevel","pingedTime","UpdateState","ReplaceState","ForceUpdate","CaptureUpdate","hasForceUpdate","didWarnUpdateInsideUpdate","currentlyProcessingQueue","resetCurrentlyProcessingQueue","createUpdateQueue","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstCapturedEffect","lastCapturedEffect","cloneUpdateQueue","currentQueue","createUpdate","payload","appendUpdateToQueue","enqueueUpdate","queue1","queue2","enqueueCapturedUpdate","workInProgressQueue","ensureWorkInProgressQueueIsAClone","getStateFromUpdate","_payload","_payload2","processUpdateQueue","newBaseState","newFirstUpdate","newExpirationTime","resultState","updateExpirationTime","_callback","newFirstCapturedUpdate","_updateExpirationTime","_callback2","resetHasForceUpdateBeforeProcessing","checkHasForceUpdateAfterProcessing","commitUpdateQueue","finishedQueue","effect","_callback3","_callback4","createCapturedValue","providerCursor","valueCursor","changedBitsCursor","rendererSigil","pushProvider","providerFiber","popProvider","changedBits","currentValue","getContextCurrentValue","getContextChangedBits","NO_CONTEXT","contextStackCursor$1","contextFiberStackCursor","rootInstanceStackCursor","requiredContext","getRootHostContainer","rootInstance","pushHostContainer","nextRootInstance","nextRootContext","popHostContainer","getHostContext","pushHostContext","nextContext","popHostContext","commitTime","getCommitTime","recordCommitTime","fiberStack$1","timerPausedAt","totalElapsedPauseTime","checkActualRenderTimeStackEmpty","markActualRenderTimeStarted","pauseActualRenderTimerIfRunning","recordElapsedActualRenderTime","resetActualRenderTimer","resumeActualRenderTimerIfPaused","baseStartTime","recordElapsedBaseRenderTimeIfRunning","startBaseRenderTimer","stopBaseRenderTimerIfRunning","shallowEqual","objA","objB","keysA","keysB","fakeInternalInstance","didWarnAboutStateAssignmentForComponent","didWarnAboutUninitializedState","didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate","didWarnAboutLegacyLifecyclesAndDerivedState","didWarnAboutUndefinedDerivedState","warnOnUndefinedDerivedState","warnOnInvalidCallback","didWarnOnInvalidCallback","applyDerivedStateFromProps","getDerivedStateFromProps","classComponentUpdater","recalculateCurrentTime","computeExpirationForFiber","scheduleWork","checkShouldComponentUpdate","oldState","newState","newContext","ctor","shouldComponentUpdate","checkClassInstance","renderPresent","noGetInitialStateOnES6","getInitialState","noGetDefaultPropsOnES6","noInstancePropTypes","noInstanceContextTypes","noComponentShouldUpdate","componentShouldUpdate","noComponentDidUnmount","componentDidUnmount","noComponentDidReceiveProps","componentDidReceiveProps","noComponentWillRecieveProps","componentWillRecieveProps","noUnsafeComponentWillRecieveProps","UNSAFE_componentWillRecieveProps","hasMutatedProps","noInstanceDefaultProps","getSnapshotBeforeUpdate","componentDidUpdate","noInstanceGetDerivedStateFromProps","noInstanceGetDerivedStateFromCatch","getDerivedStateFromCatch","noStaticGetSnapshotBeforeUpdate","_state","adoptClassInstance","constructClassInstance","needsContext","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","_componentName","newApiName","callComponentWillMount","callComponentWillReceiveProps","mountClassInstance","resumeMountClassInstance","oldContext","newUnmaskedContext","hasNewLifecycles","updateClassInstance","getCurrentFiberStackAddendum$2","didWarnAboutStringRefInStrictMode","ownerHasFunctionTypeWarning","warnForMissingKey","isArray$1","coerceRef","returnFiber","mixedRef","stringRef","_stringRef","throwOnInvalidObjectType","newChild","warnOnFunctionType","ChildReconciler","shouldTrackSideEffects","deleteChild","childToDelete","deleteRemainingChildren","currentFirstChild","mapRemainingChildren","existingChildren","existingChild","useFiber","clone","placeChild","newFiber","lastPlacedIndex","newIndex","oldIndex","placeSingleChild","updateTextNode","textContent","created","existing","updateElement","updatePortal","updateFragment","createChild","_created","_created2","_created3","updateSlot","oldFiber","updateFromMap","newIdx","matchedFiber","_matchedFiber","_matchedFiber2","_matchedFiber3","warnOnInvalidKey","knownKeys","reconcileChildrenArray","newChildren","resultingFirstChild","previousNewFiber","nextOldFiber","_newFiber","_newFiber2","reconcileChildrenIterator","newChildrenIterable","_newChildren","_step","_newFiber3","_newFiber4","reconcileSingleTextNode","reconcileSingleElement","_created4","reconcileSinglePortal","reconcileChildFibers","isUnkeyedTopLevelFragment","_isMockFunction","mountChildFibers","cloneChildFibers","currentChild","hydrationParentFiber","nextHydratableInstance","isHydrating","enterHydrationState","deleteHydratableInstance","insertNonHydratedInstance","parentContainer","parentProps","_type","_props","_text","tryHydrate","nextInstance","tryToClaimNextHydratableInstance","firstAttemptedInstance","prepareToHydrateHostInstance","prepareToHydrateHostTextInstance","popToNextHostParent","popHydrationState","resetHydrationState","getCurrentFiberStackAddendum$1","didWarnAboutBadClass","didWarnAboutGetDerivedStateOnFunctionalComponent","didWarnAboutStatelessRefs","reconcileChildren","nextChildren","reconcileChildrenAtExpirationTime","updateForwardRef","currentRef","bailoutOnAlreadyFinishedWork","memoizeProps","updateMode","updateProfiler","markRef","updateFunctionalComponent","updateClassComponent","hasContext","finishClassComponent","didCaptureError","memoizeState","pushHostRootContext","updateHostRoot","prevChildren","updateHostComponent","isHidden","isDirectTextChild","updateHostText","mountIndeterminateComponent","_Component","debugSource","updateTimeoutComponent","prevDidTimeout","alreadyCaptured","nextDidTimeout","updatePortalComponent","propagateContextChange","nextFiber","observedBits","updateContextProvider","providerType","canBailOnProps","providerPropTypes","oldValue","updateContextConsumer","unstable_observedBits","bailoutOnLowPriority","beginWork","markUpdate","markRef$1","appendAllChildren","updateHostContainer","updateHostComponent$1","updateHostText$1","currentHostContext","appendAllChildrenToContainer","containerChildSet","portalOrRoot","childrenUnchanged","newChildSet","currentInstance","recyclableInstance","newInstance","completeWork","fiberRoot","_currentHostContext","wasHydrated","_rootContainerInstance","_currentHostContext2","_wasHydrated","showErrorDialog","capturedError","componentStack","errorToHandle","summary","handleException","logCapturedError","suppressLogging","suppressReactErrorLogging","errorBoundaryName","errorBoundaryFound","willRetry","componentNameMessage","errorBoundaryMessage","combinedMessage","invokeGuardedCallback$3","hasCaughtError$1","clearCaughtError$1","didWarnAboutUndefinedSnapshotBeforeUpdate","boundary","errorInfo","errorBoundary","callComponentWillUnmountWithTimer","safelyCallComponentWillUnmount","unmountError","captureCommitPhaseError","safelyDetachRef","refError","commitBeforeMutationLifeCycles","snapshot","didWarnSet","__reactInternalSnapshotBeforeUpdate","commitLifeCycles","finishedRoot","committedExpirationTime","_updateQueue","_instance2","commitAttachRef","instanceToUse","commitDetachRef","commitUnmount","unmountHostComponents","emptyPortalContainer","commitNestedUnmounts","detachFiber","emptyChildSet","commitContainer","_pendingChildren","getHostParentFiber","isHostParent","getHostSibling","siblings","commitPlacement","parentFiber","isContainer","before","currentParentIsValid","currentParentIsContainer","findParent","commitDeletion","commitWork","commitResetTextContent","createRootErrorUpdate","onUncaughtError","createClassErrorUpdate","componentDidCatch","markLegacyErrorBoundaryAsFailed","schedulePing","recoveryUpdate","throwException","sourceFiber","currentTimeMs","thenable","expirationTimeMs","startTimeMs","elapsedMs","remainingTimeMs","_workInProgress","earliestTimeoutMs","searchForEarliestTimeout","timeoutPropMs","msUntilTimeout","markTimeout","onResolveOrReject","retrySuspendedRoot","_onResolveOrReject","markError","_errorInfo","isAlreadyFailedLegacyErrorBoundary","_update","unwindWork","_effectTag","_effectTag2","unwindInterruptedWork","interruptedWork","invokeGuardedCallback$2","didWarnAboutStateTransition","didWarnSetStateChildContext","warnAboutUpdateOnUnmounted","warnAboutInvalidUpdates","originalStartTimeMs","mostRecentCurrentTime","mostRecentCurrentTimeMs","lastUniqueAsyncExpiration","expirationContext","isWorking","nextRoot","nextRenderExpirationTime","nextLatestTimeoutMs","nextRenderDidError","isCommitting$1","legacyErrorBoundariesThatAlreadyFailed","stashedWorkInProgressProperties","replayUnitOfWork","isReplayingFailedUnitOfWork","originalReplayError","rethrowOriginalError","failedUnitOfWork","thrownValue","isYieldy","workLoop","resetStack","commitAllHostEffects","primaryEffectTag","_current","_current2","commitBeforeMutationLifecycles","commitAllLifeCycles","commitRoot","_didError","_error","_didError2","_error2","onCommitWork","onCommit","resetExpirationTime","renderTime","completeUnitOfWork","siblingFiber","onCompleteWork","_next","performUnitOfWork","onBeginWork","shouldYield","renderRoot","didFatal","onFatal","rootWorkInProgress","_didCompleteRoot","onComplete","_didCompleteRoot2","suspendedExpirationTime","onSuspend","_didCompleteRoot3","onYield","dispatch","rootFiber","_errorInfo2","_update2","computeAsyncExpiration","expirationMs","computeInteractiveExpiration","computeUniqueAsyncExpiration","isBatchingInteractiveUpdates","lowestPendingInteractiveExpirationTime","timeoutMs","retryTime","requestWork","rootExpirationTime","nestedUpdateCount","NESTED_UPDATE_LIMIT","deferredUpdates","previousExpirationContext","syncUpdates","firstScheduledRoot","lastScheduledRoot","callbackExpirationTime","isRendering","nextFlushedRoot","nextFlushedExpirationTime","deadlineDidExpire","hasUnhandledError","unhandledError","isBatchingUpdates","isUnbatchingUpdates","completedBatches","timeHeuristicForUnitOfWork","scheduleCallbackWithExpirationTime","currentMs","performAsyncWork","suspendedRoot","addRootToSchedule","performWorkOnRoot","performSyncWork","remainingExpirationTime","findHighestPriorityRoot","highestPriorityWork","highestPriorityRoot","previousScheduledRoot","previousFlushedRoot","dl","performWork","minExpirationTime","finishRendering","flushRoot","batches","batch","_onComplete","completeRoot","_finishedWork","_expirationTime","_defer","batchedUpdates$1","previousIsBatchingUpdates","unbatchedUpdates","flushSync","interactiveUpdates$1","previousIsBatchingInteractiveUpdates","flushInteractiveUpdates$1","flushControlled","didWarnAboutNestedUpdates","getContextForSubtree","parentComponent","scheduleRootUpdate","updateContainerAtExpirationTime","onMountContainer","onUnmountContainer","onUpdateContainer","findHostInstance$1","hostFiber","createContainer","updateContainer","getPublicRootInstance","containerFiber","findHostInstanceWithNoPortals","injectIntoDevTools","devToolsConfig","findFiberByHostInstance","findHostInstanceByFiber","ReactNativeFiberRenderer","findHostInstance","createPortal","NativeMethodsMixin","maybeInstance","NativeMethodsMixin_DEV","_classCallCheck$1","ReactNativeComponent","_React$Component","getInspectorDataForViewTag","traverseOwnerTreeUp","hierarchy","unshift","getOwnerHierarchy","lastNonHostInstance","getHostProps","host","getHostNode","hostNode","createHierarchy","fiberHierarchy","getInspectorData","viewTag","closestInstance","selection","componentOrHandle","hostInstance","computeComponentStackForErrorReporting","roots","ReactNativeRenderer","NativeComponent","containerTag","unmountComponentAtNode","unmountComponentAtNodeAndRemoveContainer","removeRootView","bundleType","rendererPackageName","ReactNativeRenderer$2","ReactNativeRenderer$3","reactNativeRenderer","polyfillObjectProperty","polyfillGlobal","GLOBAL","_shouldPolyfillCollection","__RCTProfileIsProfiling","installConsoleErrorReporter","__fbDisableExceptionsManager","handleError","isFatal","ee","ReactNativeVersionCheck","checkVersions","regeneratorRuntime","defineLazyTimer","Headers","Request","Response","alert","navigator","registerLazyCallableModule","__fetchSegment","SegmentFetcher","fetchSegment","errorObject","code","registerCallableModule","JSInspector","registerAgent","backupName","_shouldActuallyPolyfillES6Collection","collectionName","Collection","_shouldPolyfillES6Collection","guid","toIterator","KIND_KEY","KIND_VALUE","KIND_KEY_VALUE","KEY_PREFIX","SECRET_SIZE_PROP","OLD_IE_HASH_PREFIX","initMap","getIndex","_mapData","setIndex","MapIterator","boundCallback","mapData","kind","_map","_nextIndex","_kind","createIterResultObject","record","getHash","_objectIndex","prefixedKey","_stringIndex","_otherIndex","shouldDelete","isES5","isExtensible","getIENodeHash","uniqueID","documentElement","hashProperty","hashCounter","random","doc","ownerDocument","defaultView","Node","nodeName","KIND_KEY_VAL","ArrayIterator","_iteratedObject","StringIterator","_iteratedString","initSet","exceptionID","reportException","currentExceptionID","reportFatalException","reportSoftException","symbolicateStackTrace","prettyStack","updateExceptionMessage","catch","_errorOriginal","reactConsoleErrorHandler","reportErrorsAsExceptions","getDevServer","isSourcedFromDisk","sourcePath","devServer","bundleLoadedFromServer","stackCopy","foundInternalSource","file","response","json","_cachedDevServerURL","FALLBACK","whatwg","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isDataView","isPrototypeOf","isArrayBufferView","isView","normalizeName","normalizeValue","iteratorFor","headers","append","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","chars","bufferClone","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","decode","normalizeMethod","upcased","input","credentials","referrer","form","trim","bytes","decodeURIComponent","parseHeaders","rawHeaders","preProcessedHeaders","bodyInit","status","ok","statusText","redirectStatuses","redirect","init","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","setRequestHeader","send","polyfill","ReactNativeVersion","nativeVersion","reactNativeVersion","major","minor","_formatVersion","patch","prerelease","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","isGeneratorFunction","genFun","awrap","__await","AsyncIterator","invoke","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","skipTempReset","charAt","stop","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","EventTarget","RCTNetworking","base64","BlobManager","isAvailable","addNetworkingHandler","UNSENT","OPENED","HEADERS_RECEIVED","LOADING","DONE","SUPPORTED_RESPONSE_TYPES","arraybuffer","REQUEST_EVENTS","XHR_EVENTS","XMLHttpRequestEventTarget","interceptor","_interceptor","readyState","upload","_aborted","_hasError","_method","_response","_url","_timedOut","_trackingName","_incrementalEvents","_reset","responseHeaders","_requestId","_cachedResponse","_headers","_responseType","_lowerCaseResponseHeaders","_clearSubscriptions","requestId","requestSent","progress","total","lengthComputable","loaded","setResponseHeaders","setReadyState","responseReceived","dataReceived","__didReceiveDataProgress","timeOutError","loadingFailed","loadingFinished","sub","headerName","trackingName","incrementalEvents","onreadystatechange","onprogress","__didUploadProgress","__didReceiveResponse","__didReceiveData","__didReceiveIncrementalData","__didCompleteResponse","nativeResponseType","sendRequest","__didCreateRequest","abortRequest","lcaseHeaders","responseType","toByteArray","createFromOptions","Commons","CustomEventTarget","EventWrapper","LISTENERS","CAPTURE","BUBBLE","ATTRIBUTE","newNode","defineCustomEventTarget","createEventWrapper","STOP_IMMEDIATE_PROPAGATION_FLAG","HAS_EVENTTARGET_INTERFACE","capture","wrapped","handleEvent","createUniqueKey","toFixed","getAttributeListener","eventTarget","setAttributeListener","EventTargetBase","descripter","CANCELED_FLAG","ORIGINAL_EVENT","wrapperPrototypeDefinition","stopImmediatePropagation","propertyDefinition","Boolean","detail","MissingNativeEventEmitterShim","RCTNetworkingNative","Networking","convertRequestBody","incrementalUpdates","clearCookies","MissingNativeRCTNetworkingShim","throwMissingNativeModule","nativeModuleName","nativeEventEmitterName","_nativeModuleName","_nativeEventEmitterName","nativeModule","_nativeModule","listeners","removeListeners","binaryToBase64","getParts","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","createFromParts","blobId","_data","BlobRegistry","BlobModule","uuidv4","part","ArrayBufferView","acc","curr","unescape","encodeURI","lastModified","unregister","socketId","addWebSocketHandler","removeWebSocketHandler","sendOverSocket","registry","_parts","contentDisposition","fieldName","WebSocketEvent","WebSocketModule","CONNECTING","OPEN","CLOSING","CLOSED","CLOSE_NORMAL","WEBSOCKET_EVENTS","nextWebSocketId","WebSocket","protocols","unrecognized","origin","_eventEmitter","_socketId","_registerEvents","connect","_close","sendBinary","ping","statusCode","closeReason","_binaryType","ev","_unregisterEvents","binaryType","eventInitDict","File","FileReaderModule","READER_EVENTS","EMPTY","_readyState","_result","readAsDataURL","_setReadyState","encoding","BLOB_URL_PREFIX","BLOB_URI_SCHEME","BLOB_URI_HOST","URL","buttons","AlertAndroid","validButtons","buttonPositive","buttonNegative","buttonNeutral","DialogManagerAndroid","showAlert","buttonKey","buttonClicked","dismissed","onDismiss","RCTAlertManager","AlertManager","callbackOrButtons","prompt","keyboardType","alertWithArgs","cancelButtonKey","destructiveButtonKey","btn","btnDef","RCTLocationObserver","LocationObserver","LocationEventEmitter","updatesEnabled","Geolocation","setRNConfiguration","setConfiguration","requestAuthorization","getCurrentPosition","geo_success","geo_error","geo_options","hasPermission","check","PERMISSIONS","ACCESS_FINE_LOCATION","RESULTS","GRANTED","watchPosition","success","startObserving","watchID","clearWatch","sub1","noWatchers","stopObserving","READ_CALENDAR","WRITE_CALENDAR","CAMERA","READ_CONTACTS","WRITE_CONTACTS","GET_ACCOUNTS","ACCESS_COARSE_LOCATION","RECORD_AUDIO","READ_PHONE_STATE","CALL_PHONE","READ_CALL_LOG","WRITE_CALL_LOG","ADD_VOICEMAIL","USE_SIP","PROCESS_OUTGOING_CALLS","BODY_SENSORS","SEND_SMS","RECEIVE_SMS","READ_SMS","RECEIVE_WAP_PUSH","RECEIVE_MMS","READ_EXTERNAL_STORAGE","WRITE_EXTERNAL_STORAGE","DENIED","NEVER_ASK_AGAIN","permission","checkPermission","rationale","shouldShowRequestPermissionRationale","shouldShowRationale","requestPermission","permissions","requestMultiplePermissions","HeapCapture","captureHeap","nativeCaptureHeap","JSCHeapCapture","captureComplete","SamplingProfiler","poke","token","pokeSamplingProfiler","JSCSamplingProfiler","operationComplete","levelsMap","fatal","warningHandler","RCTLog","logIfNoNativeHook","logToConsole","logFn","setWarningHandler","RCTNativeAppEventEmitter","infoLog","nativeQPLTimestamp","nativePerformanceNow","timespans","extras","cookies","PRINT_TO_CONSOLE","PerformanceLogger","addTimespan","lengthInMs","description","totalTime","startTimespan","startTime","stopTimespan","timespan","endTime","clearCompleted","clearExceptTimespans","previous","currentTimestamp","getTimespans","hasTimespan","logTimespans","addTimespans","newTimespans","labels","setExtra","attemptedValue","getExtras","logExtras","JSDevSupport","JSDevSupportModule","getJSHierarchy","onFailure","ERROR_CODE_VIEW_NOT_FOUND","ERROR_CODE_EXCEPTION","MetroHMRClient","HMRClient","platform","bundleEntry","port","HMRLoadingView","wsHostPort","wsUrl","hmrClient","on","showMessage","RCTRedBox","RedBox","dismiss","RCTExceptionsManager","dismissRedbox","hide","MetroClient","_ws","onclose","onmessage","_data$body","sourceMappingURLs","sourceURLs","injectFunction","nativeInjectHMRUpdate","eval","Events","EE","once","_events","_eventsCount","clearEvent","eventNames","handlers","listenerCount","a5","removeAllListeners","off","prefixed","DevLoadingView","reactDevTools","isAppActive","currentState","connectToDevTools","__REACT_DEVTOOLS_PORT__","resolveRNStyle","RCTAppState","_eventHandlers","change","memoryWarning","initialAppState","eventUpdated","appStateData","app_state","getCurrentAppState","MissingNativeAppStateShim","amd","ReactDevToolsBackend","stacktrace","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","columnNumber","parseOpera9","parseOpera11","parseOpera10","inspected","meta","run","nextTick","browser","argv","versions","prependListener","prependOnceListener","cwd","chdir","umask","websocket","onopen","rnStyle","rnStyleMeasure","addBridge","listen","internalInstancesById","idsByInternalInstances","renderers","elementData","reactInternals","$r","_prevSelected","_scrollUpdate","capabilities","scroll","scrollIntoView","dom","editTextContent","_updateScroll","_onScroll","_onClick","_onMouseOver","_onResize","_setState","_setProps","_setContext","_makeGlobal","highlight","highlightMany","_inspectEnabled","getNodeForID","$node","$type","$inst","$0","selectFromDOMNode","scrollToNode","forget","ELEMENT_NODE","parentElement","scrollIntoViewIfNeeded","getNativeFromReactElement","getIDForNode","quiet","offsetFromLeaf","getId","getReactElementFromNative","setInProps","setInState","setInContext","$tmp","canUpdate","_maxListeners","defaultMaxListeners","setMaxListeners","newListener","warned","_cbs","_inspectables","_cid","_listeners","_buffer","_flushHandle","_callers","_paused","_wall","_handleMessage","scheduleFlush","flushBufferWhileIdle","flushBufferSlice","setInspectable","cleaned","cancelFlush","_inspectResponse","_handleCall","toPrimitive","unscopables","gs","__description__","__name__","keyFor","hasInstance","species","foo","bar","trzy","contains","readOnly","_reactFragment","uninspectable","_committedNodes","_isRecording","_recordingStartTime","_agent","_maxActualDuration","_takeCommitSnapshotForRoot","_onIsRecording","_onMountOrUpdate","_onRootCommitted","_onUnmount","memoizedInteractions","committedNodes","_renderers","helpers","checkDCE","Mount","_renderNewRootComponent","reactBuildType","_fiberRoots","getFiberRoots","handleCommitFiberUnmount","handleCommitFiberRoot","setReactInternals","walkTree","onMounted","addRoot","onUnmounted","onUpdated","rootCommitted","onUpdatedProfileTimes","reactDevtoolsAgent","__internals","cleanup","Reconciler","nativeTagToRootNodeID","ComponentTree","getID","getNode","_rootNodeID","parentNode","renderComponent","mountComponent","updateComponent","unmountComponent","performUpdateIfNecessary","receiveComponent","_instancesByReactRootID","_instancesByContainerID","_currentElement","_nativeNode","_hostNode","isReactTopLevelWrapper","_stringText","overrideProps","ReactTypeOfWork","gte","CoroutineComponent","CoroutineHandlerPhase","FunctionComponent","IncompleteClassComponent","LazyComponent","MemoComponent","SimpleMemoComponent","SuspenseComponent","YieldComponent","ReactSymbols","CONCURRENT_MODE_NUMBER","CONCURRENT_MODE_SYMBOL_STRING","DEPRECATED_ASYNC_MODE_SYMBOL_STRING","CONTEXT_CONSUMER_NUMBER","CONTEXT_CONSUMER_SYMBOL_STRING","CONTEXT_PROVIDER_NUMBER","CONTEXT_PROVIDER_SYMBOL_STRING","FORWARD_REF_NUMBER","FORWARD_REF_SYMBOL_STRING","MEMO_NUMBER","MEMO_SYMBOL_STRING","PROFILER_NUMBER","PROFILER_SYMBOL_STRING","STRICT_MODE_NUMBER","STRICT_MODE_SYMBOL_STRING","SUSPENSE_NUMBER","SUSPENSE_SYMBOL_STRING","DEPRECATED_PLACEHOLDER_SYMBOL_STRING","ReactTypeOfSideEffect","elementType","$","te","_reactResult","ne","oe","ie","ae","se","ue","ce","treeBaseDuration","containsHooks","NODE_DEBUG","SEMVER_SPEC_VERSION","src","loose","build","valid","clean","SemVer","compare","compareMain","comparePre","inc","compareIdentifiers","semver","operator","rcompareIdentifiers","compareLoose","rcompare","rsort","gt","lt","neq","lte","Comparator","parseRange","le","fe","pe","de","intersects","Range","range","toComparators","satisfies","maxSatisfying","minSatisfying","validRange","ltr","gtr","outside","coerce","_isBuffer","AssertionError","actual","expected","stackStartFunction","multiline","ignoreCase","Float32Array","Float64Array","generatedMessage","captureStackTrace","fail","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","deprecate","noDeprecation","throwDeprecation","traceDeprecation","showHidden","_extend","customInspect","debuglog","pid","bold","italic","underline","special","boolean","null","date","getHours","getMinutes","getSeconds","getDate","getMonth","copy","readUInt8","super_","onCall","oldName","newName","attr","measuredLayout","getArgs","setArgs","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","getFileName","getLineNumber","getColumnNumber","hideHighlight","refreshMultiOverlay","startInspecting","stopInspecting","_win","_onSelect","_overlay","_multiOverlay","_subs","_inspecting","onHover","onMouseDown","onClick","_button","removeMultiOverlay","COMMENT_NODE","removeOverlay","refresh","innerHTML","border","outline","onclick","monospace","background","tip","family","sizes","normal","nameSpan","borderRight","dimSpan","getBoundingClientRect","borderTop","borderBottom","borderLeft","innerHeight","innerWidth","getComputedStyle","frameElement","sansSerif","small","_currentNodes","boxSizing","useContext","useState","useReducer","useRef","useLayoutEffect","useEffect","useImperativeHandle","useCallback","useMemo","useDebugValue","stackError","readContext","subHooks","currentDispatcherRef","elementID","hooksTree","__registerInspectorAgent","getTimestamp","__inspectorTimestamp","InspectorAgent","Interceptor","agent","_requests","initialPriority","documentURL","frameId","loaderId","initiator","sendEvent","requestHeaders","mimeType","_getMimeType","connectionReused","connectionId","encodedDataLength","securityState","existingData","dataLength","errorText","contentType","NetworkAgent","maxResourceBufferSize","maxTotalBufferSize","setInterceptor","getData","base64Encoded","DOMAIN","eventSender","_eventSender","twoKey","inputs","_currentlyFocusedID","currentlyFocusedField","textFieldID","dispatchViewManagerCommand","AndroidTextInput","Commands","registerInput","unregisterInput","isTextInput","JSCompiler_inline_result","pluginModule$jscomp$0","eventName$jscomp$0","JSCompiler_temp","JSCompiler_temp$jscomp$0","events$jscomp$0","fiber$jscomp$0","props$jscomp$0","node$jscomp$0","interruptedWork$jscomp$0","workInProgress$jscomp$0","root$jscomp$0","returnFiber$jscomp$0","callbackID$jscomp$0","finishedWork$jscomp$0","current$jscomp$0","effectTag$jscomp$0","current$jscomp$1","instance$jscomp$0","prevProps$jscomp$0","prevState$jscomp$0","instance$jscomp$1","TVNavigationEventEmitter","__nativeTVNavigationEventListener","__nativeTVNavigationEventEmitter","hasTouches","hasChangedTouches","DummyTouchableNativeFeedback","SelectableBackground","SelectableBackgroundBorderless","Ripple","canUseNativeForeground","TimerMixin","createReactClass","ensurePositiveDelayProps","PRESS_RETENTION_OFFSET","activeOpacity","tvParallaxProperties","anim","Value","_getChildStyleOpacityWithDefault","_opacityInactive","setOpacityTo","timing","toValue","easing","inOut","quad","useNativeDriver","_opacityActive","onPressIn","onPressOut","delayPressIn","delayLongPress","delayPressOut","childStyle","AnimatedImplementation","createAnimatedComponent","AnimatedEvent","attachNativeEvent","AnimatedAddition","AnimatedDiffClamp","AnimatedDivision","AnimatedInterpolation","AnimatedModulo","AnimatedMultiplication","AnimatedNode","AnimatedProps","AnimatedSubtraction","AnimatedTracking","AnimatedValue","AnimatedValueXY","DecayAnimation","SpringAnimation","TimingAnimation","subtract","divide","multiply","modulo","modulus","diffClamp","_combineCallbacks","maybeVectorAnim","configX","configY","parallel","stopTogether","spring","animatedValue","configuration","singleValue","singleConfig","stopTracking","track","animate","stopAnimation","resetAnimation","_startNativeLoop","iterations","_isUsingNativeDriver","decay","sequence","animations","finished","animation","doneCount","hasEnded","endResult","delay","time","stagger","loop","isFinished","iterationsSoFar","restart","forkEvent","__addListener","unforkEvent","__removeListener","argMapping","animatedEvent","__isNative","__getHandler","ValueXY","Interpolation","__PropsOnlyForTests","NativeAnimatedHelper","shouldUseNativeDriver","viewRef","eventMappings","traverse","__makeNative","nativeEventPath","animatedValueTag","__getNativeTag","API","addAnimatedEventToView","removeAnimatedEventFromView","_argMapping","_callListeners","_attachedEvent","_validateMapping","recMapping","recEvt","mappingKey","AnimatedWithChildren","NativeAnimatedAPI","_uniqueId","_flush","rootNode","animatedStyles","findAnimatedStyles","__getChildren","animatedStyle","_startingValue","_value","_offset","_animation","_startListeningToNativeValueUpdates","_updateValue","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","startListeningToAnimatedNodeValue","nativeEventEmitter","stopListeningToAnimatedNodeValue","__getValue","__isInteraction","createInteractionHandle","previousAnimation","clearInteractionHandle","_tracking","__detach","tracking","flush","linear","createInterpolation","outputRange","createInterpolationFromStringOutputRange","checkInfiniteRange","inputRange","checkValidInputRange","extrapolateLeft","extrapolate","extrapolateRight","findRange","interpolate","inputMin","inputMax","outputMin","outputMax","colorToRgba","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","isRgbOrRgba","rounded","_parent","_config","_interpolation","parentValue","__addChild","__removeChild","degrees","validateInterpolation","__transformDataType","__createInterpolation","__nativeTag","dropAnimatedNode","assertNativeAnimatedModule","nativeTag","generateNewNodeTag","createAnimatedNode","__getNativeConfig","NativeAnimatedModule","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","connectAnimatedNodes","parentTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","connectAnimatedNodeToView","disconnectAnimatedNodeFromView","eventMapping","animatedNodeTag","STYLES_WHITELIST","TRANSFORM_WHITELIST","SUPPORTED_INTERPOLATION_PARAMS","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","param","validateTransform","configs","validateStyles","generateNewAnimationId","_warnedMissingNativeAnimated","__attach","TaskQueue","_emitter","DEBUG_DELAY","DEBUG","interactionStart","interactionComplete","runAfterInteractions","task","tasks","_scheduleUpdate","_taskQueue","enqueueTasks","cancel","cancelTasks","_inc","_addInteractionSet","_deleteInteractionSet","setDeadline","_deadline","_interactionSet","onMoreTasks","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","hasTasksToProcess","processNext","getEventLoopRunningTime","_onMoreTasks","_queueStack","popable","_getCurrentQueue","tasksToCancel","gen","_genPromise","stackIdx","queueStackSize","_a","_b","_min","_max","_lastValue","_modulus","AnimatedStyle","__getAnimatedValue","_animatedView","__disconnectAnimatedView","__connectAnimatedView","animatedView","nativeViewTag","propsConfig","AnimatedTransform","_style","updatedStyle","_walkStyleAndGetValues","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","transforms","_transforms","transConfigs","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","__getNativeAnimationConfig","valueIn","setOffset","flattenOffset","extractOffset","jointCallback","Animation","_deceleration","deceleration","_velocity","velocity","isInteraction","__iterations","fromValue","onUpdate","onEnd","__active","_fromValue","_onUpdate","__onEnd","_startTime","__startNativeAnimation","_animationFrame","exp","__debouncedOnEnd","__nativeId","SpringConfig","withDefault","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","_delay","stiffness","damping","mass","bounciness","speed","tension","friction","_stiffness","_damping","_mass","springConfig","fromBouncinessAndSpeed","fromOrigamiTensionAndFriction","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","MAX_STEPS","deltaTime","v0","zeta","omega0","omega1","x0","envelope","isOvershooting","isVelocity","isDisplacement","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","startValue","endValue","projectNormal","linearInterpolation","quadraticOutInterpolation","b3Friction1","b3Friction2","b3Friction3","b3Nobounce","bouncyTension","bouncyFriction","_easeInOut","easeInOut","ease","_easing","_duration","frameDuration","frames","dt","bezier","_bezier","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","binarySubdivide","aA","aB","mX1","mX2","currentX","currentT","newtonRaphsonIterate","aGuessT","currentSlope","mY1","mY2","sampleValues","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","BezierEasing","AnimatedComponent","_invokeAnimatedPropsCallbackOnMount","_eventDetachers","_animatedPropsCallback","_component","__skipSetNativeProps_FOR_TESTS_ONLY","_propsAnimated","_setComponentRef","_detachNativeEvents","_attachProps","setNativeView","_attachNativeEvents","scrollableNode","getScrollableNode","oldPropsAnimated","_prevComponent","ImageProps","ImageViewManager","RCTImageView","statics","getSize","failure","prefetch","prefetchImage","ImageSourcePropType","defaultSource","blurRadius","capInsets","resizeMethod","onLoadStart","onProgress","onPartialLoad","onLoad","onLoadEnd","ImageURISourcePropType","bundle","_invariant","MIXINS_KEY","ReactPropTypeLocationNames","ReactComponent","injectedMixins","ReactClassInterface","ReactClassStaticInterface","RESERVED_SPEC_KEYS","mixSpecIntoComponent","validateTypeDef","createMergedResultFunction","mixStaticSpecIntoComponent","autobind","typeDef","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","typeofSpec","isMixinValid","autoBindPairs","isReactClassMethod","shouldAutoBind","createChainedFunction","isReserved","mergeIntoWithNoDuplicateKeys","mergedResult","chainedFunction","IsMountedPreMixin","IsMountedPostMixin","__didWarnIsMounted","ReactClassComponent","initialState","ScrollResponder","ScrollViewStickyHeader","InternalScrollViewType","dismissKeyboard","processDecelerationRate","AndroidScrollView","AndroidHorizontalScrollContentView","AndroidHorizontalScrollView","RCTScrollView","RCTScrollContentView","automaticallyAdjustContentInsets","contentInset","contentOffset","bounces","bouncesZoom","alwaysBounceHorizontal","alwaysBounceVertical","centerContent","contentContainerStyle","decelerationRate","horizontal","indicatorStyle","invertStickyHeaders","directionalLockEnabled","canCancelContentTouches","keyboardDismissMode","keyboardShouldPersistTaps","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","maximumZoomScale","minimumZoomScale","nestedScrollEnabled","onMomentumScrollBegin","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onScrollEndDrag","onContentSizeChange","pagingEnabled","pinchGestureEnabled","scrollEnabled","scrollEventThrottle","scrollIndicatorInsets","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","stickyHeaderIndices","snapToInterval","snapToAlignment","zoomScale","contentInsetAdjustmentBehavior","refreshControl","endFillColor","scrollPerfTag","overScrollMode","DEPRECATED_sendUpdatedChildFrames","scrollBarThumbImage","_scrollAnimatedValue","_scrollAnimatedValueAttachment","_stickyHeaderRefs","_headerLayoutYs","scrollResponderMixinGetInitialState","layoutHeight","_updateAnimatedNodeAttachment","_scrollViewRef","getScrollResponder","getInnerViewNode","_innerViewRef","scrollTo","animated","scrollResponderScrollTo","scrollToEnd","scrollResponderScrollToEnd","scrollWithoutAnimationTo","flashScrollIndicators","scrollResponderFlashScrollIndicators","_getKeyForIndex","_setStickyHeaderRef","_onStickyHeaderLayout","layoutY","layout","indexOfIndex","previousHeaderIndex","previousHeader","setNextHeaderY","_handleScroll","isTouching","scrollResponderHandleScroll","_handleLayout","_handleContentOnLayout","_setScrollViewRef","_setInnerViewRef","ScrollViewClass","ScrollContentContainerViewClass","contentContainerHorizontal","childLayoutProps","contentSizeChangeProps","hasStickyHeaders","contentContainer","baseStyle","baseHorizontal","baseVertical","scrollResponderHandleMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","scrollResponderHandleResponderGrant","onResponderReject","scrollResponderHandleResponderReject","scrollResponderHandleResponderRelease","scrollResponderHandleTerminate","scrollResponderHandleTerminationRequest","scrollResponderHandleScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollShouldSetResponder","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponder","onStartShouldSetResponderCapture","scrollResponderHandleStartShouldSetResponderCapture","onTouchEnd","scrollResponderHandleTouchEnd","onTouchMove","scrollResponderHandleTouchMove","onTouchStart","scrollResponderHandleTouchStart","onTouchCancel","scrollResponderHandleTouchCancel","sendMomentumEvents","TypedScrollView","FrameRateLogger","Subscribable","ScrollViewManager","IS_ANIMATING_TOUCH_START_THRESHOLD_MS","ScrollResponderMixin","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","currentlyFocusedTextInput","scrollResponderIsAnimating","keyboardNeverPersistTaps","onScrollResponderKeyboardDismissed","beginScroll","endScroll","timeSinceLastMomentumScrollEnd","isAnimating","scrollResponderGetScrollableNode","scrollResponderScrollWithoutAnimationTo","offsetX","offsetY","scrollResponderZoomTo","rect","zoomToRect","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","screenY","scrollOffsetY","addListenerOn","scrollResponderKeyboardWillShow","scrollResponderKeyboardWillHide","scrollResponderKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardWillShow","onKeyboardWillHide","onKeyboardDidShow","onKeyboardDidHide","setGlobalOptions","optionsClone","reportStackTraces","setContext","KeyboardObserver","KeyboardEventEmitter","scheduleLayoutAnimation","configureNext","Types","TypesEnum","easeInEaseOut","easeIn","easeOut","keyboard","PropertiesEnum","scaleXY","Properties","animType","springDamping","configType","checkConfig","onAnimationDidEnd","configureNextLayoutAnimation","creationProp","Presets","_subscribableSubscriptions","AnimatedView","measured","nextHeaderLayoutY","_onLayout","inverted","scrollViewHeight","stickStartPoint","collisionPoint","scrollAnimatedValue","PlatformViewPropTypes","AccessibilityComponentTypes","AccessibilityTraits","accessibilityViewIsModal","accessibilityElementsHidden","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","TVViewPropTypes","isTVSelectable","tvParallaxShiftDistanceX","tvParallaxShiftDistanceY","tvParallaxTiltAngle","tvParallaxMagnification","setter","_setter","_clearer","clearer","_timeouts","_clearTimeout","_setTimeout","_intervals","_clearInterval","_setInterval","_immediates","_clearImmediate","_setImmediate","_rafs","_cancelAnimationFrame","_requestAnimationFrame","getName","RCTDatePickerIOS","_picker","_onChange","nativeTimeStamp","onDateChange","propsTimeStamp","initialDate","picker","datePickerIOS","locale","maximumDate","minimumDate","minuteInterval","timeZoneOffsetInMinutes","DefaultProps","MetroListView","numColumns","_listRef","scrollToIndex","scrollToItem","scrollToOffset","recordInteraction","_hasWarnedLegacy","_virtualizedListPairs","_captureRef","_getItem","kk","item","_getItemCount","_keyExtractor","keyExtractor","_renderItem","renderItem","columnWrapperStyle","_checkProps","viewabilityConfigCallbackPairs","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","getItem","getItemCount","legacyImplementation","changed","viewableItems","_pushMultiColumnViewable","_computeState","ds","DataSource","rowHasChanged","itemA","itemB","sectionHeaderHasChanged","getSectionHeaderData","dataBlob","sectionID","sectionHeaderData","_renderFooter","_renderRow","rowID","highlightRow","_renderSectionHeader","section","renderSectionHeader","_renderSeparator","sID","rID","FooterComponent","sections","SeparatorComponent","sectionIn","cloneWithRowsAndSections","cloneWithRows","renderScrollComponent","onRefresh","refreshing","InternalListViewType","ListViewDataSource","RCTScrollViewManager","StaticRenderer","cloneReferencedElement","isEmpty","DEFAULT_PAGE_SIZE","DEFAULT_INITIAL_ROWS","DEFAULT_SCROLL_RENDER_AHEAD","DEFAULT_END_REACHED_THRESHOLD","DEFAULT_SCROLL_CALLBACK_THROTTLE","_childFrames","_sentEndForContentLength","_scrollComponent","_prevRenderedRowsCount","_visibleRows","scrollProperties","dataSource","renderSeparator","renderRow","initialListSize","onEndReached","onEndReachedThreshold","pageSize","renderFooter","renderHeader","scrollRenderAheadDistance","onChangeVisibleRows","stickySectionHeadersEnabled","enableEmptySections","getMetrics","contentLength","totalRows","getRowAndSectionCount","getRowCount","renderedRows","curRenderedRowsCount","visibleRows","highlightedRow","visibleLength","_measureAndUpdateScrollProps","_renderMoreRowsIfNeeded","_onRowHighlighted","bodyComponents","allRowIDs","rowIdentities","rowCount","stickySectionHeaderIndices","footer","totalIndex","sectionIdx","sectionIdentities","rowIDs","rowIdx","comboID","shouldUpdateRow","rowShouldUpdate","getRowData","adjacentRowHighlighted","separator","_setScrollComponentRef","_onContentSizeChange","scrollComponent","calculateChildFrames","_updateVisibleRows","_maybeCallOnEndReached","_getDistanceFromEnd","distanceFromEnd","_pageInNewRows","rowsToRender","updatedFrames","newFrame","isVertical","visibleMin","visibleMax","visibilityChanged","changedRows","visibleSection","rowVisible","layoutMeasurement","contentSize","updatedChildFrames","defaultGetRowData","defaultGetSectionHeaderData","_rowHasChanged","_getRowData","_sectionHeaderHasChanged","_getSectionHeaderData","_dataBlob","_dirtyRows","_dirtySections","_cachedRowCount","rowIds","s1","newSource","countRows","_calculateDirtyArrays","sectionIndex","rowIndex","needsUpdate","accessIndex","prevDataBlob","prevSectionIDs","prevRowIDs","prevSectionsHash","keyedDictionaryFromArray","prevRowsHash","dirty","sIndex","rIndex","cloneRef","originalRef","AndroidSwipeRefreshLayout","RefreshLayoutConsts","Constants","SIZE","NativeRefreshControl","_nativeRef","_lastNativeRefreshing","_onRefresh","Batchinator","FillRateHelper","ViewabilityHelper","computeWindowedRenderLimits","_usedIndexForKey","_keylessItemComponentName","veryLast","_getFrameMetricsApprox","_footerLength","_scrollMetrics","_scrollRef","getItemLayout","onScrollToIndexFailed","viewOffset","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","itemCount","_nestedChildLists","childList","_viewabilityTuples","viewabilityHelper","_updateViewableItems","virtualizedList","getScrollMetrics","_getScrollMetrics","getOutermostParentListRef","_getOutermostParentListRef","getNestedChildState","_getNestedChildState","registerAsNestedChild","_registerAsNestedChild","unregisterAsNestedChild","_unregisterAsNestedChild","virtualizedCell","cellKey","_hasMore","_isNestedWithSameOrientation","existingChildData","childListsInCell","_cellKeysToChildListKeys","_hasInteracted","_onUpdateSeparators","_cellRefs","updateSeparatorProps","_frames","_hasDataChangedSinceEndReached","_hasWarned","_headerLength","_indicesToKeys","_hasDoneInitialScroll","_offsetFromParentVirtualizedList","_prevParentOffset","dOffset","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","progressViewOffset","_onCellUnmount","inLayout","measureLayoutRelativeToContainingList","_selectLength","_scheduleCellsToRenderUpdate","_onLayoutEmpty","_onLayoutFooter","_onLayoutHeader","initialScrollIndex","_convertParentScrollMetrics","metrics","_selectOffset","perf","prevDt","_fillRateHelper","activate","_computeBlankness","_onScrollBeginDrag","tuple","_onScrollEndDrag","_onMomentumScrollEnd","_updateCellsToRender","isVirtualizationDisabled","_isVirtualizationDisabled","renderAhead","maxToRenderPerBatch","newFirst","newLast","cellKeyForIndex","childListKeys","someChildHasMore","hasMore","_createViewToken","isViewable","_getFrameMetrics","frameType","windowSize","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialNumToRender","storedState","listKey","_getCellKey","abort","deactivateAndFlush","stickyIndicesFromProps","inversionStyle","CellRendererComponent","ItemSeparatorComponent","stickyOffset","ListHeaderComponent","prevCellKey","_onCellLayout","disableVirtualization","nestedContext","flatStyles","ListEmptyComponent","ListFooterComponent","horizontallyInverted","verticallyInverted","spacerKey","lastInitialIndex","_pushCells","firstAfterInitial","insertedStickySpacer","initBlock","stickyBlock","leadSpace","trailSpace","firstSpace","lastFrame","endFrame","tailSpacerLength","scrollProps","_renderDebugOverlay","extraData","resetViewableIndices","computeBlankness","scrollMetrics","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","hiPri","scrollingThreshold","distTop","distBottom","schedule","CellRenderer","separatorProps","highlighted","leadingItem","_separators","onUpdateSeparators","unhighlight","updateProps","onUnmount","fillRateHelper","itemSeparator","cellStyle","VirtualizedCellWrapper","_taskHandle","timeoutHandle","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","sampleRate","minSampleCount","getFrameMetrics","_anyBlankStartTime","_info","_mostlyBlankStartTime","_samplesStartTime","_resetData","derived","avg_blankness","avg_speed","avg_speed_when_any_blank","any_blank_per_min","any_blank_time_frac","mostly_blank_per_min","mostly_blank_time_frac","scrollSpeed","blankTop","firstFrame","blankBottom","bottomEdge","blankness","viewAreaCoveragePercentThreshold","_timers","_viewableIndices","_viewableItems","scrollOffset","viewportHeight","renderRange","itemVisiblePercentThreshold","viewAreaMode","viewablePercentThreshold","viewableIndices","firstVisible","_isViewable","createViewToken","waitForInteraction","computeViewableItems","minimumViewTime","_onUpdateSync","viewableIndicesToCheck","prevItems","nextItems","viewable","itemLength","_isEntirelyVisible","pixels","_getPixelsVisible","percent","visibleHeight","elementsThatOverlapOffsets","offsets","outLength","trailingOffset","newRangeCount","getFrameMetricsApprox","visibleBegin","visibleEnd","overscanLength","leadFactor","fillPreference","overscanBegin","overscanEnd","lastItemOffset","overscanFirst","overscanLast","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","VirtualizeUtils","ensureComponentIsNative","_viewRef","imageStyle","imageRef","RCTImageEditingManager","ImageEditingManager","cropData","cropImage","RCTImageStoreManager","ImageStoreManager","hasImageForTag","removeImageForTag","base64ImageData","addImageFromBase64","getBase64ForTag","RCTInputAccessoryView","_frame","_onKeyboardChange","_relativeKeyboardHeight","keyboardFrame","keyboardY","keyboardVerticalOffset","behavior","bottomHeight","heightStyle","RCTMaskedView","_hasWarnedInvalidRenderMask","maskElement","otherViewProps","AppContainer","RCTModalHostView","ModalEventEmitter","ModalManager","uniqueModalIdentifier","_confirmProps","_identifier","_eventSubscription","modalID","containerStyles","animationType","presentationStyle","innerChildren","rootTag","hardwareAccelerated","onRequestClose","onShow","modal","_shouldSetResponder","supportedOrientations","onOrientationChange","side","isRTL","inspector","mainKey","_subscription","Inspector","_mainRef","updateInspectedViewTag","yellowBox","innerView","appContainer","WrapperComponent","install","InspectorOverlay","InspectorPanel","findRenderers","allRenderers","touchedViewTag","inspectorData","attachToDevtools","_hideWait","hlSub","hideSub","devtoolsAgent","panelPos","inspecting","perfing","inspectedViewTag","networking","hierarchyItem","pointerY","onRequestRerenderApp","panelContainerStyle","onTouchViewTag","panelContainer","setPerfing","setInspecting","setSelection","setTouchTargeting","setNetworking","ElementBox","findViewForTouchEvent","findSubviewIn","shouldSetResponser","BorderBox","resolveBoxStyle","frameStyle","contentStyle","box","subs","capFirst","ElementProperties","NetworkOverlay","PerformanceOverlay","waitingText","contents","properties","waiting","renderWaiting","devtoolsIsOpen","buttonRow","touchTargeting","pressed","buttonPressed","buttonText","BoxInspector","StyleInspector","mapWithSeparator","openFileInEditor","openFileButton","fileNameShort","openButton","openButtonTitle","breadcrumb","breadItem","selected","breadItemText","breadSep","col","blank","marginLabel","innerText","BoxContainer","titleStyle","boxText","noStyle","DEFAULT_PROPS","underlayColor","onShowUnderlay","onHideUnderlay","testOnly_pressed","_isMounted","extraChildStyle","extraUnderlayStyle","_hideTimeout","_showUnderlay","_hideUnderlay","_hasPressHandler","itemRenderer","spacerRenderer","mapped","WebSocketInterceptor","XHRInterceptor","LISTVIEW_CELL_HEIGHT","SEPARATOR_THICKNESS","nextXHRId","_detailViewItems","_listViewDataSource","r1","r2","newDetailInfo","detailRowID","_listViewHighlighted","_listViewHeight","_captureRequestListView","_captureDetailScrollView","_listViewOnLayout","_closeButtonClicked","_socketIdMap","_xhrIdMap","isInterceptorEnabled","setOpenCallback","_index","xhrIndex","_xhr","_genDetailViewItem","_scrollToBottom","setRequestHeaderCallback","_getRequestIndexByXHRID","networkInfo","setSendCallback","dataSent","setHeaderReceivedCallback","responseContentType","responseSize","setResponseCallback","enableInterception","setConnectCallback","socketIndex","_webSocket","setCloseCallback","messages","setOnMessageCallback","setOnCloseCallback","serverClose","setOnErrorCallback","serverError","_enableXHRInterception","_enableWebSocketInterception","disableInterception","rowData","urlCellViewStyle","urlEvenCellView","methodCellViewStyle","methodEvenCellView","urlOddCellView","methodOddCellView","_pressRow","tableRow","cellText","_getTypeShortName","_listView","scrollResponder","scrollY","listRef","_scrollToTop","_scrollView","scrollRef","detailViewItem","requestItem","detailViewRow","detailViewText","detailKeyCellView","detailValueCellView","_getStringByValue","closeButton","clostButtonText","detailScrollView","listViewTitle","urlTitleCellView","methodTitleCellView","listView","_renderSeperator","RCTWebSocketModule","originalRCTWebSocketConnect","originalRCTWebSocketSend","originalRCTWebSocketSendBinary","originalRCTWebSocketClose","closeCallback","sendCallback","connectCallback","onOpenCallback","onMessageCallback","onErrorCallback","onCloseCallback","setOnOpenCallback","_arrayBufferToString","originalXHROpen","originalXHRSend","originalXHRSetRequestHeader","openCallback","requestHeaderCallback","headerReceivedCallback","responseCallback","contentTypeString","getResponseHeader","contentLengthString","perfLogs","YellowBoxList","YellowBoxRegistry","_handleDismiss","category","_handleDismissAll","observe","unsubscribe","patterns","addIgnorePatterns","registerWarning","disableYellowBox","setDisabled","YellowBoxButton","YellowBoxInspector","YellowBoxListRow","YellowBoxStyle","VIEWPORT_RATIO","MAX_ITEMS","GUTTER","HEIGHT","selectedCategory","_handleInspectorDismiss","_handleInspectorMinimize","_handleRowPress","selectedWarnings","warnings","listStyle","dismissAll","onDismissAll","safeArea","getBackgroundColor","RCTSafeAreaView","YellowBoxPressable","getTextColor","_handlePressIn","_handlePressOut","getHighlightColor","getDividerColor","YellowBoxCategory","YellowBoxInspectorFooter","YellowBoxInspectorHeader","YellowBoxInspectorSourceMapStatus","YellowBoxInspectorStackFrame","selectedIndex","_handleSelectIndex","bodyContent","bodyHeading","bodyHeadingText","bodyText","substitutionText","bodySection","symbolicated","getAvailableStack","onMinimize","_handleSymbolication","_cancelSymbolication","_symbolication","symbolicate","UTFSequence","SUBSTITUTION","BOM","categoryParts","contentParts","substitutionOffsets","formatString","formatStringParts","substitutionCount","substitutions","categoryString","contentString","substitutionIndex","formatStringPart","substitution","remainingArgs","substitutionStyle","lastOffset","prevOffset","prevPart","substititionPart","lastPart","BULLET","BULLET_SP","MIDDOT","MIDDOT_SP","MIDDOT_KATAKANA","MDASH","MDASH_SP","NDASH","NDASH_SP","NBSP","PIZZA","TRIANGLE_LEFT","TRIANGLE_RIGHT","prevIndex","titleText","onSelectIndex","headerTitle","headerTitleText","YellowBoxInspectorHeaderButton","headerButton","headerButtonText","YellowBoxImageSource","image","alertTriangle","loader","pending","_updateAnimation","frameName","frameLocation","getFrameLocation","column","queryIndex","query","YellowBoxWarning","_handlePress","prevWarning","metaText","YellowBoxSymbolication","createStack","aborted","updateStatus","getCacheKey","sanitize","maybeStack","maybeFrame","observers","ignorePatterns","projection","updateTimeout","isWarningIgnored","handleUpdate","filtered","observer","newPatterns","doLeftAndRightSwapInRTL","allowRTL","forceRTL","swapLeftAndRightInRTL","RCTNavigatorManager","NavigatorManager","StaticContainer","TRANSITIONER_REF","__uid","getuid","NavigatorTransitionerIOS","requestSchedulingJavaScriptNavigation","SystemIconLabels","edit","save","reply","organize","bookmarks","camera","trash","play","pause","rewind","undo","redo","SystemIcons","initialRoute","titleImage","passProps","backButtonIcon","backButtonTitle","leftButtonIcon","leftButtonTitle","leftButtonSystemIcon","onLeftButtonPress","rightButtonIcon","rightButtonTitle","rightButtonSystemIcon","onRightButtonPress","wrapperStyle","navigationBarHidden","shadowHidden","barTintColor","barStyle","titleTextColor","translucent","itemWrapperStyle","interactivePopGestureEnabled","popN","replaceAtIndex","replacePrevious","replacePreviousAndPop","resetTo","popToRoute","popToTop","_enableTVEventHandler","_disableTVEventHandler","idStack","routeStack","requestedTopOfStack","observedTopOfStack","toIndex","makingNavigatorRequest","updatingAllIndicesAtOrBeyond","_toFocusOnNavigationComplete","_handleFocusRequest","_getFocusEmitter","_focusEmitter","focusEmitter","onFocusRequested","_tryLockNavigator","requestSchedulingNavigation","acquiredLock","_handleNavigatorStackChanged","newObservedTopOfStack","stackLength","wasWaitingForConfirmation","_eliminateUnneededChildren","route","nextStack","nextIDStack","newRequestedTopOfStack","nextRouteStack","indexOfRoute","numToPop","_handleNavigationComplete","_routeToStackItem","routeArg","shouldUpdateChild","stackItem","_renderNavigationStackItems","shouldRecurseToNavigator","transitioner","vertical","RCTNavigator","RCTNavigatorItem","PickerAndroid","itemStylePropType","pickerStyleType","MODE_DIALOG","MODE_DROPDOWN","PickerItem","Item","selectedValue","onValueChange","itemStyle","RCTPickerIOS","PickerIOSItem","pickerIOS","textColor","RCTProgressView","progressViewStyle","progressTintColor","trackTintColor","progressImage","trackImage","progressView","VirtualizedSectionList","_wrapperListRef","scrollToLocation","getListRef","List","itemIndex","toIndexParams","_subExtractor","_convertViewable","_onViewableItemsChanged","infoIndex","renderSectionFooter","_getSeparatorComponent","SectionSeparatorComponent","leadingSection","_onUpdateSeparator","trailingItem","trailingSection","childProps","defaultKeyExtractor","isLastItemInList","isLastItemInSection","ItemWithSeparator","leadingSeparatorProps","LeadingSeparatorComponent","onUpdateSeparator","leadingSeparator","itemIdx","RCTSegmentedControl","SEGMENTED_CONTROL_REFERENCE","momentary","segmentedControl","RCTSlider","slider","userEvent","fromUser","onSlidingComplete","SliderWithRef","minimumValue","maximumValue","TestModule","RCTSnapshot","onDefaultAction","verifySnapshot","markTestPassed","testIdentifier","onSnapshotReady","RCTSwitch","_rctSwitch","platformProps","onTintColor","rctSwitchIOS","StatusBarManager","mergePropsStack","propsStack","defaultValues","createStackEntry","hidden","transition","showHideTransition","networkActivityIndicatorVisible","_stackEntry","_updatePropsStack","_updateImmediate","_currentValues","mergedProps","_propsStack","_defaultProps","setStyle","setHidden","setNetworkActivityIndicatorVisible","setColor","setTranslucent","currentHeight","SwipeableRow","_flatListRef","_shouldBounceFirstRowOnMount","openRowKey","slideoutView","renderQuickActions","shouldBounceOnMount","_getMaxSwipeDistance","_onOpen","_onClose","_setListViewScrollable","_setListViewNotScrollable","_setListViewScrollableTo","bounceFirstRowOnMount","maxSwipeDistance","IS_RTL","CLOSED_LEFT_POSITION","HORIZONTAL_SWIPE_DISTANCE_THRESHOLD","HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD","SLOW_SPEED_SWIPE_FACTOR","SWIPE_DURATION","ON_MOUNT_BOUNCE_DELAY","ON_MOUNT_BOUNCE_DURATION","RIGHT_SWIPE_BOUNCE_BACK_DISTANCE","RIGHT_SWIPE_BOUNCE_BACK_DURATION","RIGHT_SWIPE_THRESHOLD","_panResponder","_previousLeft","isOpen","preventSwipeRight","onOpen","onSwipeEnd","onSwipeStart","swipeThreshold","currentLeft","isSwipeableViewRendered","rowHeight","onMoveShouldSetPanResponderCapture","_handleMoveShouldSetPanResponderCapture","onPanResponderGrant","_handlePanResponderGrant","onPanResponderMove","_handlePanResponderMove","onPanResponderRelease","_handlePanResponderEnd","onPanResponderTerminationRequest","_onPanResponderTerminationRequest","onPanResponderTerminate","onShouldBlockNativeResponder","gestureState","_animateBounceBack","_animateToClosedPosition","slideOutView","slideOutContainer","swipeableView","_onSwipeableViewLayout","panHandlers","dy","_isValidSwipe","_isSwipingExcessivelyRightFromClosedPosition","_isSwipingRightFromClosed","_swipeSlowSpeed","_swipeFullSpeed","gestureStateDx","dx","_animateTo","_animateToOpenPosition","_animateToOpenPositionWith","distMoved","_animateToClosedPositionDuringBounce","swipeBounceBackDistance","_shouldAnimateRemainder","horizontalDistance","TypedSwipeableRow","TouchHistoryMath","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","_initializeGestureState","moveX","moveY","y0","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","interactionState","stateID","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onPanResponderReject","onResponderStart","onPanResponderStart","onResponderEnd","onPanResponderEnd","getInteractionHandle","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","touchTrack","toAdd","noCentroid","SwipeableListViewDataSource","row1","row2","s2","_listViewRef","getOpenRowID","setOpenRowID","getFirstRowID","getDataSource","_dataSource","_previousOpenRowID","_openRowID","lastSection","TabBarItemIOS","RCTTabBar","tabGroup","unselectedTintColor","unselectedItemTintColor","itemPositioning","hasBeenSelected","tabContents","tab","badge","badgeColor","systemIcon","icon","selectedIcon","renderAsOriginal","RCTTabBarItem","DocumentSelectionState","RCTMultilineTextInputView","RCTSinglelineTextInputView","onlyMultiline","onTextInput","DataDetectorTypes","State","autoCapitalize","autoCorrect","spellCheck","autoFocus","editable","keyboardAppearance","returnKeyType","returnKeyLabel","maxLength","disableFullscreenUI","enablesReturnKeyAutomatically","onBlur","onFocus","onChangeText","onEndEditing","onSelectionChange","onSubmitEditing","onKeyPress","placeholder","placeholderTextColor","secureTextEntry","selectionState","clearButtonMode","clearTextOnFocus","selectTextOnFocus","blurOnSubmit","underlineColorAndroid","inlineImageLeft","inlineImagePadding","dataDetectorTypes","caretHidden","contextMenuHidden","inputAccessoryViewID","textContentType","isFocused","_inputRef","_focusSubscription","_lastNativeText","_lastNativeSelection","el","textInput","_renderIOS","_renderIOSLegacy","_renderAndroid","_getText","_setNativeRef","textContainer","_onFocus","_onBlur","_onSelectionChange","childCount","inputView","multilineInput","_onTextInput","_onPress","RCTTextInputView","AutoCapitalizationType","mostRecentEventCount","eventCount","InternalTextInputType","TypedTextInput","mixInEventEmitter","anchor","_anchorOffset","_focusOffset","_hasFocus","hasFocus","getStartOffset","getEndOffset","EventEmitterWithHolding","EventHolder","keyOf","TYPES_KEY","__types","__eventEmitter","EventEmitterMixin","__getEventEmitter","emitAndHold","addRetroactiveListener","addListenerMap","listenerMap","addRetroactiveListenerMap","releaseHeldEventType","EventValidator","addValidation","holder","_eventHolder","_currentEventToken","_emittingHeldEvents","emitToListener","holdEvent","releaseEvent","releaseCurrentEvent","releaseEventType","_heldEvents","_currentEventKey","eventsOfType","origEventKey","eventHeld","oneKeyObj","emitterWithValidation","assertAllowsEventType","allowedTypes","errorMessageFor","recommendationFor","closestTypeRecommendation","closestTypeFor","isCloseEnough","typeRecommendations","typeRecommendationFor","recommendationSort","recommendedType","distance","damerauLevenshteinDistance","recommendationA","recommendationB","closestType","actualType","cost","show","WebViewShared","RCTWebViewManager","WebViewManager","BGWASH","RCT_WEBVIEW_REF","WebViewState","IDLE","NavigationType","click","formsubmit","backforward","reload","formresubmit","JSNavigationScheme","defaultRenderLoading","loadingView","defaultRenderError","errorDomain","errorCode","errorDesc","errorContainer","errorTextTitle","viewState","lastErrorEvent","startInLoadingState","goForward","getWebViewHandle","RCTWebView","goBack","stopLoading","postMessage","injectJavaScript","_updateNavigationState","onNavigationStateChange","_onLoadingStart","_onLoadingError","_onLoadingFinish","_onMessage","onMessage","otherView","renderLoading","errorEvent","renderError","domain","loading","webViewStyles","webView","nativeConfig","compiledWhitelist","originWhitelist","originWhitelistToRegex","onShouldStartLoadWithRequest","shouldStart","extractOrigin","passesWhitelist","openURL","startLoadWithResult","lockIdentifier","html","messagingEnabled","NativeWebView","injectedJavaScript","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","baseUrl","javaScriptEnabled","thirdPartyCookiesEnabled","domStorageEnabled","userAgent","mixedContentMode","defaultOriginWhitelist","LinkingManager","IntentAndroid","_validateURL","canOpenURL","getInitialURL","escapeStringRegexp","matchOperatorsRe","RCTActionSheetManager","ActionSheetManager","showActionSheetWithOptions","showShareActionSheetWithOptions","failureCallback","successCallback","BugReporting","SceneTracker","renderApplication","runnables","runCount","componentProviderInstrumentationHook","wrapperComponentProvider","setWrapperComponentProvider","provider","registerConfig","appConfig","registerRunnable","appKey","componentProvider","appParameters","initialProps","fabric","registerSection","getAppKeys","getSectionKeys","getSections","getRunnable","getRegistry","setComponentProviderInstrumentationHook","runApplication","addSource","setActiveScene","unmountApplicationComponentAtRootTag","registerHeadlessTask","taskKey","startHeadlessTask","taskId","taskProvider","HeadlessJsTaskSupport","notifyTaskFinished","defaultExtras","addFileSource","collectExtraData","_redboxSubscription","_addSource","_extraSources","_fileSources","_maybeInit","fileData","BugReportingNativeModule","setExtraData","RedBoxNativeModule","files","dumpReactTree","getReactTree","_activeScene","scene","getActiveScene","addActiveSceneChangedListener","RootComponent","renderable","unstable_isAsyncReactComponent","_backPressSubscriptions","invokeDefault","exitApp","ReactFabric","FabricUIManager","getInstanceFromInstance","instanceHandle","currentProps","ReactFabricComponentTree","ReactFabricGlobalResponderHandler","targetFiber","appendChild$1","commitMount","registerEventHandler","ReactFabricHostComponent","createNode","keepChildren","cloneNodeWithNewProps","cloneNode","cloneNodeWithNewChildrenAndProps","cloneNodeWithNewChildren","createChildSet","childSet","appendChildToSet","completeRoot$1","ReactFabricRenderer","ReactFabric$2","ReactFabric$3","nativeFabricUIManager","Injected$jscomp$inline_574","instance$jscomp$2","RCTAsyncStorage","AsyncRocksDBStorage","AsyncSQLiteDBStorage","AsyncLocalStorage","_getRequests","_getKeys","_immediate","multiGet","errs","convertErrors","setItem","multiSet","removeItem","multiRemove","mergeItem","multiMerge","convertError","flushGetRequests","getRequests","getKeys","reqLength","requestKeys","requestResult","getRequest","keyIndex","promiseResult","keyValuePairs","RCTCameraRollManager","CameraRollManager","GROUP_TYPES_OPTIONS","Album","All","Event","Faces","Library","PhotoStream","SavedPhotos","ASSET_TYPE_OPTIONS","Videos","Photos","getPhotosParamChecker","after","groupTypes","groupName","assetType","mimeTypes","getPhotosReturnChecker","edges","group_name","isStored","playableDuration","latitude","longitude","altitude","heading","page_info","has_next_page","start_cursor","end_cursor","saveToCameraRoll","photos","deletePhotos","mediaType","errorCallback","getPhotos","GroupTypesOptions","AssetTypeOptions","getString","setString","RCTImagePicker","canRecordVideos","canUseCamera","openCameraDialog","cancelCallback","videoMode","openSelectDialog","showImages","showVideos","RCTNetInfo","NetInfoEventEmitter","DEVICE_CONNECTIVITY_EVENT","_isConnectedDeprecated","reachability","connectionType","_isConnected","connection","_isConnectedSubscriptions","effectiveType","effectiveConnectionType","network_info","getCurrentConnectivity","resp","getConnectionInfo","isConnected","isConnectionExpensive","isConnectionMetered","RCTPushNotificationManager","PushNotificationManager","PushNotificationEmitter","_notifHandlers","DEVICE_NOTIF_EVENT","NOTIF_REGISTER_EVENT","NOTIF_REGISTRATION_ERROR_EVENT","DEVICE_LOCAL_NOTIF_EVENT","details","presentLocalNotification","scheduleLocalNotification","cancelAllLocalNotifications","removeAllDeliveredNotifications","getDeliveredNotifications","removeDeliveredNotifications","setApplicationIconBadgeNumber","getApplicationIconBadgeNumber","userInfo","cancelLocalNotifications","getScheduledLocalNotifications","notifData","registrationInfo","deviceToken","requestedPermissions","sound","requestPermissions","abandonPermissions","checkPermissions","getInitialNotification","notification","nativeNotif","_remoteNotificationCompleteCallbackCalled","_isRemote","remote","_notificationId","notificationId","notifVal","notifKey","_alert","_sound","_badgeCount","_category","_contentAvailable","_threadID","applicationIconBadgeNumber","soundName","alertBody","fetchResult","onFinishRemoteNotification","FetchResult","NewData","NoData","ResultFailed","RCTSettingsManager","SettingsManager","_settings","settings","setValues","watchKeys","sid","watchId","_sendObservations","ShareModule","share","dialogTitle","activityType","RCTVibration","_vibrating","_id","vibrateByPattern","vibrate","vibrateScheduler","secondToTime","normalizeSeconds","sec_num","hours","minutes","seconds","seek","tolerance","fullscreen","dismissFullscreenPlayer","VideoManager","_root","_assignRoot","_onLoadStart","_onLoad","_onError","_onProgress","_onBandwidthUpdate","onBandwidthUpdate","_onSeek","showPoster","audioOnly","onSeek","_onEnd","_onTimedMetadata","onTimedMetadata","_onFullscreenPlayerWillPresent","onFullscreenPlayerWillPresent","_onFullscreenPlayerDidPresent","onFullscreenPlayerDidPresent","_onFullscreenPlayerWillDismiss","onFullscreenPlayerWillDismiss","_onFullscreenPlayerDidDismiss","onFullscreenPlayerDidDismiss","_onReadyForDisplay","onReadyForDisplay","_onPlaybackStalled","onPlaybackStalled","_onPlaybackResume","onPlaybackResume","_onPlaybackRateChange","playbackRate","onPlaybackRateChange","_onExternalPlaybackChange","onExternalPlaybackChange","_onAudioBecomingNoisy","onAudioBecomingNoisy","_onAudioFocusChanged","onAudioFocusChanged","_onBuffer","onBuffer","strObj","toTypeString","isNetwork","isAsset","nativeResizeMode","VideoResizeMode","RCTVideo","ScaleToFill","ScaleAspectFit","ScaleAspectFill","ScaleNone","mainVer","patchVer","stringsOnlyObject","onVideoLoadStart","onVideoLoad","onVideoError","onVideoProgress","onVideoSeek","onVideoEnd","onVideoBuffer","onVideoBandwidthUpdate","onVideoAudioBecomingNoisy","onVideoExternalPlaybackChange","onVideoFullscreenPlayerWillPresent","onVideoFullscreenPlayerDidPresent","onVideoFullscreenPlayerWillDismiss","onVideoFullscreenPlayerDidDismiss","posterStyle","posterResizeMode","poster","Video","FilterType","NONE","INVERT","MONOCHROME","POSTERIZE","MAXIMUMCOMPONENT","MINIMUMCOMPONENT","CHROME","FADE","INSTANT","MONO","NOIR","PROCESS","TONAL","TRANSFER","SEPIA","filterEnabled","maxBitRate","allowsExternalPlayback","selectedAudioTrack","selectedVideoTrack","selectedTextTrack","textTracks","TextTrackType","SRT","TTML","VTT","language","paused","muted","volume","bufferConfig","minBufferMs","maxBufferMs","bufferForPlaybackMs","bufferForPlaybackAfterRebufferMs","stereoPan","rate","playInBackground","playWhenInactive","ignoreSilentSwitch","reportBandwidth","disableFocus","controls","fullscreenAutorotate","fullscreenOrientation","progressUpdateInterval","useTextureView","hideShutterView","nativeOnly"],"mappings":"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","sourceRoot":"","file":"index.ios.bundle"} \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.vscode/launch.json b/examples/embed-and-fullscreen/.vscode/launch.json new file mode 100644 index 00000000..c45152d1 --- /dev/null +++ b/examples/embed-and-fullscreen/.vscode/launch.json @@ -0,0 +1,79 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Android Simulator", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "android", + "sourceMaps": true, + "trace": "log", + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug Android Device", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "android", + "target": "device", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug iPhone 6", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "ios", + "sourceMaps": true, + "trace": "log", + "target": "iPhone 6", + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug iPhone X", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "ios", + "sourceMaps": true, + "trace": "log", + "target": "iPhone X", + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug iPad Air", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "ios", + "sourceMaps": true, + "trace": "log", + "target": "iPad Air", + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug iOS Device", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "ios", + "target": "device", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Attach to packager", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "attach", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + } + ] +} \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.vscode/settings.json b/examples/embed-and-fullscreen/.vscode/settings.json new file mode 100644 index 00000000..0e5681cb --- /dev/null +++ b/examples/embed-and-fullscreen/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "editor.insertSpaces": true, + "editor.tabSize": 2, + "java.configuration.updateBuildConfiguration": "disabled" +} \ No newline at end of file diff --git a/examples/embed-and-fullscreen/.watchmanconfig b/examples/embed-and-fullscreen/.watchmanconfig new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/examples/embed-and-fullscreen/.watchmanconfig @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/examples/embed-and-fullscreen/Utils.js b/examples/embed-and-fullscreen/Utils.js new file mode 100644 index 00000000..248c5dd1 --- /dev/null +++ b/examples/embed-and-fullscreen/Utils.js @@ -0,0 +1,31 @@ +import { Dimensions } from "react-native"; + +export default function Util() {} + +Util.isPortrait = () => { + const dim = Dimensions.get("screen"); + return dim.height >= dim.width; +}; + +/** + * Return a timer for video from< time in seconds + * ~~ is used as faster substitute for Math.floor() function + * https://stackoverflow.com/questions/5971645/what-is-the-double-tilde-operator-in-javascript + * @param time + * @returns {string} + */ +Util.secondToTime = (time) => { + return ~~(time / 60) + ":" + (time % 60 < 10 ? "0" : "") + time % 60; +}; + +Util.normalizeSeconds = (number) => { + let sec_num = parseInt(number, 10); // don't forget the second param + let hours = Math.floor(sec_num / 3600); + let minutes = Math.floor((sec_num - (hours * 3600)) / 60); + let seconds = sec_num - (hours * 3600) - (minutes * 60); + + if (hours < 10) {hours = "0"+hours;} + if (minutes < 10) {minutes = "0"+minutes;} + if (seconds < 10) {seconds = "0"+seconds;} + return hours+':'+minutes+':'+seconds; +}; \ No newline at end of file diff --git a/examples/embed-and-fullscreen/broadchurch.mp4 b/examples/embed-and-fullscreen/broadchurch.mp4 new file mode 100644 index 00000000..7a7a4949 Binary files /dev/null and b/examples/embed-and-fullscreen/broadchurch.mp4 differ diff --git a/examples/embed-and-fullscreen/index.ios.js b/examples/embed-and-fullscreen/index.ios.js new file mode 100644 index 00000000..ba2f1ceb --- /dev/null +++ b/examples/embed-and-fullscreen/index.ios.js @@ -0,0 +1,81 @@ +'use strict'; +import React, { + Component +} from 'react'; + +import { + AppRegistry, + StyleSheet, + View, + Dimensions, + Text, + Button +} from 'react-native'; + +import Util from './Utils' + +import Video from 'react-native-video'; + +export default class VideoPlayer extends Component { + constructor(props) { + super(props); + this.onLayout = this.onLayout.bind(this); + } + + componentWillMount() { + this.resizeVideoPlayer(); + } + + render() { + return + Here's some pre-Text + + } + + onPress() { + if (this.videoPlayer!=null) + this.videoPlayer.presentFullscreenPlayer(); + } + + resizeVideoPlayer() { + // Always in 16 /9 aspect ratio + let {width, height} = Dimensions.get('window'); + + if (Util.isPortrait()) { + this.setState({ + orientationWidth: width * 0.8, + orientationHeight: width * 0.8 * 0.56, + }); + } else { + this.setState({ + orientationHeight: height * 0.8, + orientationWidth: height * 0.8 * 1.77 + }); + } + } + + onLayout(e) { + console.log('on layout called'); + this.resizeVideoPlayer(); + } +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'white', + }, +}); + +AppRegistry.registerComponent('VideoPlayer', () => VideoPlayer); diff --git a/examples/embed-and-fullscreen/index.windows.js b/examples/embed-and-fullscreen/index.windows.js new file mode 100644 index 00000000..a3d21c6f --- /dev/null +++ b/examples/embed-and-fullscreen/index.windows.js @@ -0,0 +1,210 @@ +'use strict'; + +import React, { + Component +} from 'react'; + +import { + AppRegistry, + StyleSheet, + Text, + TouchableOpacity, + View, +} from 'react-native'; + +import Video from 'react-native-video'; + +class VideoPlayer extends Component { + constructor(props) { + super(props); + this.onLoad = this.onLoad.bind(this); + this.onProgress = this.onProgress.bind(this); + } + + state = { + rate: 1, + volume: 1, + muted: false, + resizeMode: 'contain', + duration: 0.0, + currentTime: 0.0, + }; + + onLoad(data) { + this.setState({duration: data.duration}); + } + + onProgress(data) { + this.setState({currentTime: data.currentTime}); + } + + getCurrentTimePercentage() { + if (this.state.currentTime > 0) { + return parseFloat(this.state.currentTime) / parseFloat(this.state.duration); + } else { + return 0; + } + } + + renderRateControl(rate) { + const isSelected = (this.state.rate == rate); + + return ( + { this.setState({rate: rate}) }}> + + {rate}x + + + ) + } + + renderResizeModeControl(resizeMode) { + const isSelected = (this.state.resizeMode == resizeMode); + + return ( + { this.setState({resizeMode: resizeMode}) }}> + + {resizeMode} + + + ) + } + + renderVolumeControl(volume) { + const isSelected = (this.state.volume == volume); + + return ( + { this.setState({volume: volume}) }}> + + {volume * 100}% + + + ) + } + + render() { + const flexCompleted = this.getCurrentTimePercentage() * 100; + const flexRemaining = (1 - this.getCurrentTimePercentage()) * 100; + + return ( + + {this.setState({paused: !this.state.paused})}}> + + + + + + {this.renderRateControl(0.25)} + {this.renderRateControl(0.5)} + {this.renderRateControl(1.0)} + {this.renderRateControl(1.5)} + {this.renderRateControl(2.0)} + + + + {this.renderVolumeControl(0.5)} + {this.renderVolumeControl(1)} + {this.renderVolumeControl(1.5)} + + + + {this.renderResizeModeControl('cover')} + {this.renderResizeModeControl('contain')} + {this.renderResizeModeControl('stretch')} + + + + + + + + + + + + ); + } +} + + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'black', + }, + fullScreen: { + position: 'absolute', + top: 0, + left: 0, + bottom: 0, + right: 0, + }, + controls: { + backgroundColor: "transparent", + borderRadius: 5, + position: 'absolute', + bottom: 20, + left: 20, + right: 20, + }, + progress: { + flex: 1, + flexDirection: 'row', + borderRadius: 3, + overflow: 'hidden', + }, + innerProgressCompleted: { + height: 20, + backgroundColor: '#cccccc', + }, + innerProgressRemaining: { + height: 20, + backgroundColor: '#2C2C2C', + }, + generalControls: { + flex: 1, + flexDirection: 'row', + borderRadius: 4, + overflow: 'hidden', + paddingBottom: 10, + }, + rateControl: { + flex: 1, + flexDirection: 'row', + justifyContent: 'center', + }, + volumeControl: { + flex: 1, + flexDirection: 'row', + justifyContent: 'center', + }, + resizeModeControl: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + }, + controlOption: { + alignSelf: 'center', + fontSize: 11, + color: "white", + paddingLeft: 2, + paddingRight: 2, + lineHeight: 12, + }, +}); + +AppRegistry.registerComponent('VideoPlayer', () => VideoPlayer); diff --git a/examples/embed-and-fullscreen/ios/AppDelegate.h b/examples/embed-and-fullscreen/ios/AppDelegate.h new file mode 100644 index 00000000..a9654d5e --- /dev/null +++ b/examples/embed-and-fullscreen/ios/AppDelegate.h @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end diff --git a/examples/embed-and-fullscreen/ios/AppDelegate.m b/examples/embed-and-fullscreen/ios/AppDelegate.m new file mode 100644 index 00000000..74dbce6d --- /dev/null +++ b/examples/embed-and-fullscreen/ios/AppDelegate.m @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "AppDelegate.h" + +#import "RCTRootView.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + NSURL *jsCodeLocation; + + // Loading JavaScript code - uncomment the one you want. + + // OPTION 1 + // Load from development server. Start the server from the repository root: + // + // $ npm start + // + // To run on device, change `localhost` to the IP address of your computer, and make sure your computer and + // iOS device are on the same Wi-Fi network. + jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; + + // OPTION 2 + // Load from pre-bundled file on disk. To re-generate the static bundle, run + // + // $ curl 'http://localhost:8081/index.ios.bundle?dev=false&minify=true' -o iOS/main.jsbundle + // + // and uncomment the next following line + // jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"VideoPlayer" + initialProperties: nil + launchOptions:launchOptions]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [[UIViewController alloc] init]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +@end diff --git a/examples/embed-and-fullscreen/ios/Base.lproj/LaunchScreen.xib b/examples/embed-and-fullscreen/ios/Base.lproj/LaunchScreen.xib new file mode 100644 index 00000000..187346b0 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/embed-and-fullscreen/ios/Info.plist b/examples/embed-and-fullscreen/ios/Info.plist new file mode 100644 index 00000000..45532a3a --- /dev/null +++ b/examples/embed-and-fullscreen/ios/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + 2 + LSApplicationCategoryType + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer-tvOS.plist b/examples/embed-and-fullscreen/ios/VideoPlayer-tvOS.plist new file mode 100644 index 00000000..ecbd496b --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer-tvOS.plist @@ -0,0 +1,53 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/project.pbxproj b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/project.pbxproj new file mode 100644 index 00000000..0d077be9 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/project.pbxproj @@ -0,0 +1,1216 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; + 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; + 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; + 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; + 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; + 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; + 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; + 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; + 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; + 8C2A0F841E2560A100E31596 /* libRCTVideo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C2A0F791E25608300E31596 /* libRCTVideo.a */; }; + FA3566AB216D5D7000E01ABD /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; + FA3566AC216D5D7000E01ABD /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; + FA3566AD216D5D7000E01ABD /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; + FA3566AE216D5D7000E01ABD /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; + FA3566AF216D5D7000E01ABD /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; + FA3566B0216D5D7000E01ABD /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; + FA3566C8216D5DA900E01ABD /* libRCTVideo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D1107C542111145500073188 /* libRCTVideo.a */; }; + FA8681B8216D5C6D0010C92A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + FA8681B9216D5C6D0010C92A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + FA8681C8216D5C6D0010C92A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + FA8B47A5216D777200AB07CF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTActionSheet; + }; + 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTGeolocation; + }; + 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5115D1A9E6B3D00147676; + remoteInfo = RCTImage; + }; + 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511DB1A9E6C8500147676; + remoteInfo = RCTNetwork; + }; + 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; + remoteInfo = RCTVibration; + }; + 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTSettings; + }; + 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3C86DF461ADF2C930047B81A; + remoteInfo = RCTWebSocket; + }; + 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; + remoteInfo = React; + }; + 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; + remoteInfo = "RCTImage-tvOS"; + }; + 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28471D9B043800D4039D; + remoteInfo = "RCTLinking-tvOS"; + }; + 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28541D9B044C00D4039D; + remoteInfo = "RCTNetwork-tvOS"; + }; + 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28611D9B046600D4039D; + remoteInfo = "RCTSettings-tvOS"; + }; + 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A287B1D9B048500D4039D; + remoteInfo = "RCTText-tvOS"; + }; + 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28881D9B049200D4039D; + remoteInfo = "RCTWebSocket-tvOS"; + }; + 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28131D9B038B00D4039D; + remoteInfo = "React-tvOS"; + }; + 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C059A1DE3340900C268FA; + remoteInfo = yoga; + }; + 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C06751DE3340C00C268FA; + remoteInfo = "yoga-tvOS"; + }; + 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; + remoteInfo = cxxreact; + }; + 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; + remoteInfo = "cxxreact-tvOS"; + }; + 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; + remoteInfo = jschelpers; + }; + 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; + remoteInfo = "jschelpers-tvOS"; + }; + 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTAnimation; + }; + 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28201D9B03D100D4039D; + remoteInfo = "RCTAnimation-tvOS"; + }; + 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTLinking; + }; + 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5119B1A9E6C1200147676; + remoteInfo = RCTText; + }; + 8C2A0F781E25608300E31596 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8C2A0F651E25608300E31596 /* RCTVideo.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTVideo; + }; + D1107C532111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8C2A0F651E25608300E31596 /* RCTVideo.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 641E28441F0EEC8500443AF6; + remoteInfo = "RCTVideo-tvOS"; + }; + D1107C592111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; + remoteInfo = fishhook; + }; + D1107C5B2111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; + remoteInfo = "fishhook-tvOS"; + }; + D1107C6D2111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EBF21BDC1FC498900052F4D5; + remoteInfo = jsinspector; + }; + D1107C6F2111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; + remoteInfo = "jsinspector-tvOS"; + }; + D1107C712111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; + remoteInfo = "third-party"; + }; + D1107C732111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; + remoteInfo = "third-party-tvOS"; + }; + D1107C752111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7E881E25C6D100323FB7; + remoteInfo = "double-conversion"; + }; + D1107C772111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D621EBD27B9005632C8; + remoteInfo = "double-conversion-tvOS"; + }; + D1107C792111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9936F3131F5F2E4B0010BF04; + remoteInfo = privatedata; + }; + D1107C7B2111145500073188 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; + remoteInfo = "privatedata-tvOS"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; + 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; + 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; + 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; + 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; + 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; + 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; + 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* VideoPlayer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VideoPlayer.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = VideoPlayer/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = VideoPlayer/AppDelegate.m; sourceTree = ""; }; + 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = VideoPlayer/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = VideoPlayer/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = VideoPlayer/main.m; sourceTree = ""; }; + 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 39CBB10045CEBFA9BBB9645E /* libPods-VideoPlayer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-VideoPlayer.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; + 627363E07276C06249D7CEBF /* libPods-VideoPlayer-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-VideoPlayer-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; + 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; + 8C2A0F651E25608300E31596 /* RCTVideo.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVideo.xcodeproj; path = "../node_modules/react-native-video/ios/RCTVideo.xcodeproj"; sourceTree = ""; }; + FA8681CE216D5C6D0010C92A /* VideoPlayer-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "VideoPlayer-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + FA8681D0216D5C6E0010C92A /* VideoPlayer-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "VideoPlayer-tvOS.plist"; path = "/Users/amishra/Development/react-native-video-nfb/examples/basic/ios/VideoPlayer-tvOS.plist"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 146834051AC3E58100842450 /* libReact.a in Frameworks */, + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, + 8C2A0F841E2560A100E31596 /* libRCTVideo.a in Frameworks */, + 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, + 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, + 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, + 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, + 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, + 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, + 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, + 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, + 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA8681BA216D5C6D0010C92A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FA8B47A5216D777200AB07CF /* libReact.a in Frameworks */, + FA3566AB216D5D7000E01ABD /* libRCTImage-tvOS.a in Frameworks */, + FA3566AC216D5D7000E01ABD /* libRCTLinking-tvOS.a in Frameworks */, + FA3566AD216D5D7000E01ABD /* libRCTNetwork-tvOS.a in Frameworks */, + FA3566AE216D5D7000E01ABD /* libRCTSettings-tvOS.a in Frameworks */, + FA3566AF216D5D7000E01ABD /* libRCTText-tvOS.a in Frameworks */, + FA3566B0216D5D7000E01ABD /* libRCTWebSocket-tvOS.a in Frameworks */, + FA3566C8216D5DA900E01ABD /* libRCTVideo.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 00C302A81ABCB8CE00DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302B61ABCB90400DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302BC1ABCB91800DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, + 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302D41ABCB9D200DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, + 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302E01ABCB9EE00DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, + ); + name = Products; + sourceTree = ""; + }; + 139105B71AF99BAD00B5F7CC /* Products */ = { + isa = PBXGroup; + children = ( + 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, + 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 139FDEE71B06529A00C62182 /* Products */ = { + isa = PBXGroup; + children = ( + 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, + 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, + D1107C5A2111145500073188 /* libfishhook.a */, + D1107C5C2111145500073188 /* libfishhook-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* VideoPlayer */ = { + isa = PBXGroup; + children = ( + 008F07F21AC5B25A0029DE68 /* main.jsbundle */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + 13B07FB71A68108700A75B9A /* main.m */, + ); + name = VideoPlayer; + sourceTree = ""; + }; + 146834001AC3E56700842450 /* Products */ = { + isa = PBXGroup; + children = ( + 146834041AC3E56700842450 /* libReact.a */, + 3DAD3EA31DF850E9000B6D8A /* libReact.a */, + 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, + 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, + 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, + 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, + 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, + 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, + D1107C6E2111145500073188 /* libjsinspector.a */, + D1107C702111145500073188 /* libjsinspector-tvOS.a */, + D1107C722111145500073188 /* libthird-party.a */, + D1107C742111145500073188 /* libthird-party.a */, + D1107C762111145500073188 /* libdouble-conversion.a */, + D1107C782111145500073188 /* libdouble-conversion.a */, + D1107C7A2111145500073188 /* libprivatedata.a */, + D1107C7C2111145500073188 /* libprivatedata-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 5E91572E1DD0AC6500FF2AA8 /* Products */ = { + isa = PBXGroup; + children = ( + 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, + ); + name = Products; + sourceTree = ""; + }; + 78C398B11ACF4ADC00677621 /* Products */ = { + isa = PBXGroup; + children = ( + 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, + 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + 8C2A0F651E25608300E31596 /* RCTVideo.xcodeproj */, + 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, + 146833FF1AC3E56700842450 /* React.xcodeproj */, + 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, + 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, + 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, + 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, + 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, + 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, + 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, + 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, + 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, + ); + name = Libraries; + sourceTree = ""; + }; + 832341B11AAA6A8300B99B32 /* Products */ = { + isa = PBXGroup; + children = ( + 832341B51AAA6A8300B99B32 /* libRCTText.a */, + 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + FA8681CF216D5C6D0010C92A /* Resources-iPad */, + 13B07FAE1A68108700A75B9A /* VideoPlayer */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + FA35669C216D5D7000E01ABD /* Frameworks */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* VideoPlayer.app */, + FA8681CE216D5C6D0010C92A /* VideoPlayer-tvOS.app */, + ); + name = Products; + sourceTree = ""; + }; + 8C2A0F661E25608300E31596 /* Products */ = { + isa = PBXGroup; + children = ( + 8C2A0F791E25608300E31596 /* libRCTVideo.a */, + D1107C542111145500073188 /* libRCTVideo.a */, + ); + name = Products; + sourceTree = ""; + }; + FA35669C216D5D7000E01ABD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 39CBB10045CEBFA9BBB9645E /* libPods-VideoPlayer.a */, + 627363E07276C06249D7CEBF /* libPods-VideoPlayer-tvOS.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + FA8681CF216D5C6D0010C92A /* Resources-iPad */ = { + isa = PBXGroup; + children = ( + FA8681D0216D5C6E0010C92A /* VideoPlayer-tvOS.plist */, + ); + name = "Resources-iPad"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* VideoPlayer */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "VideoPlayer" */; + buildPhases = ( + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = VideoPlayer; + productName = "Hello World"; + productReference = 13B07F961A680F5B00A75B9A /* VideoPlayer.app */; + productType = "com.apple.product-type.application"; + }; + FA8681B6216D5C6D0010C92A /* VideoPlayer-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA8681CB216D5C6D0010C92A /* Build configuration list for PBXNativeTarget "VideoPlayer-tvOS" */; + buildPhases = ( + FA8681B7216D5C6D0010C92A /* Sources */, + FA8681BA216D5C6D0010C92A /* Frameworks */, + FA8681C7216D5C6D0010C92A /* Resources */, + FA8681CA216D5C6D0010C92A /* Bundle React Native code and images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "VideoPlayer-tvOS"; + productName = "Hello World"; + productReference = FA8681CE216D5C6D0010C92A /* VideoPlayer-tvOS.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "VideoPlayer" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; + ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; + }, + { + ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; + ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + }, + { + ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; + ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; + }, + { + ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; + ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + }, + { + ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; + ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + }, + { + ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; + ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + }, + { + ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; + ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + }, + { + ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; + ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + }, + { + ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; + ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; + }, + { + ProductGroup = 8C2A0F661E25608300E31596 /* Products */; + ProjectRef = 8C2A0F651E25608300E31596 /* RCTVideo.xcodeproj */; + }, + { + ProductGroup = 139FDEE71B06529A00C62182 /* Products */; + ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + }, + { + ProductGroup = 146834001AC3E56700842450 /* Products */; + ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* VideoPlayer */, + FA8681B6216D5C6D0010C92A /* VideoPlayer-tvOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTActionSheet.a; + remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTGeolocation.a; + remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTImage.a; + remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTNetwork.a; + remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTVibration.a; + remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTSettings.a; + remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTWebSocket.a; + remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 146834041AC3E56700842450 /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTImage-tvOS.a"; + remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTLinking-tvOS.a"; + remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTNetwork-tvOS.a"; + remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTSettings-tvOS.a"; + remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTText-tvOS.a"; + remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTWebSocket-tvOS.a"; + remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTAnimation.a; + remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTAnimation.a; + remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTLinking.a; + remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTText.a; + remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8C2A0F791E25608300E31596 /* libRCTVideo.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTVideo.a; + remoteRef = 8C2A0F781E25608300E31596 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C542111145500073188 /* libRCTVideo.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTVideo.a; + remoteRef = D1107C532111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C5A2111145500073188 /* libfishhook.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libfishhook.a; + remoteRef = D1107C592111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C5C2111145500073188 /* libfishhook-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libfishhook-tvOS.a"; + remoteRef = D1107C5B2111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C6E2111145500073188 /* libjsinspector.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjsinspector.a; + remoteRef = D1107C6D2111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C702111145500073188 /* libjsinspector-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libjsinspector-tvOS.a"; + remoteRef = D1107C6F2111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C722111145500073188 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = D1107C712111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C742111145500073188 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = D1107C732111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C762111145500073188 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = D1107C752111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C782111145500073188 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = D1107C772111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C7A2111145500073188 /* libprivatedata.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libprivatedata.a; + remoteRef = D1107C792111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D1107C7C2111145500073188 /* libprivatedata-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libprivatedata-tvOS.a"; + remoteRef = D1107C7B2111145500073188 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA8681C7216D5C6D0010C92A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA8681C8216D5C6D0010C92A /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + }; + FA8681CA216D5C6D0010C92A /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA8681B7216D5C6D0010C92A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA8681B8216D5C6D0010C92A /* AppDelegate.m in Sources */, + FA8681B9216D5C6D0010C92A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 13B07FB21A68108700A75B9A /* Base */, + ); + name = LaunchScreen.xib; + path = VideoPlayer; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = NO; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = VideoPlayer/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_NAME = VideoPlayer; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = 1; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = VideoPlayer/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_NAME = VideoPlayer; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FA8681CC216D5C6D0010C92A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = NO; + INFOPLIST_FILE = "VideoPlayer-tvOS.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.VideoPlayer-tvOS"; + PRODUCT_NAME = "VideoPlayer-tvOS"; + SDKROOT = appletvos; + SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + FA8681CD216D5C6D0010C92A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = 1; + INFOPLIST_FILE = "VideoPlayer-tvOS.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.VideoPlayer-tvOS"; + PRODUCT_NAME = "VideoPlayer-tvOS"; + SDKROOT = appletvos; + SUPPORTED_PLATFORMS = "appletvsimulator appletvos"; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "VideoPlayer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "VideoPlayer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA8681CB216D5C6D0010C92A /* Build configuration list for PBXNativeTarget "VideoPlayer-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA8681CC216D5C6D0010C92A /* Debug */, + FA8681CD216D5C6D0010C92A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer-tvOS.xcscheme b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer-tvOS.xcscheme new file mode 100644 index 00000000..75b3d2eb --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer-tvOS.xcscheme @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer.xcscheme b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer.xcscheme new file mode 100644 index 00000000..48a64467 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer.xcodeproj/xcshareddata/xcschemes/VideoPlayer.xcscheme @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.h b/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.h new file mode 100644 index 00000000..a9654d5e --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.h @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.m b/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.m new file mode 100644 index 00000000..6c27cb41 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer/AppDelegate.m @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "AppDelegate.h" + +#import +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + NSURL *jsCodeLocation; + + jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"VideoPlayer" + initialProperties:nil + launchOptions:launchOptions]; + rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +@end diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer/Base.lproj/LaunchScreen.xib b/examples/embed-and-fullscreen/ios/VideoPlayer/Base.lproj/LaunchScreen.xib new file mode 100644 index 00000000..9d8b0c89 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer/Info.plist b/examples/embed-and-fullscreen/ios/VideoPlayer/Info.plist new file mode 100644 index 00000000..2fb6a11c --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer/Info.plist @@ -0,0 +1,54 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + NSLocationWhenInUseUsageDescription + + NSAppTransportSecurity + + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + + diff --git a/examples/embed-and-fullscreen/ios/VideoPlayer/main.m b/examples/embed-and-fullscreen/ios/VideoPlayer/main.m new file mode 100644 index 00000000..3d767fcb --- /dev/null +++ b/examples/embed-and-fullscreen/ios/VideoPlayer/main.m @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/examples/embed-and-fullscreen/ios/main.jsbundle b/examples/embed-and-fullscreen/ios/main.jsbundle new file mode 100644 index 00000000..4f50ea33 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/main.jsbundle @@ -0,0 +1,5 @@ +// Offline JS +// To re-generate the offline bundle, run this from root of your project +// $ curl 'http://localhost:8081/index.ios.bundle?dev=false&minify=true' -o iOS/main.jsbundle + +throw new Error('Offline JS file is empty. See iOS/main.jsbundle for instructions'); diff --git a/examples/embed-and-fullscreen/ios/main.m b/examples/embed-and-fullscreen/ios/main.m new file mode 100644 index 00000000..cb502bc1 --- /dev/null +++ b/examples/embed-and-fullscreen/ios/main.m @@ -0,0 +1,19 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} + diff --git a/examples/embed-and-fullscreen/rn-cli.config.js b/examples/embed-and-fullscreen/rn-cli.config.js new file mode 100644 index 00000000..1b84294b --- /dev/null +++ b/examples/embed-and-fullscreen/rn-cli.config.js @@ -0,0 +1,7 @@ +const blacklist = require('metro').createBlacklist; + +module.exports = { + getBlacklistRE: function() { + return blacklist([/node_modules\/react-native-video\/examples\/.*/]); + } +}; diff --git a/ios/Video/RCTVideo.m b/ios/Video/RCTVideo.m index 52b0342a..e443e15e 100644 --- a/ios/Video/RCTVideo.m +++ b/ios/Video/RCTVideo.m @@ -137,7 +137,6 @@ static int const RCTVideoUnset = -1; viewController.view.frame = self.bounds; viewController.player = player; - viewController.view.frame = self.bounds; return viewController; } @@ -564,6 +563,27 @@ static int const RCTVideoUnset = -1; - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { + // when controls==true, this is a hack to reset the rootview when rotation happens in fullscreen + if (object == _playerViewController.contentOverlayView) { + if ([keyPath isEqualToString:@"frame"]) { + + CGRect oldRect = [change[NSKeyValueChangeOldKey] CGRectValue]; + CGRect newRect = [change[NSKeyValueChangeNewKey] CGRectValue]; + + if (!CGRectEqualToRect(oldRect, newRect)) { + if (CGRectEqualToRect(newRect, [UIScreen mainScreen].bounds)) { + NSLog(@"in fullscreen"); + } else NSLog(@"not fullscreen"); + + [self.reactViewController.view setFrame:[UIScreen mainScreen].bounds]; + [self.reactViewController.view setNeedsLayout]; + } + + return; + } else + return [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; + } + if (object == _playerItem) { // When timeMetadata is read the event onTimedMetadata is triggered if ([keyPath isEqualToString:timedMetadata]) { @@ -1214,7 +1234,14 @@ static int const RCTVideoUnset = -1; // to prevent video from being animated when resizeMode is 'cover' // resize mode must be set before subview is added [self setResizeMode:_resizeMode]; - [self addSubview:_playerViewController.view]; + + if (_controls) { + UIViewController *viewController = [self reactViewController]; + [viewController addChildViewController:_playerViewController]; + [self addSubview:_playerViewController.view]; + } + + [_playerViewController.contentOverlayView addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL]; } } @@ -1404,6 +1431,7 @@ static int const RCTVideoUnset = -1; [self removePlayerLayer]; + [_playerViewController.contentOverlayView removeObserver:self forKeyPath:@"frame"]; [_playerViewController.view removeFromSuperview]; _playerViewController = nil;