Full Code of xueduany/react-mix for AI

master 1806247d3908 cached
154 files
1.9 MB
497.6k tokens
1353 symbols
1 requests
Download .txt
Showing preview only (2,024K chars total). Download the full file or copy to clipboard to get everything.
Repository: xueduany/react-mix
Branch: master
Commit: 1806247d3908
Files: 154
Total size: 1.9 MB

Directory structure:
gitextract_eh8az0r_/

├── README.md
├── build/
│   ├── part1.js
│   └── part2.js
├── css/
│   ├── cxylhl/
│   │   └── index.css
│   ├── game/
│   │   └── game2048.css
│   ├── jqueryapi.css
│   ├── lightningStorm.css
│   ├── vsImgList.css
│   └── vsIndex.css
├── dev.sh
├── install.sh
├── native-css.js
├── package.json
├── react-native.js.split.build.js
├── react.css.build.js
├── reactnative/
│   ├── 2048/
│   │   ├── components/
│   │   │   ├── aboveGame.js
│   │   │   ├── container.js
│   │   │   ├── gameContainer.js
│   │   │   ├── gameMessage.js
│   │   │   ├── gridCell.js
│   │   │   ├── gridContainer.js
│   │   │   ├── gridRow.js
│   │   │   ├── heading.js
│   │   │   ├── tile.js
│   │   │   └── tileContainer.js
│   │   ├── game.js
│   │   └── utils/
│   │       ├── grid.js
│   │       ├── localStorageManager.js
│   │       └── tile.js
│   ├── README.md
│   ├── android/
│   │   ├── app/
│   │   │   ├── app.iml
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   ├── react.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           ├── java/
│   │   │           │   └── com/
│   │   │           │       └── reactnative/
│   │   │           │           └── MainActivity.java
│   │   │           └── res/
│   │   │               ├── menu/
│   │   │               │   └── menu_main_activity2.xml
│   │   │               ├── values/
│   │   │               │   ├── dimens.xml
│   │   │               │   ├── strings.xml
│   │   │               │   └── styles.xml
│   │   │               └── values-w820dp/
│   │   │                   └── dimens.xml
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── reactnative.iml
│   │   └── settings.gradle
│   ├── canvasgame/
│   │   ├── Canvas.js
│   │   ├── GallaxyOctopus.js
│   │   ├── game.js
│   │   └── parts/
│   │       ├── Counter.js
│   │       ├── Octopus.js
│   │       └── Pipe.js
│   ├── common/
│   │   ├── Animation.js
│   │   ├── App.js
│   │   ├── Date.js
│   │   ├── DomEvent.js
│   │   ├── LightningStorm.js
│   │   ├── LocalStorage.js
│   │   ├── StateStore.js
│   │   ├── String.js
│   │   ├── StyleSheet.js
│   │   ├── TimerMixin.js
│   │   ├── console.js
│   │   └── rn/
│   │       ├── A.js
│   │       ├── Body.js
│   │       ├── Button.js
│   │       ├── Carousel.js
│   │       ├── Div.js
│   │       ├── Element.js
│   │       ├── Header.js
│   │       ├── HtmlCssParser.js
│   │       ├── Img.js
│   │       ├── Input.js
│   │       ├── Nav.js
│   │       ├── RightSliderMenu.js
│   │       ├── SimpleListView.js
│   │       ├── Span.js
│   │       ├── Tab.js
│   │       ├── TabItem.js
│   │       └── TabSlider.js
│   ├── css/
│   │   ├── cxylhl/
│   │   │   └── index.js
│   │   ├── game/
│   │   │   └── game2048.js
│   │   ├── jqueryapi.js
│   │   ├── lightningStorm.js
│   │   ├── vsImgList.js
│   │   └── vsIndex.js
│   ├── cxylhl.js
│   ├── example_addEventListener.js
│   ├── example_animation.js
│   ├── example_formElement.js
│   ├── example_jqueryapi.js
│   ├── example_listview.js
│   ├── example_localStorage.js
│   ├── example_onclick.js
│   ├── example_ontouch.js
│   ├── example_view.js
│   ├── index.android.js
│   ├── index.ios.js
│   ├── index.js
│   ├── ios/
│   │   ├── native/
│   │   │   ├── AppDelegate.h
│   │   │   ├── AppDelegate.m
│   │   │   ├── Base.lproj/
│   │   │   │   └── LaunchScreen.xib
│   │   │   ├── Images.xcassets/
│   │   │   │   ├── AppIcon.appiconset/
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Brand Assets.launchimage/
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   ├── LaunchImage.launchimage/
│   │   │   │   │   └── Contents.json
│   │   │   │   └── icon-1024.imageset/
│   │   │   │       └── Contents.json
│   │   │   ├── Info.plist
│   │   │   └── main.m
│   │   ├── native.xcodeproj/
│   │   │   ├── project.pbxproj
│   │   │   └── xcshareddata/
│   │   │       └── xcschemes/
│   │   │           └── native.xcscheme
│   │   └── nativeTests/
│   │       ├── Info.plist
│   │       └── nativeTests.m
│   ├── package.json
│   ├── testFlex.js
│   ├── testLineHeight.js
│   ├── testScroll.js
│   ├── vsImgList.js
│   ├── vsIndex.js
│   └── webpack.config.js
├── web/
│   ├── common/
│   │   ├── html/
│   │   │   ├── A.js
│   │   │   ├── Button.js
│   │   │   ├── Carousel.js
│   │   │   ├── Div.js
│   │   │   ├── Element.js
│   │   │   ├── Header.js
│   │   │   ├── Img.js
│   │   │   ├── Input.js
│   │   │   ├── ListView/
│   │   │   │   ├── ListView.js
│   │   │   │   ├── ListViewDataSource.js
│   │   │   │   ├── ScrollResponder.js
│   │   │   │   └── StaticRenderer.js
│   │   │   ├── ListView.js
│   │   │   ├── NavBar.js
│   │   │   ├── Navigator.js
│   │   │   ├── RightSliderMenu.js
│   │   │   ├── ScrollView/
│   │   │   │   └── ScrollView.js
│   │   │   ├── ScrollView.js
│   │   │   ├── SimpleListView.js
│   │   │   ├── Span.js
│   │   │   ├── TabSlider.js
│   │   │   ├── Utilties/
│   │   │   │   ├── ErrorUitls.js
│   │   │   │   ├── LayoutMixin.js
│   │   │   │   ├── dismissKeyboard.js
│   │   │   │   ├── getLayout.js
│   │   │   │   └── setNativeProps.js
│   │   │   └── View/
│   │   │       └── View.js
│   │   ├── react.js
│   │   └── ui.js
│   └── index.html
└── webpack.config.js

================================================
FILE CONTENTS
================================================

================================================
FILE: README.md
================================================
# React Mix 

React Mix enables you to build all platform application base on React-Native. We create a mid-layer to support all CSS gramma, all JS dom event, all H5 framework on React-Native, and We have done these:
- support CSS className
- support CSS unit, px, pt, rem, em
- unify box model measurement on all platform by CSS rem
- support CSS two or more className combine or inherit, such as (.className1 .className2 .className3...)inhreit , (.className1.className2.className3)combine
- support CSS selector(part done, progress), have support #id, .className, tagName
- support DOM selector(part done, progress), have support $('#id'), $('.className'), $('TagName'), $('CSS3 selector')(by sizzle)
- support DOM event, like onTouchXXXX, onLoad, onClick...eg(done)
- support DOM Manipulation API like JQuery(part done, progress), have support part JQuery DOM API, all done until February
- support ReactNative Bundle into two part, not single release, one is like common part, include nessesary component, bigger one, another is business code, smaller.(done, read react-native.js.split.build.js)
- and more...

- add a big game demo 2048 , can both run  iOS/Android/H5 , more detail see sourcecode

Both support ReactNative Android and IOS, more UI component is still in dev!

We promise , we do not change any react-native core code, we only do auto translate tools!

## Have Support CSS Function
- className
- css unit, px , pt, em , rem
- #id
- .className
- TagName
- .className combine, like .a.b.c
- .className inherit like .a .b .c

## Have Support JQuery API
- $, you can use $('#id'), $('.className') to find a instance
- addClass
- removeClass
- hasClass
- css
- before
- append
- html
- offset
- attr
- parent, because we simulate a DOM tree
- on(=addEventListener)
- off(=removeEventListener)

## Have Support LocalStorage
- API like web browser localstorage, example see ./reactnative/example_localstorage.js

## Have Support Animation API
- requestAnimationFrame
- setInterval
- setTimeout

## Introduction

很高兴给大家介绍我们基于ReactNative框架实现的,目标是完全兼容现有的H5开发方式的新一代框架ReactMix, 相信大家已经使用ReactNative去开发各自的应用有一段时间了,在这段时间,因为ReactNative的API频繁变动,且文档不全,而对于已经习惯写js,css开发的前端工作者来说,ReactNative又是一种新的开发模式,现在ReactMix就是为了解决大家现在遇到的这些问题而来了。

我们通过中间层,来使得ReactNative,能支持现有的HTML5的js+ dom api + css的开发模式,完美的支持常用的
- css className
- 支持了css基本单位px, pt, rem
- 彻底解决了ios安卓尺寸样式不统一的问题,基于rem的度量方式,而且自适应不同的屏幕和分辨率,再也不用为未来更大屏的设备写兼容代码了
- 多个className的组合,或者className继承关系
- css选择器,支持id, className, tag选择器
- 支持Dom选择器,你可以使用#id, .className, TagName去定位和查找节点
- 支持常用的js dom event api,支持例如onclick
- 支持常用的dom操作api,比如insertBefore, html等等,你经常使用的api
- 支持ReactNative代码的分割打包,这样你可以把reactnative的框架代码保存在app本地,但是业务代码通过在线直连的方法更新,保证网络传输量最小

- 添加游戏2048的例子,现在启动默认进入2048,如果要修改其他例子,请修改index.ios.js的引用指向, 安卓修改index.android.js

而且我们是基于自动化脚本动态翻译的方式,使得现有的HTML+CSS+JS的代码可以无修改的直接转换成为reactnative代码,且一套不需要修改的代码,直接在iOS,andorid,winphone,H5,PC平台实现展现完全一致

## Getting Started

- 从github上下载工程,然后在根目录执行一遍npm install,再进入reactnative目录执行一遍npm install
- Mac的同学,可以直接执行install.sh,功能第一条类似,分别在更目录执行npm install和在./reactnative目录执行npm install
- 根目录的npm主要是用来执行css动态翻译,以及web用的js动态翻译的,./reactnaitve的npm主要用来执行reactnative
- 从根目录开始,reactnative目录是主要的业务开发代码,web目录是H5相关的代码
- 我们通过代号为lightningStorm的框架代码使得reactnative支持类似html标签,和模拟css,和模拟dom api,框架地址为./reactnative/common/LightningStorm.js
- 你可以打开安卓或者ios的reactnative的项目,来查看demo的例子,来了解我们的工作模式
- 我们模拟了HTML常用的多个节点,比如Div替代了reactnative的View,Span替换了reactnative的Text, Img替换了reactnative的Image,其中Div, Span, Img的用法和HTML语法的基本用法保持一致
- 主要文件说明如下: iOS入口文件还是index.ios.js,安卓同理index.android.js,但是里面只是壳子,import了框架的lightningStorm,大家都引用的index.js,这个是真正的业务入口
- H5的入口文件也是html的壳子,在./web/index.html,同理引用的是index.build.js,这个文件基于webpack.config.js打包同步自动生成的,打包文件有详细的入口是依赖和iOS同样的index.ios.js
- 项目中的三个重要的打包文件一个同步翻译css到react使用的css,是react.css.build.js,基于node实现的css同步翻译脚本
- webpack.config.js是用来实现H5平台的同步翻译,把reactnative的index.ios.js同步翻译成为H5平台的业务代码
- H5和app共用一套css代码,在./css目录里面,在文件中加载css的API暂定为includeCSS
- 未来会支持所有现有的CSS的功能,包括ReactNative不支持的display,甚至是伪类等等,还有media query都会计划支持到
- 目前拆出来的js文件,不包括完整的UI Component部分,UI部分计划另外开源,即时你不适用我们的ReactMix框架,你可以适用我们的UI在React或者ReactNative上面


## Getting Help

- 你可以提交issue,或者邮件我xueduanyang1985@163.com[mailto:xueduanyang1985@163.com],来反馈遇到的问题和寻求帮助

## Documentation

第一篇原理揭秘文章在http://www.cnblogs.com/xueduanyang/p/5125781.html

系列学习文章连载中http://www.cnblogs.com/xueduanyang/p/5128690.html

更多的文档和例子正在完善中。。。

## react-native目录主要文件介绍

这里保持和官方的reactnative代码完全一致
- css目录是存放通过根目录的react.css.build.js脚本同步编译过来的reactjs的css文件
- 保留了官方原有的index.ios.js做入口
- common目录是框架文件,以及UI组件的文件
- index.js是页面入口文件,业务逻辑
- common/LightningStorm.js是框架文件
- common/rn目录是reactnative的UI组件文件,适配与native组件
- 对应的在根目录web目录也有一个叫做common/html对应的是适配与H5的UI组件文件,和common/rn目录的API保持一致,但是不同实现
- reactnative目录增加了一些demo的例子

## Demo

你可以发现,我们的代码基本类似现有的js+ html的开发模式
![](http://statics1.jiaru.club/react-native-example/demo3.jpg)

![](http://statics1.jiaru.club/react-native-example/demo4.jpg)

![](http://statics1.jiaru.club/react-native-example/demo1.jpg)

![](http://statics1.jiaru.club/react-native-example/demo2.jpg)





================================================
FILE: build/part1.js
================================================
__DEV__=
true;


__BUNDLE_START_TIME__=Date.now();
(
function(global){
var modules=Object.create(null);
var inGuard=false;

function define(id,factory){
modules[id]={
factory:factory,
module:{exports:{}},
isInitialized:false,
hasError:false};}



function require(id){
var mod=modules[id];
if(mod&&mod.isInitialized){
return mod.module.exports;}


return requireImpl(id);}


function requireImpl(id){
if(global.ErrorUtils&&!inGuard){
inGuard=true;
var returnValue;
try{
returnValue=requireImpl.apply(this,arguments);}
catch(e) {
global.ErrorUtils.reportFatalError(e);}

inGuard=false;
return returnValue;}


var mod=modules[id];
if(!mod){
var msg='Requiring unknown module "'+id+'"';
if(__DEV__){
msg+='. If you are sure the module is there, try restarting the packager.';}

throw new Error(msg);}


if(mod.hasError){
throw new Error(
'Requiring module "'+id+'" which threw an exception');}



try{


mod.isInitialized=true;

__DEV__&&BridgeProfiling().profile(id);



mod.factory.call(global,global,require,mod.module,mod.module.exports);

__DEV__&&BridgeProfiling().profileEnd();}
catch(e) {
mod.hasError=true;
mod.isInitialized=false;
throw e;}


return mod.module.exports;}


var BridgeProfiling=__DEV__&&function(){
var _BridgeProfiling;
try{
_BridgeProfiling=require('BridgeProfiling');}
catch(e) {}

return _BridgeProfiling&&_BridgeProfiling.profile?
_BridgeProfiling:{profile:function(){},profileEnd:function(){}};};


global.__d=define;
global.require=require;})(
this);
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 target of 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 to assign has an enumerable key on the '+
'prototype chain. 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;};
(















function(global){
'use strict';

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};


function setupConsole(global){
var originalConsole=global.console;

if(!global.nativeLoggingHook){
return;}


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;}

global.nativeLoggingHook(str,logLevel);};}



var repeat=function(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);}});





var joinRow=function(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);}


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),
table:consoleTablePolyfill};





if(__DEV__&&originalConsole){
Object.keys(global.console).forEach(function(methodName){
var reactNativeMethod=global.console[methodName];
if(originalConsole[methodName]){
global.console[methodName]=function(){
originalConsole[methodName].apply(originalConsole,arguments);
reactNativeMethod.apply(global.console,arguments);};}});}}






if(typeof module!=='undefined'){
module.exports=setupConsole;}else 
{
setupConsole(global);}})(


this);
(















function(global){
var ErrorUtils={
_inGuard:0,
_globalHandler:null,
setGlobalHandler:function(fun){
ErrorUtils._globalHandler=fun;},

reportError:function(error){
ErrorUtils._globalHandler&&ErrorUtils._globalHandler(error);},

reportFatalError:function(error){
ErrorUtils._globalHandler&&ErrorUtils._globalHandler(error,true);},

applyWithGuard:function(fun,context,args){
try{
ErrorUtils._inGuard++;
return fun.apply(context,args);}
catch(e) {
ErrorUtils.reportError(e);}finally 
{
ErrorUtils._inGuard--;}},


applyWithGuardIfNeeded:function(fun,context,args){
if(ErrorUtils.inGuard()){
return fun.apply(context,args);}else 
{
ErrorUtils.applyWithGuard(fun,context,args);}},


inGuard:function(){
return ErrorUtils._inGuard;},

guard:function(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||'<generated guard>';
function guarded(){
return (
ErrorUtils.applyWithGuard(
fun,
context||this,
arguments,
null,
name));}




return guarded;}};


global.ErrorUtils=ErrorUtils;





function setupErrorGuard(){
var onError=function(e){
global.console.error(
'Error: '+
'\n stack: '+e.stack+
'\n line: '+e.line+
'\n message: '+e.message,
e);};


global.ErrorUtils.setGlobalHandler(onError);}


setupErrorGuard();})(
this);
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.contains){
String.prototype.contains=function(search){
'use strict';
if(this==null){
throw TypeError();}

var string=String(this);
var pos=arguments.length>1?
Number(arguments[1])||0:0;
return string.indexOf(String(search),pos)!==-1;};}



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;};}
(









function(undefined){

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(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.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'?
Symbol.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;};}
(

















function(global){
var babelHelpers=global.babelHelpers={};

babelHelpers.createRawReactElement=(function(){
var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&Symbol.for&&Symbol.for("react.element")||0xeac7;
return function createRawReactElement(type,key,props){
return {
$$typeof:REACT_ELEMENT_TYPE,
type:type,
key:key,
ref:null,
props:props,
_owner:null};};})();




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



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



return function(Constructor,protoProps,staticProps){
if(protoProps)defineProperties(Constructor.prototype,protoProps);
if(staticProps)defineProperties(Constructor,staticProps);
return Constructor;};})();



babelHelpers.defineProperty=function(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._extends=babelHelpers.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;};


babelHelpers.get=function get(object,property,receiver){
if(object===null)object=Function.prototype;
var desc=Object.getOwnPropertyDescriptor(object,property);

if(desc===undefined){
var parent=Object.getPrototypeOf(object);

if(parent===null){
return undefined;}else 
{
return get(parent,property,receiver);}}else 

if("value" in desc){
return desc.value;}else 
{
var getter=desc.get;

if(getter===undefined){
return undefined;}


return getter.call(receiver);}};



babelHelpers.inherits=function(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;};


babelHelpers.interopRequireDefault=function(obj){
return obj&&obj.__esModule?obj:{
default:obj};};



babelHelpers.interopRequireWildcard=function(obj){
if(obj&&obj.__esModule){
return obj;}else 
{
var newObj={};

if(obj!=null){
for(var key in obj){
if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}



newObj.default=obj;
return newObj;}};



babelHelpers.objectWithoutProperties=function(obj,keys){
var target={};

for(var i in obj){
if(keys.indexOf(i)>=0)continue;
if(!Object.prototype.hasOwnProperty.call(obj,i))continue;
target[i]=obj[i];}


return target;};


babelHelpers.possibleConstructorReturn=function(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;};


babelHelpers.slicedToArray=(function(){
function sliceIterator(arr,i){
var _arr=[];
var _n=true;
var _d=false;
var _e=undefined;

try{
for(var _i=arr[Symbol.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(Symbol.iterator in Object(arr)){
return sliceIterator(arr,i);}else 
{
throw new TypeError("Invalid attempt to destructure non-iterable instance");}};})();




babelHelpers.toConsumableArray=function(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);}};})(


typeof global!=='undefined'?global:typeof self!=='undefined'?self:this);
__d('native/common/LightningStorm.js',function(global, require, module, exports) {  var window=window||new Function('return this')();
window.isNative=true;
if(window.document){
isNative=false;}




window.includeCSS=function(o){
if(isNative){(function(){
if(({}).toString.call(o)=='[object String]'){
deal(eval(o));}else 
{
deal(o);}

function deal(cssObject){
for(var k in cssObject){
if(/\s+/.test(k)){
var a=k.split(/\s+/);
var k1=a.pop();
STYLESHEET['+'+k1]={
css:cssObject[k],
inherit:a};}else 

{
STYLESHEET[k]=cssObject[k];}}}})();}else 




{
if(({}).toString.call(o)=='[object String]'){
var link=document.createElement('link');
link.rel='stylesheet';
link.href='../'+o.match(/css\/[^']+/)[0]+'.css';
document.getElementsByTagName('head')[0].appendChild(link);}else 
{}}};








if(!window.console){
window.console={
log:function(){},
debug:function(){},
error:function(){},
warn:function(){}};}else 

{
if(!console.log){
console.log=function(){};}

if(!console.debug){
console.debug=function(){};}

if(!console.debug){
console.debug=function(){};}

if(!console.debug){
console.debug=function(){};}}





window.STYLESHEET={};
window.DOMTREE_BYID={};
window.DOMTREE_BYCLASS={};

window.TimerMixin=require('native/common/TimerMixin.js');


if(isNative){
window.React=require('react-native/Libraries/react-native/react-native.js');
window.requireNativeComponent=React.requireNativeComponent;

window.Element=require('native/common/rn/Element.js');
window.Text=React.Text;
window.View=React.View;
window.StyleSheet=React.StyleSheet;
window.Image=React.Image;
window.TouchableOpacity=React.TouchableOpacity;
window.TouchableWithoutFeedback=React.TouchableWithoutFeedback;
window.TextInput=React.TextInput;
window.Input=require('native/common/rn/Input.js');
window.Div=require('native/common/rn/Div.js');
window.Body=require('native/common/rn/Body.js');
window.Span=require('native/common/rn/Span.js');
window.Img=require('native/common/rn/Img.js');
window.Button=require('native/common/rn/Button.js');
window.Tab=require('native/common/rn/Tab.js');
window.TabItem=require('native/common/rn/TabItem.js');
window.A=require('native/common/rn/A.js');
window.Nav=require('native/common/rn/Nav.js');
window.Navigator=React.Navigator;


window.ListView=React.ListView;
window.SimpleListView=require('native/common/rn/SimpleListView.js');
window.Dimensions=require('Dimensions');
window.PixelRatio=require('PixelRatio');

window.ScrollView=React.ScrollView;

window.localStorage=require('AsyncStorage');
window.StateStore=require('native/common/StateStore.js');}else 
{

window.StateStore=require('native/common/StateStore.js');}










Date.prototype.format=function(fmt)
{
var o={
"M+":this.getMonth()+1,
"d+":this.getDate(),
"h+":this.getHours(),
"m+":this.getMinutes(),
"s+":this.getSeconds(),
"q+":Math.floor((this.getMonth()+3)/3),
"S":this.getMilliseconds()};

if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));
for(var k in o){
if(new RegExp("("+k+")").test(fmt))
fmt=fmt.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length));}
return fmt;};


window.TemplateFill=function(template,source){
var newT={};
for(var k in template){
newT[k]=source[k]||null;}

return newT;};





if(isNative){

window.windowHeight=Dimensions.get('window').height;
window.windowWidth=Dimensions.get('window').width;

window.dpr=PixelRatio.get();



window.STYLESHEET.baseFontSize=20*(windowWidth/320);
window.STYLESHEET.baseFontSize=window.STYLESHEET.baseFontSize>54?54:window.STYLESHEET.baseFontSize;}else 



{
var docEl=document.documentElement,
isIPhone=window.navigator.appVersion.match(/iphone/gi),
fontSize,scale,
platform=navigator.platform;

(function recalc(){
var clientWidth=docEl.clientWidth;
var dpr=window.devicePixelRatio;
var justMobile=!/win32/i.test(platform);


if(!(isIPhone&&justMobile)){
dpr=1;}


scale=1/(dpr>1?2:dpr);

fontSize=20*(clientWidth/320)/scale;

fontSize=fontSize>54?54:fontSize;

window.STYLESHEET.baseFontSize=fontSize;
docEl.style.fontSize=fontSize+'px';
docEl.setAttribute('data-dpr',dpr);


var viewport=document.querySelector('meta[name="viewport"]');
var viewport_content='initial-scale='+scale+', maximum-scale='+scale+', minimum-scale='+scale+', user-scalable=no';

viewport&&viewport.setAttribute('content',viewport_content);

window.windowHeight=document.documentElement.clientHeight/scale;
window.windowWidth=document.documentElement.clientWidth/scale;})();}



window.upperCaseFirstLetter=function(str){
return str.replace(/^\w/,function(w){return w.toUpperCase();});};

String.prototype.toUpperCaseFirstLetter=function(){
return upperCaseFirstLetter(this);};




if(isNative){
window.Header=require('native/common/rn/Header.js');
window.RightSliderMenu=require('native/common/rn/RightSliderMenu.js');
window.Carousel=require('native/common/rn/Carousel.js');}







window.$=function(selector){
if(/^#(.+)/.test(selector)){
return DOMTREE_BYID[selector.match(/^#(.+)/)[1]];}else 
if(/^\.(.+)/.test(selector)){
return DOMTREE_BYCLASS[selector.match(/^\.(.+)/)[1]];}

return null;};
});
__d('native/common/TimerMixin.js',function(global, require, module, exports) {  'use strict';










var GLOBAL=typeof window==='undefined'?global:window;

var setter=function(_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,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(){
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;
});
__d('react-native/Libraries/react-native/react-native.js',function(global, require, module, exports) {  'use strict';


















var ReactNative=babelHelpers.extends(Object.create(require('React')),{

ActivityIndicatorIOS:require('ActivityIndicatorIOS'),
ART:require('ReactNativeART'),
DatePickerIOS:require('DatePickerIOS'),
DrawerLayoutAndroid:require('DrawerLayoutAndroid'),
Image:require('Image'),
ListView:require('ListView'),
MapView:require('MapView'),
Modal:require('Modal'),
Navigator:require('Navigator'),
NavigatorIOS:require('NavigatorIOS'),
PickerIOS:require('PickerIOS'),
ProgressBarAndroid:require('ProgressBarAndroid'),
ProgressViewIOS:require('ProgressViewIOS'),
ScrollView:require('ScrollView'),
SegmentedControlIOS:require('SegmentedControlIOS'),
SliderIOS:require('SliderIOS'),
SnapshotViewIOS:require('SnapshotViewIOS'),
Switch:require('Switch'),
PullToRefreshViewAndroid:require('PullToRefreshViewAndroid'),
SwitchAndroid:require('SwitchAndroid'),
SwitchIOS:require('SwitchIOS'),
TabBarIOS:require('TabBarIOS'),
Text:require('Text'),
TextInput:require('TextInput'),
ToastAndroid:require('ToastAndroid'),
ToolbarAndroid:require('ToolbarAndroid'),
Touchable:require('Touchable'),
TouchableHighlight:require('TouchableHighlight'),
TouchableNativeFeedback:require('TouchableNativeFeedback'),
TouchableOpacity:require('TouchableOpacity'),
TouchableWithoutFeedback:require('TouchableWithoutFeedback'),
View:require('View'),
ViewPagerAndroid:require('ViewPagerAndroid'),
WebView:require('WebView'),


ActionSheetIOS:require('ActionSheetIOS'),
AdSupportIOS:require('AdSupportIOS'),
AlertIOS:require('AlertIOS'),
Animated:require('Animated'),
AppRegistry:require('AppRegistry'),
AppStateIOS:require('AppStateIOS'),
AsyncStorage:require('AsyncStorage'),
BackAndroid:require('BackAndroid'),
CameraRoll:require('CameraRoll'),
Dimensions:require('Dimensions'),
Easing:require('Easing'),
ImagePickerIOS:require('ImagePickerIOS'),
IntentAndroid:require('IntentAndroid'),
InteractionManager:require('InteractionManager'),
LayoutAnimation:require('LayoutAnimation'),
LinkingIOS:require('LinkingIOS'),
NetInfo:require('NetInfo'),
PanResponder:require('PanResponder'),
PixelRatio:require('PixelRatio'),
PushNotificationIOS:require('PushNotificationIOS'),
Settings:require('Settings'),
StatusBarIOS:require('StatusBarIOS'),
StyleSheet:require('StyleSheet'),
VibrationIOS:require('VibrationIOS'),


DeviceEventEmitter:require('RCTDeviceEventEmitter'),
NativeAppEventEmitter:require('RCTNativeAppEventEmitter'),
NativeModules:require('NativeModules'),
Platform:require('Platform'),
processColor:require('processColor'),
requireNativeComponent:require('requireNativeComponent'),


EdgeInsetsPropType:require('EdgeInsetsPropType'),
PointPropType:require('PointPropType'),


addons:{
LinkedStateMixin:require('LinkedStateMixin'),
Perf:undefined,
PureRenderMixin:require('ReactComponentWithPureRenderMixin'),
TestModule:require('NativeModules').TestModule,
TestUtils:undefined,
batchedUpdates:require('ReactUpdates').batchedUpdates,
cloneWithProps:require('cloneWithProps'),
createFragment:require('ReactFragment').create,
update:require('update')}});



if(__DEV__){
ReactNative.addons.Perf=require('ReactDefaultPerf');
ReactNative.addons.TestUtils=require('ReactTestUtils');}


module.exports=ReactNative;
});
__d('React',function(global, require, module, exports) {  'use strict';












module.exports=require('ReactNative');
});
__d('ReactNative',function(global, require, module, exports) {  'use strict';














var ReactNativeDefaultInjection=require('ReactNativeDefaultInjection');

var ReactChildren=require('ReactChildren');
var ReactClass=require('ReactClass');
var ReactComponent=require('ReactComponent');
var ReactCurrentOwner=require('ReactCurrentOwner');
var ReactElement=require('ReactElement');
var ReactElementValidator=require('ReactElementValidator');
var ReactInstanceHandles=require('ReactInstanceHandles');
var ReactNativeMount=require('ReactNativeMount');
var ReactPropTypes=require('ReactPropTypes');
var ReactUpdates=require('ReactUpdates');

var deprecated=require('deprecated');
var findNodeHandle=require('findNodeHandle');
var invariant=require('invariant');
var onlyChild=require('onlyChild');
var warning=require('warning');

ReactNativeDefaultInjection.inject();

var createElement=ReactElement.createElement;
var createFactory=ReactElement.createFactory;
var cloneElement=ReactElement.cloneElement;

if(__DEV__){
createElement=ReactElementValidator.createElement;
createFactory=ReactElementValidator.createFactory;
cloneElement=ReactElementValidator.cloneElement;}


var resolveDefaultProps=function(element){

var defaultProps=element.type.defaultProps;
var props=element.props;
for(var propName in defaultProps){
if(props[propName]===undefined){
props[propName]=defaultProps[propName];}}};





var augmentElement=function(element){
if(__DEV__){
invariant(
false,
'This optimized path should never be used in DEV mode because '+
'it does not provide validation. Check your JSX transform.');}


element._owner=ReactCurrentOwner.current;
if(element.type.defaultProps){
resolveDefaultProps(element);}

return element;};


var render=function(
element,
mountInto,
callback)
{
return ReactNativeMount.renderComponent(element,mountInto,callback);};


var ReactNative={
hasReactNativeInitialized:false,
Children:{
map:ReactChildren.map,
forEach:ReactChildren.forEach,
count:ReactChildren.count,
only:onlyChild},

Component:ReactComponent,
PropTypes:ReactPropTypes,
createClass:ReactClass.createClass,
createElement:createElement,
createFactory:createFactory,
cloneElement:cloneElement,
_augmentElement:augmentElement,
findNodeHandle:findNodeHandle,
render:render,
unmountComponentAtNode:ReactNativeMount.unmountComponentAtNode,


unstable_batchedUpdates:ReactUpdates.batchedUpdates,



__spread:Object.assign,

unmountComponentAtNodeAndRemoveContainer:ReactNativeMount.unmountComponentAtNodeAndRemoveContainer,
isValidClass:ReactElement.isValidFactory,
isValidElement:ReactElement.isValidElement,


renderComponent:function(
element,
mountInto,
callback)
{
warning('Use React.render instead of React.renderComponent');
return ReactNative.render(element,mountInto,callback);}};






if(
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!=='undefined'&&
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject==='function'){
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
CurrentOwner:ReactCurrentOwner,
InstanceHandles:ReactInstanceHandles,
Mount:ReactNativeMount,
Reconciler:require('ReactReconciler'),
TextComponent:require('ReactNativeTextComponent')});}



module.exports=ReactNative;
});
__d('ReactNativeDefaultInjection',function(global, require, module, exports) {  'use strict';

















require('InitializeJavaScriptAppEngine');

var EventPluginHub=require('EventPluginHub');
var EventPluginUtils=require('EventPluginUtils');
var IOSDefaultEventPluginOrder=require('IOSDefaultEventPluginOrder');
var IOSNativeBridgeEventPlugin=require('IOSNativeBridgeEventPlugin');
var NodeHandle=require('NodeHandle');
var ReactComponentEnvironment=require('ReactComponentEnvironment');
var ReactDefaultBatchingStrategy=require('ReactDefaultBatchingStrategy');
var ReactEmptyComponent=require('ReactEmptyComponent');
var ReactInstanceHandles=require('ReactInstanceHandles');
var ReactNativeComponentEnvironment=require('ReactNativeComponentEnvironment');
var ReactNativeGlobalInteractionHandler=require('ReactNativeGlobalInteractionHandler');
var ReactNativeGlobalResponderHandler=require('ReactNativeGlobalResponderHandler');
var ReactNativeMount=require('ReactNativeMount');
var ReactNativeTextComponent=require('ReactNativeTextComponent');
var ReactNativeComponent=require('ReactNativeComponent');
var ReactUpdates=require('ReactUpdates');
var ResponderEventPlugin=require('ResponderEventPlugin');
var UniversalWorkerNodeHandle=require('UniversalWorkerNodeHandle');

var createReactNativeComponentClass=require('createReactNativeComponentClass');
var invariant=require('invariant');


require('RCTEventEmitter');
require('RCTLog');
require('JSTimersExecution');

function inject(){



EventPluginHub.injection.injectEventPluginOrder(IOSDefaultEventPluginOrder);
EventPluginHub.injection.injectInstanceHandle(ReactInstanceHandles);

ResponderEventPlugin.injection.injectGlobalResponderHandler(
ReactNativeGlobalResponderHandler);


ResponderEventPlugin.injection.injectGlobalInteractionHandler(
ReactNativeGlobalInteractionHandler);






EventPluginHub.injection.injectEventPluginsByName({
'ResponderEventPlugin':ResponderEventPlugin,
'IOSNativeBridgeEventPlugin':IOSNativeBridgeEventPlugin});


ReactUpdates.injection.injectReconcileTransaction(
ReactNativeComponentEnvironment.ReactReconcileTransaction);


ReactUpdates.injection.injectBatchingStrategy(
ReactDefaultBatchingStrategy);


ReactComponentEnvironment.injection.injectEnvironment(
ReactNativeComponentEnvironment);



var RCTView=createReactNativeComponentClass({
validAttributes:{},
uiViewClassName:'RCTView'});

ReactEmptyComponent.injection.injectEmptyComponent(RCTView);

EventPluginUtils.injection.injectMount(ReactNativeMount);

ReactNativeComponent.injection.injectTextComponentClass(
ReactNativeTextComponent);

ReactNativeComponent.injection.injectGenericComponentClass(function(tag){

var info='';
if(typeof tag==='string'&&/^[a-z]/.test(tag)){
info+=' Each component name should start with an uppercase letter.';}

invariant(false,'Expected a component class, got %s.%s',tag,info);});


NodeHandle.injection.injectImplementation(UniversalWorkerNodeHandle);}


module.exports={
inject:inject};
});
__d('InitializeJavaScriptAppEngine',function(global, require, module, exports) {  require(























'regenerator/runtime.js');

if(typeof GLOBAL==='undefined'){
GLOBAL=this;}


if(typeof window==='undefined'){
window=GLOBAL;}


function setUpConsole(){

var ExceptionsManager=require('ExceptionsManager');
ExceptionsManager.installConsoleErrorReporter();}

















function polyfillGlobal(name,newValue){var scope=arguments.length<=2||arguments[2]===undefined?GLOBAL:arguments[2];
var descriptor=Object.getOwnPropertyDescriptor(scope,name)||{




writable:true};


if(scope[name]!==undefined){
var backupName='original'+name[0].toUpperCase()+name.substr(1);
Object.defineProperty(scope,backupName,babelHelpers.extends({},descriptor,{value:scope[name]}));}


Object.defineProperty(scope,name,babelHelpers.extends({},descriptor,{value:newValue}));}


function setUpErrorHandler(){
if(global.__fbDisableExceptionsManager){
return;}


function handleError(e,isFatal){
try{
require('ExceptionsManager').handleException(e,isFatal);}
catch(ee) {
console.log('Failed to print error: ',ee.message);}}



var ErrorUtils=require('ErrorUtils');
ErrorUtils.setGlobalHandler(handleError);}


function setUpFlowChecker(){
if(__DEV__){
var checkFlowAtRuntime=require('checkFlowAtRuntime');
checkFlowAtRuntime();}}










function setUpTimers(){
var JSTimers=require('JSTimers');
GLOBAL.setTimeout=JSTimers.setTimeout;
GLOBAL.setInterval=JSTimers.setInterval;
GLOBAL.setImmediate=JSTimers.setImmediate;
GLOBAL.clearTimeout=JSTimers.clearTimeout;
GLOBAL.clearInterval=JSTimers.clearInterval;
GLOBAL.clearImmediate=JSTimers.clearImmediate;
GLOBAL.cancelAnimationFrame=JSTimers.clearInterval;
GLOBAL.requestAnimationFrame=function(cb){

return JSTimers.requestAnimationFrame(cb);};}



function setUpAlert(){
var RCTAlertManager=require('NativeModules').AlertManager;
if(!GLOBAL.alert){
GLOBAL.alert=function(text){
var alertOpts={
title:'Alert',
message:''+text,
buttons:[{'cancel':'OK'}]};

RCTAlertManager.alertWithArgs(alertOpts,function(){});};}}




function setUpPromise(){


GLOBAL.Promise=require('Promise');}


function setUpXHR(){


polyfillGlobal('XMLHttpRequest',require('XMLHttpRequest'));
polyfillGlobal('FormData',require('FormData'));

var fetchPolyfill=require('fetch');
polyfillGlobal('fetch',fetchPolyfill.fetch);
polyfillGlobal('Headers',fetchPolyfill.Headers);
polyfillGlobal('Request',fetchPolyfill.Request);
polyfillGlobal('Response',fetchPolyfill.Response);}


function setUpGeolocation(){
GLOBAL.navigator=GLOBAL.navigator||{};
polyfillGlobal('geolocation',require('Geolocation'),GLOBAL.navigator);}


function setUpWebSockets(){
polyfillGlobal('WebSocket',require('WebSocket'));}


function setUpProfile(){
if(__DEV__){
var BridgeProfiling=require('BridgeProfiling');
BridgeProfiling.swizzleReactPerf();
BridgeProfiling.attachToRelayProfiler();}}



function setUpProcessEnv(){
GLOBAL.process=GLOBAL.process||{};
GLOBAL.process.env=GLOBAL.process.env||{};
if(!GLOBAL.process.env.NODE_ENV){
GLOBAL.process.env.NODE_ENV=__DEV__?'development':'production';}}



function setUpNumber(){
Number.EPSILON=Number.EPSILON||Math.pow(2,-52);
Number.MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1;
Number.MIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER||-(Math.pow(2,53)-1);}


function setUpDevTools(){

if(__DEV__){
if(!window.document&&require('Platform').OS==='ios'){
var setupDevtools=require('setupDevtools');
setupDevtools();}}}




setUpProcessEnv();
setUpConsole();
setUpTimers();
setUpAlert();
setUpPromise();
setUpErrorHandler();
setUpXHR();
setUpGeolocation();
setUpWebSockets();
setUpProfile();
setUpFlowChecker();
setUpNumber();
setUpDevTools();



if(__DEV__){
require('RCTDebugComponentOwnership');}

require('RCTDeviceEventEmitter');
require('PerformanceLogger');
});
__d('regenerator/runtime.js',function(global, require, module, exports) {  !









(function(global){
"use strict";

var hasOwn=Object.prototype.hasOwnProperty;
var undefined;
var $Symbol=typeof Symbol==="function"?Symbol:{};
var iteratorSymbol=$Symbol.iterator||"@@iterator";
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 generator=Object.create((outerFn||Generator).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 Gp=GeneratorFunctionPrototype.prototype=Generator.prototype;
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 new AwaitArgument(arg);};


function AwaitArgument(arg){
this.arg=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 instanceof AwaitArgument){
return Promise.resolve(value.arg).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);}}



if(typeof process==="object"&&process.domain){
invoke=process.domain.bind(invoke);}


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);




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();}


while(true){
var delegate=context.delegate;
if(delegate){
if(method==="return"||
method==="throw"&&delegate.iterator[method]===undefined){


context.delegate=null;



var returnMethod=delegate.iterator["return"];
if(returnMethod){
var record=tryCatch(returnMethod,delegate.iterator,arg);
if(record.type==="throw"){


method="throw";
arg=record.arg;
continue;}}



if(method==="return"){


continue;}}



var record=tryCatch(
delegate.iterator[method],
delegate.iterator,
arg);


if(record.type==="throw"){
context.delegate=null;



method="throw";
arg=record.arg;
continue;}





method="next";
arg=undefined;

var info=record.arg;
if(info.done){
context[delegate.resultName]=info.value;
context.next=delegate.nextLoc;}else 
{
state=GenStateSuspendedYield;
return info;}


context.delegate=null;}


if(method==="next"){
if(state===GenStateSuspendedYield){
context.sent=arg;}else 
{
context.sent=undefined;}}else 


if(method==="throw"){
if(state===GenStateSuspendedStart){
state=GenStateCompleted;
throw arg;}


if(context.dispatchException(arg)){


method="next";
arg=undefined;}}else 


if(method==="return"){
context.abrupt("return",arg);}


state=GenStateExecuting;

var record=tryCatch(innerFn,self,context);
if(record.type==="normal"){


state=context.done?
GenStateCompleted:
GenStateSuspendedYield;

var info={
value:record.arg,
done:context.done};


if(record.arg===ContinueSentinel){
if(context.delegate&&method==="next"){


arg=undefined;}}else 

{
return info;}}else 


if(record.type==="throw"){
state=GenStateCompleted;


method="throw";
arg=record.arg;}}};}







defineIteratorMethods(Gp);

Gp[iteratorSymbol]=function(){
return this;};


Gp[toStringTagSymbol]="Generator";

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(skipTempReset){
this.prev=0;
this.next=0;
this.sent=undefined;
this.done=false;
this.delegate=null;

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(){
this.done=true;

var rootEntry=this.tryEntries[0];
var rootRecord=rootEntry.completion;
if(rootRecord.type==="throw"){
throw rootRecord.arg;}


return this.rval;},


dispatchException:function(exception){
if(this.done){
throw exception;}


var context=this;
function handle(loc,caught){
record.type="throw";
record.arg=exception;
context.next=loc;
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(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.next=finallyEntry.finallyLoc;}else 
{
this.complete(record);}


return ContinueSentinel;},


complete:function(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=record.arg;
this.next="end";}else 
if(record.type==="normal"&&afterLoc){
this.next=afterLoc;}},



finish:function(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(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(iterable,resultName,nextLoc){
this.delegate={
iterator:values(iterable),
resultName:resultName,
nextLoc:nextLoc};


return ContinueSentinel;}};})(






typeof global==="object"?global:
typeof window==="object"?window:
typeof self==="object"?self:this);
});
__d('ExceptionsManager',function(global, require, module, exports) {  'use strict';












var RCTExceptionsManager=require('NativeModules').ExceptionsManager;

var loadSourceMap=require('loadSourceMap');
var parseErrorStack=require('parseErrorStack');
var stringifySafe=require('stringifySafe');

var sourceMapPromise;

var exceptionID=0;




function reportException(e,isFatal){
var currentExceptionID=++exceptionID;
if(RCTExceptionsManager){
var stack=parseErrorStack(e);
if(isFatal){
RCTExceptionsManager.reportFatalException(e.message,stack,currentExceptionID);}else 
{
RCTExceptionsManager.reportSoftException(e.message,stack,currentExceptionID);}

if(__DEV__){
(sourceMapPromise=sourceMapPromise||loadSourceMap()).
then(function(map){
var prettyStack=parseErrorStack(e,map);
RCTExceptionsManager.updateExceptionMessage(e.message,prettyStack,currentExceptionID);}).

catch(function(error){


console.warn('Unable to load source map: '+error.message);});}}}








function handleException(e,isFatal){




if(!e.message){
e=new Error(e);}


(console._errorOriginal||console.error)(e.message);
reportException(e,isFatal);}






function installConsoleErrorReporter(){

if(console._errorOriginal){
return;}

console._errorOriginal=console.error.bind(console);
console.error=function reactConsoleError(){
console._errorOriginal.apply(null,arguments);
if(!console.reportErrorsAsExceptions){
return;}


if(arguments[0]&&arguments[0].stack){
reportException(arguments[0],false);}else 
{
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);}};


if(console.reportErrorsAsExceptions===undefined){
console.reportErrorsAsExceptions=true;}}



module.exports={handleException:handleException,installConsoleErrorReporter:installConsoleErrorReporter};
});
__d('NativeModules',function(global, require, module, exports) {  'use strict';












var NativeModules=require('BatchedBridge').RemoteModules;

var nativeModulePrefixNormalizer=require('nativeModulePrefixNormalizer');

nativeModulePrefixNormalizer(NativeModules);

module.exports=NativeModules;
});
__d('BatchedBridge',function(global, require, module, exports) {  'use strict';











var MessageQueue=require('MessageQueue');

var BatchedBridge=new MessageQueue(
__fbBatchedBridgeConfig.remoteModuleConfig,
__fbBatchedBridgeConfig.localModulesConfig);


module.exports=BatchedBridge;
});
__d('MessageQueue',function(global, require, module, exports) {  'use strict';














var BridgeProfiling=require('BridgeProfiling');
var ErrorUtils=require('ErrorUtils');
var JSTimersExecution=require('JSTimersExecution');
var ReactUpdates=require('ReactUpdates');

var invariant=require('invariant');
var keyMirror=require('keyMirror');
var stringifySafe=require('stringifySafe');

var MODULE_IDS=0;
var METHOD_IDS=1;
var PARAMS=2;
var MIN_TIME_BETWEEN_FLUSHES_MS=5;

var SPY_MODE=false;

var MethodTypes=keyMirror({
remote:null,
remoteAsync:null});


var guard=function(fn){
try{
fn();}
catch(error) {
ErrorUtils.reportFatalError(error);}};var 



MessageQueue=(function(){

function MessageQueue(remoteModules,localModules,customRequire){var _this=this;babelHelpers.classCallCheck(this,MessageQueue);
this.RemoteModules={};

this._require=customRequire||require;
this._queue=[[],[],[]];
this._moduleTable={};
this._methodTable={};
this._callbacks=[];
this._callbackID=0;
this._lastFlush=0;

[
'invokeCallbackAndReturnFlushedQueue',
'callFunctionReturnFlushedQueue',
'flushedQueue'].
forEach(function(fn){return _this[fn]=_this[fn].bind(_this);});

var modulesConfig=this._genModulesConfig(remoteModules);
this._genModules(modulesConfig);
localModules&&this._genLookupTables(
this._genModulesConfig(localModules),this._moduleTable,this._methodTable);


this._copyNativeComponentConstants(this.RemoteModules);

this._debugInfo={};
this._remoteModuleTable={};
this._remoteMethodTable={};
this._genLookupTables(
modulesConfig,this._remoteModuleTable,this._remoteMethodTable);}babelHelpers.createClass(MessageQueue,[{key:'callFunctionReturnFlushedQueue',value:function callFunctionReturnFlushedQueue(






module,method,args){var _this2=this;
guard(function(){
_this2.__callFunction(module,method,args);
_this2.__callImmediates();});


return this.flushedQueue();}},{key:'invokeCallbackAndReturnFlushedQueue',value:function invokeCallbackAndReturnFlushedQueue(


cbID,args){var _this3=this;
guard(function(){
_this3.__invokeCallback(cbID,args);
_this3.__callImmediates();});


return this.flushedQueue();}},{key:'flushedQueue',value:function flushedQueue()


{
this.__callImmediates();

var queue=this._queue;
this._queue=[[],[],[]];
return queue[0].length?queue:null;}},{key:'__callImmediates',value:function __callImmediates()






{
BridgeProfiling.profile('JSTimersExecution.callImmediates()');
guard(function(){return JSTimersExecution.callImmediates();});
BridgeProfiling.profileEnd();}},{key:'__nativeCall',value:function __nativeCall(


module,method,params,onFail,onSucc){
if(onFail||onSucc){

this._callbackID>1<<5&&(
this._debugInfo[this._callbackID>>5]=null);

this._debugInfo[this._callbackID>>1]=[module,method];
onFail&&params.push(this._callbackID);
this._callbacks[this._callbackID++]=onFail;
onSucc&&params.push(this._callbackID);
this._callbacks[this._callbackID++]=onSucc;}

this._queue[MODULE_IDS].push(module);
this._queue[METHOD_IDS].push(method);
this._queue[PARAMS].push(params);

var now=new Date().getTime();
if(global.nativeFlushQueueImmediate&&
now-this._lastFlush>=MIN_TIME_BETWEEN_FLUSHES_MS){
global.nativeFlushQueueImmediate(this._queue);
this._queue=[[],[],[]];
this._lastFlush=now;}

if(__DEV__&&SPY_MODE&&isFinite(module)){
console.log('JS->N : '+this._remoteModuleTable[module]+'.'+
this._remoteMethodTable[module][method]+'('+JSON.stringify(params)+')');}}},{key:'__callFunction',value:function __callFunction(



module,method,args){
BridgeProfiling.profile(function(){return module+'.'+method+'('+stringifySafe(args)+')';});
this._lastFlush=new Date().getTime();
if(isFinite(module)){
method=this._methodTable[module][method];
module=this._moduleTable[module];}

if(__DEV__&&SPY_MODE){
console.log('N->JS : '+module+'.'+method+'('+JSON.stringify(args)+')');}

module=this._require(module);
module[method].apply(module,args);
BridgeProfiling.profileEnd();}},{key:'__invokeCallback',value:function __invokeCallback(


cbID,args){
BridgeProfiling.profile(
function(){return 'MessageQueue.invokeCallback('+cbID+', '+stringifySafe(args)+')';});
this._lastFlush=new Date().getTime();
var callback=this._callbacks[cbID];
if(!callback||__DEV__){
var debug=this._debugInfo[cbID>>1];
var _module=debug&&this._remoteModuleTable[debug[0]];
var method=debug&&this._remoteMethodTable[debug[0]][debug[1]];
invariant(
callback,'Callback with id '+
cbID+': '+_module+'.'+method+'() not found');

if(callback&&SPY_MODE){
console.log('N->JS : <callback for '+_module+'.'+method+'>('+JSON.stringify(args)+')');}}


this._callbacks[cbID&~1]=null;
this._callbacks[cbID|1]=null;
callback.apply(null,args);
BridgeProfiling.profileEnd();}},{key:'_copyNativeComponentConstants',value:function _copyNativeComponentConstants(











remoteModules){
var UIManager=remoteModules.RCTUIManager;
UIManager&&Object.keys(UIManager).forEach(function(viewName){
var viewConfig=UIManager[viewName];
if(viewConfig.Manager){(function(){
var viewManager=remoteModules[viewConfig.Manager];
viewManager&&Object.keys(viewManager).forEach(function(key){
var value=viewManager[key];
if(typeof value!=='function'){
if(!viewConfig.Constants){
viewConfig.Constants={};}

viewConfig.Constants[key]=value;}});})();}});}},{key:'_genModulesConfig',value:function _genModulesConfig(











modules){
if(Array.isArray(modules)){
return modules;}else 
{
var moduleArray=[];
var moduleNames=Object.keys(modules);
for(var i=0,l=moduleNames.length;i<l;i++){
var moduleName=moduleNames[i];
var moduleConfig=modules[moduleName];
var _module2=[moduleName];
if(moduleConfig.constants){
_module2.push(moduleConfig.constants);}

var methodsConfig=moduleConfig.methods;
if(methodsConfig){
var methods=[];
var asyncMethods=[];
var methodNames=Object.keys(methodsConfig);
for(var j=0,ll=methodNames.length;j<ll;j++){
var methodName=methodNames[j];
var methodConfig=methodsConfig[methodName];
methods[methodConfig.methodID]=methodName;
if(methodConfig.type===MethodTypes.remoteAsync){
asyncMethods.push(methodConfig.methodID);}}


if(methods.length){
_module2.push(methods);
if(asyncMethods.length){
_module2.push(asyncMethods);}}}



moduleArray[moduleConfig.moduleID]=_module2;}

return moduleArray;}}},{key:'_genLookupTables',value:function _genLookupTables(



modulesConfig,moduleTable,methodTable){
modulesConfig.forEach(function(module,moduleID){
if(!module){
return;}


var moduleName=undefined,methods=undefined;
if(moduleHasConstants(module)){var _module3=babelHelpers.slicedToArray(
module,3);moduleName=_module3[0];methods=_module3[2];}else 
{var _module4=babelHelpers.slicedToArray(
module,2);moduleName=_module4[0];methods=_module4[1];}


moduleTable[moduleID]=moduleName;
methodTable[moduleID]=babelHelpers.extends({},methods);});}},{key:'_genModules',value:function _genModules(



remoteModules){var _this4=this;
remoteModules.forEach(function(module,moduleID){
if(!module){
return;}


var moduleName=undefined,constants=undefined,methods=undefined,asyncMethods=undefined;
if(moduleHasConstants(module)){var _module5=babelHelpers.slicedToArray(
module,4);moduleName=_module5[0];constants=_module5[1];methods=_module5[2];asyncMethods=_module5[3];}else 
{var _module6=babelHelpers.slicedToArray(
module,3);moduleName=_module6[0];methods=_module6[1];asyncMethods=_module6[2];}


var moduleConfig={moduleID:moduleID,constants:constants,methods:methods,asyncMethods:asyncMethods};
_this4.RemoteModules[moduleName]=_this4._genModule({},moduleConfig);});}},{key:'_genModule',value:function _genModule(



module,moduleConfig){var _this5=this;var 
moduleID=moduleConfig.moduleID;var constants=moduleConfig.constants;var _moduleConfig$methods=moduleConfig.methods;var methods=_moduleConfig$methods===undefined?[]:_moduleConfig$methods;var _moduleConfig$asyncMe=moduleConfig.asyncMethods;var asyncMethods=_moduleConfig$asyncMe===undefined?[]:_moduleConfig$asyncMe;

methods.forEach(function(methodName,methodID){
var methodType=
arrayContains(asyncMethods,methodID)?
MethodTypes.remoteAsync:MethodTypes.remote;
module[methodName]=_this5._genMethod(moduleID,methodID,methodType);});

babelHelpers.extends(module,constants);

return module;}},{key:'_genMethod',value:function _genMethod(


module,method,type){
var fn=null;
var self=this;
if(type===MethodTypes.remoteAsync){
fn=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}
return new Promise(function(resolve,reject){
self.__nativeCall(module,method,args,resolve,function(errorData){
var error=createErrorFromErrorData(errorData);
reject(error);});});};}else 



{
fn=function(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}
var lastArg=args.length>0?args[args.length-1]:null;
var secondLastArg=args.length>1?args[args.length-2]:null;
var hasSuccCB=typeof lastArg==='function';
var hasErrorCB=typeof secondLastArg==='function';
hasErrorCB&&invariant(
hasSuccCB,
'Cannot have a non-function arg after a function arg.');

var numCBs=hasSuccCB+hasErrorCB;
var onSucc=hasSuccCB?lastArg:null;
var onFail=hasErrorCB?secondLastArg:null;
args=args.slice(0,args.length-numCBs);
return self.__nativeCall(module,method,args,onFail,onSucc);};}


fn.type=type;
return fn;}}]);return MessageQueue;})();




function moduleHasConstants(moduleArray){
return !Array.isArray(moduleArray[1]);}


function arrayContains(array,value){
return array.indexOf(value)!==-1;}


function createErrorFromErrorData(errorData){var 

message=

errorData.message;var extraErrorInfo=babelHelpers.objectWithoutProperties(errorData,['message']);
var error=new Error(message);
error.framesToPop=1;
return babelHelpers.extends(error,extraErrorInfo);}


module.exports=MessageQueue;
});
__d('BridgeProfiling',function(global, require, module, exports) {  'use strict';












var GLOBAL=GLOBAL||this;
var TRACE_TAG_REACT_APPS=1<<17;

var _enabled;
var _ReactPerf=null;
function ReactPerf(){
if(!_ReactPerf){
_ReactPerf=require('ReactPerf');}

return _ReactPerf;}


var BridgeProfiling={
setEnabled:function(enabled){
_enabled=enabled;

ReactPerf().enableMeasure=enabled;},


profile:function(profileName){
if(_enabled){
profileName=typeof profileName==='function'?
profileName():profileName;
global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS,profileName);}},



profileEnd:function(){
if(_enabled){
global.nativeTraceEndSection(TRACE_TAG_REACT_APPS);}},



reactPerfMeasure:function(objName,fnName,func){
return function(component){
if(!_enabled){
return func.apply(this,arguments);}


var name=objName==='ReactCompositeComponent'&&this.getName()||'';
BridgeProfiling.profile(objName+'.'+fnName+'('+name+')');
var ret=func.apply(this,arguments);
BridgeProfiling.profileEnd();
return ret;};},



swizzleReactPerf:function(){
ReactPerf().injection.injectMeasure(BridgeProfiling.reactPerfMeasure);},


attachToRelayProfiler:function(){





try{
var rpName='RelayProfiler';
var RelayProfiler=require(rpName);
RelayProfiler.attachProfileHandler('*',function(name){
BridgeProfiling.profile(name);
return function(){
BridgeProfiling.profileEnd();};});}


catch(err) {}},




swizzleJSON:function(){
BridgeProfiling.measureMethods(JSON,'JSON',[
'parse',
'stringify']);},











measureMethods:function(object,objectName,methodNames){
if(!__DEV__){
return;}


methodNames.forEach(function(methodName){
object[methodName]=BridgeProfiling.measure(
objectName,
methodName,
object[methodName]);});},













measure:function(objName,fnName,func){
if(!__DEV__){
return func;}


var profileName=objName+'.'+fnName;
return function(){
if(!_enabled){
return func.apply(this,arguments);}


BridgeProfiling.profile(profileName);
var ret=func.apply(this,arguments);
BridgeProfiling.profileEnd();
return ret;};}};




BridgeProfiling.setEnabled(global.__RCTProfileIsProfiling||false);

module.exports=BridgeProfiling;
});
__d('ReactPerf',function(global, require, module, exports) {  'use strict';

















var ReactPerf={




enableMeasure:false,





storedMeasure:_noMeasure,






measureMethods:function(object,objectName,methodNames){
if(__DEV__){
for(var key in methodNames){
if(!methodNames.hasOwnProperty(key)){
continue;}

object[key]=ReactPerf.measure(
objectName,
methodNames[key],
object[key]);}}},













measure:function(objName,fnName,func){
if(__DEV__){
var measuredFunc=null;
var wrapper=function(){
if(ReactPerf.enableMeasure){
if(!measuredFunc){
measuredFunc=ReactPerf.storedMeasure(objName,fnName,func);}

return measuredFunc.apply(this,arguments);}

return func.apply(this,arguments);};

wrapper.displayName=objName+'_'+fnName;
return wrapper;}

return func;},


injection:{



injectMeasure:function(measure){
ReactPerf.storedMeasure=measure;}}};












function _noMeasure(objName,fnName,func){
return func;}


module.exports=ReactPerf;
});
__d('ErrorUtils',function(global, require, module, exports) {  var 











GLOBAL=this;













module.exports=GLOBAL.ErrorUtils;
});
__d('JSTimersExecution',function(global, require, module, exports) {  'use strict';











var invariant=require('invariant');
var keyMirror=require('keyMirror');
var performanceNow=require('performanceNow');
var warning=require('warning');
var BridgeProfiling=require('BridgeProfiling');






var JSTimersExecution={
GUID:1,
Type:keyMirror({
setTimeout:null,
setInterval:null,
requestAnimationFrame:null,
setImmediate:null}),



callbacks:[],
types:[],
timerIDs:[],
immediates:[],






callTimer:function(timerID){
warning(timerID<=JSTimersExecution.GUID,'Tried to call timer with ID '+timerID+' but no such timer exists');
var timerIndex=JSTimersExecution.timerIDs.indexOf(timerID);





if(timerIndex===-1){
return;}

var type=JSTimersExecution.types[timerIndex];
var callback=JSTimersExecution.callbacks[timerIndex];


if(type===JSTimersExecution.Type.setTimeout||
type===JSTimersExecution.Type.setImmediate||
type===JSTimersExecution.Type.requestAnimationFrame){
JSTimersExecution._clearIndex(timerIndex);}


try{
if(type===JSTimersExecution.Type.setTimeout||
type===JSTimersExecution.Type.setInterval||
type===JSTimersExecution.Type.setImmediate){
callback();}else 
if(type===JSTimersExecution.Type.requestAnimationFrame){
var currentTime=performanceNow();
callback(currentTime);}else 
{
console.error('Tried to call a callback with invalid type: '+type);
return;}}

catch(e) {

JSTimersExecution.errors=JSTimersExecution.errors||[];
JSTimersExecution.errors.push(e);}},







callTimers:function(timerIDs){
invariant(timerIDs.length!==0,'Probably shouldn\'t call "callTimers" with no timerIDs');

JSTimersExecution.errors=null;
timerIDs.forEach(JSTimersExecution.callTimer);

var errors=JSTimersExecution.errors;
if(errors){
var errorCount=errors.length;
if(errorCount>1){


for(var ii=1;ii<errorCount;ii++){
require('JSTimers').setTimeout(
(function(error){throw error;}).bind(null,errors[ii]),
0);}}



throw errors[0];}},







callImmediatesPass:function(){
BridgeProfiling.profile('JSTimersExecution.callImmediatesPass()');



if(JSTimersExecution.immediates.length>0){
var passImmediates=JSTimersExecution.immediates.slice();
JSTimersExecution.immediates=[];

passImmediates.forEach(function(timerID){
JSTimersExecution.callTimer(timerID);});}



BridgeProfiling.profileEnd();

return JSTimersExecution.immediates.length>0;},






callImmediates:function(){
JSTimersExecution.errors=null;
while(JSTimersExecution.callImmediatesPass()){}
if(JSTimersExecution.errors){
JSTimersExecution.errors.forEach(function(error){return (
require('JSTimers').setTimeout(function(){throw error;},0));});}},




_clearIndex:function(i){
JSTimersExecution.timerIDs[i]=null;
JSTimersExecution.callbacks[i]=null;
JSTimersExecution.types[i]=null;}};



module.exports=JSTimersExecution;
});
__d('invariant',function(global, require, module, exports) {  'use strict';























var invariant=function(condition,format,a,b,c,d,e,f){
if(__DEV__){
if(format===undefined){
throw new Error('invariant requires an error message argument');}}



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(
'Invariant Violation: '+
format.replace(/%s/g,function(){return args[argIndex++];}));}



error.framesToPop=1;
throw error;}};



module.exports=invariant;
});
__d('keyMirror',function(global, require, module, exports) {  'use strict';













var invariant=require('invariant');



















var keyMirror=function(obj){
var ret={};
var key;
invariant(
obj instanceof Object&&!Array.isArray(obj),
'keyMirror(...): Argument must be an object.');

for(key in obj){
if(!obj.hasOwnProperty(key)){
continue;}

ret[key]=key;}

return ret;};


module.exports=keyMirror;
});
__d('performanceNow',function(global, require, module, exports) {  var 











performance=require('performance');
var curPerformance=performance;






if(!curPerformance||!curPerformance.now){
curPerformance=Date;}


var performanceNow=curPerformance.now.bind(curPerformance);

module.exports=performanceNow;
});
__d('performance',function(global, require, module, exports) {  'use strict';













var ExecutionEnvironment=require('ExecutionEnvironment');

var performance;

if(ExecutionEnvironment.canUseDOM){
performance=
window.performance||
window.msPerformance||
window.webkitPerformance;}


module.exports=performance||{};
});
__d('ExecutionEnvironment',function(global, require, module, exports) {  "use strict";























var canUseDOM=false;







var ExecutionEnvironment={

canUseDOM:canUseDOM,

canUseWorkers:typeof Worker!=='undefined',

canUseEventListeners:
canUseDOM&&!!(window.addEventListener||window.attachEvent),

canUseViewport:canUseDOM&&!!window.screen,

isInWorker:!canUseDOM};



module.exports=ExecutionEnvironment;
});
__d('warning',function(global, require, module, exports) {  'use strict';












var emptyFunction=require('emptyFunction');








var warning=emptyFunction;

if(__DEV__){
warning=function(condition,format){for(var _len=arguments.length,args=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}
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){
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) {}}};}




module.exports=warning;
});
__d('emptyFunction',function(global, require, module, exports) {  function 










makeEmptyFunction(arg){
return function(){
return arg;};}








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;
});
__d('JSTimers',function(global, require, module, exports) {  'use strict';













var RCTTiming=require('NativeModules').Timing;
var JSTimersExecution=require('JSTimersExecution');






var JSTimers={
Types:JSTimersExecution.Types,





_getFreeIndex:function(){
var freeIndex=JSTimersExecution.timerIDs.indexOf(null);
if(freeIndex===-1){
freeIndex=JSTimersExecution.timerIDs.length;}

return freeIndex;},






setTimeout:function(func,duration){for(var _len=arguments.length,args=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}
var newID=JSTimersExecution.GUID++;
var freeIndex=JSTimers._getFreeIndex();
JSTimersExecution.timerIDs[freeIndex]=newID;
JSTimersExecution.callbacks[freeIndex]=function(){
return func.apply(undefined,args);};

JSTimersExecution.types[freeIndex]=JSTimersExecution.Type.setTimeout;
RCTTiming.createTimer(newID,duration||0,Date.now(),false);
return newID;},






setInterval:function(func,duration){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2];}
var newID=JSTimersExecution.GUID++;
var freeIndex=JSTimers._getFreeIndex();
JSTimersExecution.timerIDs[freeIndex]=newID;
JSTimersExecution.callbacks[freeIndex]=function(){
return func.apply(undefined,args);};

JSTimersExecution.types[freeIndex]=JSTimersExecution.Type.setInterval;
RCTTiming.createTimer(newID,duration||0,Date.now(),true);
return newID;},






setImmediate:function(func){for(var _len3=arguments.length,args=Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++){args[_key3-1]=arguments[_key3];}
var newID=JSTimersExecution.GUID++;
var freeIndex=JSTimers._getFreeIndex();
JSTimersExecution.timerIDs[freeIndex]=newID;
JSTimersExecution.callbacks[freeIndex]=function(){
return func.apply(undefined,args);};

JSTimersExecution.types[freeIndex]=JSTimersExecution.Type.setImmediate;
JSTimersExecution.immediates.push(newID);
return newID;},





requestAnimationFrame:function(func){
var newID=JSTimersExecution.GUID++;
var freeIndex=JSTimers._getFreeIndex();
JSTimersExecution.timerIDs[freeIndex]=newID;
JSTimersExecution.callbacks[freeIndex]=func;
JSTimersExecution.types[freeIndex]=JSTimersExecution.Type.requestAnimationFrame;
RCTTiming.createTimer(newID,1,Date.now(),false);
return newID;},


clearTimeout:function(timerID){
JSTimers._clearTimerID(timerID);},


clearInterval:function(timerID){
JSTimers._clearTimerID(timerID);},


clearImmediate:function(timerID){
JSTimers._clearTimerID(timerID);
JSTimersExecution.immediates.splice(
JSTimersExecution.immediates.indexOf(timerID),
1);},



cancelAnimationFrame:function(timerID){
JSTimers._clearTimerID(timerID);},


_clearTimerID:function(timerID){


if(timerID==null){
return;}


var index=JSTimersExecution.timerIDs.indexOf(timerID);

if(index!==-1){
JSTimersExecution._clearIndex(index);
if(JSTimersExecution.types[index]!==JSTimersExecution.Type.setImmediate){
RCTTiming.deleteTimer(timerID);}}}};





module.exports=JSTimers;
});
__d('ReactUpdates',function(global, require, module, exports) {  'use strict';












var CallbackQueue=require('CallbackQueue');
var PooledClass=require('PooledClass');
var ReactPerf=require('ReactPerf');
var ReactReconciler=require('ReactReconciler');
var Transaction=require('Transaction');

var assign=require('Object.assign');
var invariant=require('invariant');

var dirtyComponents=[];
var asapCallbackQueue=CallbackQueue.getPooled();
var asapEnqueued=false;

var batchingStrategy=null;

function ensureInjected(){
invariant(
ReactUpdates.ReactReconcileTransaction&&batchingStrategy,
'ReactUpdates: must inject a reconcile transaction class and batching '+
'strategy');}



var NESTED_UPDATES={
initialize:function(){
this.dirtyComponentsLength=dirtyComponents.length;},

close:function(){
if(this.dirtyComponentsLength!==dirtyComponents.length){





dirtyComponents.splice(0,this.dirtyComponentsLength);
flushBatchedUpdates();}else 
{
dirtyComponents.length=0;}}};




var UPDATE_QUEUEING={
initialize:function(){
this.callbackQueue.reset();},

close:function(){
this.callbackQueue.notifyAll();}};



var TRANSACTION_WRAPPERS=[NESTED_UPDATES,UPDATE_QUEUEING];

function ReactUpdatesFlushTransaction(){
this.reinitializeTransaction();
this.dirtyComponentsLength=null;
this.callbackQueue=CallbackQueue.getPooled();
this.reconcileTransaction=
ReactUpdates.ReactReconcileTransaction.getPooled(false);}


assign(
ReactUpdatesFlushTransaction.prototype,
Transaction.Mixin,
{
getTransactionWrappers:function(){
return TRANSACTION_WRAPPERS;},


destructor:function(){
this.dirtyComponentsLength=null;
CallbackQueue.release(this.callbackQueue);
this.callbackQueue=null;
ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);
this.reconcileTransaction=null;},


perform:function(method,scope,a){


return Transaction.Mixin.perform.call(
this,
this.reconcileTransaction.perform,
this.reconcileTransaction,
method,
scope,
a);}});





PooledClass.addPoolingTo(ReactUpdatesFlushTransaction);

function batchedUpdates(callback,a,b,c,d,e){
ensureInjected();
batchingStrategy.batchedUpdates(callback,a,b,c,d,e);}









function mountOrderComparator(c1,c2){
return c1._mountOrder-c2._mountOrder;}


function runBatchedUpdates(transaction){
var len=transaction.dirtyComponentsLength;
invariant(
len===dirtyComponents.length,
'Expected flush transaction\'s stored dirty-components length (%s) to '+
'match dirty-components array length (%s).',
len,
dirtyComponents.length);





dirtyComponents.sort(mountOrderComparator);

for(var i=0;i<len;i++){



var component=dirtyComponents[i];




var callbacks=component._pendingCallbacks;
component._pendingCallbacks=null;

ReactReconciler.performUpdateIfNecessary(
component,
transaction.reconcileTransaction);


if(callbacks){
for(var j=0;j<callbacks.length;j++){
transaction.callbackQueue.enqueue(
callbacks[j],
component.getPublicInstance());}}}}






var flushBatchedUpdates=function(){




while(dirtyComponents.length||asapEnqueued){
if(dirtyComponents.length){
var transaction=ReactUpdatesFlushTransaction.getPooled();
transaction.perform(runBatchedUpdates,null,transaction);
ReactUpdatesFlushTransaction.release(transaction);}


if(asapEnqueued){
asapEnqueued=false;
var queue=asapCallbackQueue;
asapCallbackQueue=CallbackQueue.getPooled();
queue.notifyAll();
CallbackQueue.release(queue);}}};



flushBatchedUpdates=ReactPerf.measure(
'ReactUpdates',
'flushBatchedUpdates',
flushBatchedUpdates);






function enqueueUpdate(component){
ensureInjected();







if(!batchingStrategy.isBatchingUpdates){
batchingStrategy.batchedUpdates(enqueueUpdate,component);
return;}


dirtyComponents.push(component);}






function asap(callback,context){
invariant(
batchingStrategy.isBatchingUpdates,
'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where'+
'updates are not being batched.');

asapCallbackQueue.enqueue(callback,context);
asapEnqueued=true;}


var ReactUpdatesInjection={
injectReconcileTransaction:function(ReconcileTransaction){
invariant(
ReconcileTransaction,
'ReactUpdates: must provide a reconcile transaction class');

ReactUpdates.ReactReconcileTransaction=ReconcileTransaction;},


injectBatchingStrategy:function(_batchingStrategy){
invariant(
_batchingStrategy,
'ReactUpdates: must provide a batching strategy');

invariant(
typeof _batchingStrategy.batchedUpdates==='function',
'ReactUpdates: must provide a batchedUpdates() function');

invariant(
typeof _batchingStrategy.isBatchingUpdates==='boolean',
'ReactUpdates: must provide an isBatchingUpdates boolean attribute');

batchingStrategy=_batchingStrategy;}};



var ReactUpdates={






ReactReconcileTransaction:null,

batchedUpdates:batchedUpdates,
enqueueUpdate:enqueueUpdate,
flushBatchedUpdates:flushBatchedUpdates,
injection:ReactUpdatesInjection,
asap:asap};


module.exports=ReactUpdates;
});
__d('CallbackQueue',function(global, require, module, exports) {  'use strict';












var PooledClass=require('PooledClass');

var assign=require('Object.assign');
var invariant=require('invariant');












function CallbackQueue(){
this._callbacks=null;
this._contexts=null;}


assign(CallbackQueue.prototype,{








enqueue:function(callback,context){
this._callbacks=this._callbacks||[];
this._contexts=this._contexts||[];
this._callbacks.push(callback);
this._contexts.push(context);},








notifyAll:function(){
var callbacks=this._callbacks;
var contexts=this._contexts;
if(callbacks){
invariant(
callbacks.length===contexts.length,
'Mismatched list of contexts in callback queue');

this._callbacks=null;
this._contexts=null;
for(var i=0;i<callbacks.length;i++){
callbacks[i].call(contexts[i]);}

callbacks.length=0;
contexts.length=0;}},








reset:function(){
this._callbacks=null;
this._contexts=null;},





destructor:function(){
this.reset();}});




PooledClass.addPoolingTo(CallbackQueue);

module.exports=CallbackQueue;
});
__d('PooledClass',function(global, require, module, exports) {  'use strict';












var invariant=require('invariant');








var oneArgumentPooler=function(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(a1,a2){
var Klass=this;
if(Klass.instancePool.length){
var instance=Klass.instancePool.pop();
Klass.call(instance,a1,a2);
return instance;}else 
{
return new Klass(a1,a2);}};



var threeArgumentPooler=function(a1,a2,a3){
var Klass=this;
if(Klass.instancePool.length){
var instance=Klass.instancePool.pop();
Klass.call(instance,a1,a2,a3);
return instance;}else 
{
return new Klass(a1,a2,a3);}};



var fourArgumentPooler=function(a1,a2,a3,a4){
var Klass=this;
if(Klass.instancePool.length){
var instance=Klass.instancePool.pop();
Klass.call(instance,a1,a2,a3,a4);
return instance;}else 
{
return new Klass(a1,a2,a3,a4);}};



var fiveArgumentPooler=function(a1,a2,a3,a4,a5){
var Klass=this;
if(Klass.instancePool.length){
var instance=Klass.instancePool.pop();
Klass.call(instance,a1,a2,a3,a4,a5);
return instance;}else 
{
return new Klass(a1,a2,a3,a4,a5);}};



var standardReleaser=function(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(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,
fiveArgumentPooler:fiveArgumentPooler};


module.exports=PooledClass;
});
__d('Object.assign',function(global, require, module, exports) {  'use strict';














function assign(target,sources){
if(target==null){
throw new TypeError('Object.assign target cannot be null or undefined');}


var to=Object(target);
var hasOwnProperty=Object.prototype.hasOwnProperty;

for(var nextIndex=1;nextIndex<arguments.length;nextIndex++){
var nextSource=arguments[nextIndex];
if(nextSource==null){
continue;}


var from=Object(nextSource);






for(var key in from){
if(hasOwnProperty.call(from,key)){
to[key]=from[key];}}}




return to;}


module.exports=assign;
});
__d('ReactReconciler',function(global, require, module, exports) {  'use strict';












var ReactRef=require('ReactRef');





function attachRefs(){
ReactRef.attachRefs(this,this._currentElement);}


var ReactReconciler={











mountComponent:function(internalInstance,rootID,transaction,context){
var markup=internalInstance.mountComponent(rootID,transaction,context);
if(internalInstance._currentElement&&
internalInstance._currentElement.ref!=null){
transaction.getReactMountReady().enqueue(attachRefs,internalInstance);}

return markup;},








unmountComponent:function(internalInstance){
ReactRef.detachRefs(internalInstance,internalInstance._currentElement);
internalInstance.unmountComponent();},











receiveComponent:function(
internalInstance,nextElement,transaction,context)
{
var prevElement=internalInstance._currentElement;

if(nextElement===prevElement&&
context===internalInstance._context)
{










return;}


var refsChanged=ReactRef.shouldUpdateRefs(
prevElement,
nextElement);


if(refsChanged){
ReactRef.detachRefs(internalInstance,prevElement);}


internalInstance.receiveComponent(nextElement,transaction,context);

if(refsChanged&&
internalInstance._currentElement&&
internalInstance._currentElement.ref!=null){
transaction.getReactMountReady().enqueue(attachRefs,internalInstance);}},










performUpdateIfNecessary:function(
internalInstance,
transaction)
{
internalInstance.performUpdateIfNecessary(transaction);}};




module.exports=ReactReconciler;
});
__d('ReactRef',function(global, require, module, exports) {  'use strict';












var ReactOwner=require('ReactOwner');

var ReactRef={};

function attachRef(ref,component,owner){
if(typeof ref==='function'){
ref(component.getPublicInstance());}else 
{

ReactOwner.addComponentAsRefTo(component,ref,owner);}}



function detachRef(ref,component,owner){
if(typeof ref==='function'){
ref(null);}else 
{

ReactOwner.removeComponentAsRefFrom(component,ref,owner);}}



ReactRef.attachRefs=function(instance,element){
if(element===null||element===false){
return;}

var ref=element.ref;
if(ref!=null){
attachRef(ref,instance,element._owner);}};



ReactRef.shouldUpdateRefs=function(prevElement,nextElement){












var prevEmpty=prevElement===null||prevElement===false;
var nextEmpty=nextElement===null||nextElement===false;

return (

prevEmpty||nextEmpty||
nextElement._owner!==prevElement._owner||
nextElement.ref!==prevElement.ref);};



ReactRef.detachRefs=function(instance,element){
if(element===null||element===false){
return;}

var ref=element.ref;
if(ref!=null){
detachRef(ref,instance,element._owner);}};



module.exports=ReactRef;
});
__d('ReactOwner',function(global, require, module, exports) {  'use strict';












var invariant=require('invariant');































var ReactOwner={






isValidOwner:function(object){
return !!(
object&&
typeof object.attachRef==='function'&&
typeof object.detachRef==='function');},












addComponentAsRefTo:function(component,ref,owner){
invariant(
ReactOwner.isValidOwner(owner),
'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might '+
'be adding a ref to a component that was not created inside a component\'s '+
'`render` method, or you have multiple copies of React loaded '+
'(details: https://fb.me/react-refs-must-have-owner).');

owner.attachRef(ref,component);},











removeComponentAsRefFrom:function(component,ref,owner){
invariant(
ReactOwner.isValidOwner(owner),
'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might '+
'be removing a ref to a component that was not created inside a component\'s '+
'`render` method, or you have multiple copies of React loaded '+
'(details: https://fb.me/react-refs-must-have-owner).');



if(owner.getPublicInstance().refs[ref]===component.getPublicInstance()){
owner.detachRef(ref);}}};





module.exports=ReactOwner;
});
__d('Transaction',function(global, require, module, exports) {  'use strict';












var invariant=require('invariant');






























































var Mixin={







reinitializeTransaction:function(){
this.transactionWrappers=this.getTransactionWrappers();
if(this.wrapperInitData){
this.wrapperInitData.length=0;}else 
{
this.wrapperInitData=[];}

this._isInTransaction=false;},


_isInTransaction:false,





getTransactionWrappers:null,

isInTransaction:function(){
return !!this._isInTransaction;},



















perform:function(method,scope,a,b,c,d,e,f){
invariant(
!this.isInTransaction(),
'Transaction.perform(...): Cannot initialize a transaction when there '+
'is already an outstanding transaction.');

var errorThrown;
var ret;
try{
this._isInTransaction=true;




errorThrown=true;
this.initializeAll(0);
ret=method.call(scope,a,b,c,d,e,f);
errorThrown=false;}finally 
{
try{
if(errorThrown){


try{
this.closeAll(0);}
catch(err) {}}else 

{


this.closeAll(0);}}finally 

{
this._isInTransaction=false;}}


return ret;},


initializeAll:function(startIndex){
var transactionWrappers=this.transactionWrappers;
for(var i=startIndex;i<transactionWrappers.length;i++){
var wrapper=transactionWrappers[i];
try{




this.wrapperInitData[i]=Transaction.OBSERVED_ERROR;
this.wrapperInitData[i]=wrapper.initialize?
wrapper.initialize.call(this):
null;}finally 
{
if(this.wrapperInitData[i]===Transaction.OBSERVED_ERROR){



try{
this.initializeAll(i+1);}
catch(err) {}}}}},












closeAll:function(startIndex){
invariant(
this.isInTransaction(),
'Transaction.closeAll(): Cannot close transaction when none are open.');

var transactionWrappers=this.transactionWrappers;
for(var i=startIndex;i<transactionWrappers.length;i++){
var wrapper=transactionWrappers[i];
var initData=this.wrapperInitData[i];
var errorThrown;
try{




errorThrown=true;
if(initData!==Transaction.OBSERVED_ERROR&&wrapper.close){
wrapper.close.call(this,initData);}

errorThrown=false;}finally 
{
if(errorThrown){



try{
this.closeAll(i+1);}
catch(e) {}}}}




this.wrapperInitData.length=0;}};



var Transaction={

Mixin:Mixin,




OBSERVED_ERROR:{}};



module.exports=Transaction;
});
__d('stringifySafe',function(global, require, module, exports) {  '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;
});
__d('nativeModulePrefixNormalizer',function(global, require, module, exports) {  'use strict';













function nativeModulePrefixNormalizer(
modules)
{
Object.keys(modules).forEach(function(moduleName){
var strippedName=moduleName.replace(/^(RCT|RK)/,'');
if(modules['RCT'+strippedName]&&modules['RK'+strippedName]){
throw new Error(
'Module cannot be registered as both RCT and RK: '+moduleName);}


if(strippedName!==moduleName){
modules[strippedName]=modules[moduleName];
delete modules[moduleName];}});}




module.exports=nativeModulePrefixNormalizer;
});
__d('loadSourceMap',function(global, require, module, exports) {  'use strict';













var Promise=require('Promise');
var NativeModules=require('NativeModules');
var SourceMapConsumer=require('SourceMap').SourceMapConsumer;
var SourceMapURL=require('react-native/Libraries/JavaScriptAppEngine/Initialization/source-map-url.js');

var RCTSourceCode=NativeModules.SourceCode;
var RCTNetworking=NativeModules.Networking;

function loadSourceMap(){
return fetchSourceMap().
then(function(map){return new SourceMapConsumer(map);});}


function fetchSourceMap(){
if(global.RAW_SOURCE_MAP){
return Promise.resolve(global.RAW_SOURCE_MAP);}


if(!RCTSourceCode){
return Promise.reject(new Error('RCTSourceCode module is not available'));}


if(!RCTNetworking){

return Promise.reject(new Error('RCTNetworking module is not available'));}


return new Promise(RCTSourceCode.getScriptText).
then(extractSourceMapURL).
then(function(url){
if(url===null){
return Promise.reject(new Error('No source map URL found. May be running from bundled file.'));}

return Promise.resolve(url);}).

then(fetch).
then(function(response){return response.text();});}


function extractSourceMapURL(_ref){var url=_ref.url;var text=_ref.text;var fullSourceMappingURL=_ref.fullSourceMappingURL;
if(fullSourceMappingURL){
return fullSourceMappingURL;}

var mapURL=SourceMapURL.getFrom(text);
if(!mapURL){
return null;}

var baseURL=url.match(/(.+:\/\/.*?)\//)[1];
return baseURL+mapURL;}


module.exports=loadSourceMap;
});
__d('Promise',function(global, require, module, exports) {  'use strict';























global.setImmediate=require('setImmediate');
var Promise=require('promise/setimmediate/es6-extensions.js');
require('promise/setimmediate/done.js');




Promise.prototype.finally=function(onSettled){
return this.then(onSettled,onSettled);};



module.exports=Promise;
});
__d('setImmediate',function(global, require, module, exports) {  module.
















exports=global.setImmediate||
require('ImmediateImplementation').setImmediate;
});
__d('ImmediateImplementation',function(global, require, module, exports) {  /**
 * @generated SignedSource<<57d0446bbd1186485d372efe6b323dca>>
 *
 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 * !! This file is a check-in of a static_upstream project!      !!
 * !!                                                            !!
 * !! You should not modify this file directly. Instead:         !!
 * !! 1) Use `fjs use-upstream` to temporarily replace this with !!
 * !!    the latest version from upstream.                       !!
 * !! 2) Make your changes, test them, etc.                      !!
 * !! 3) Use `fjs push-upstream` to copy your changes back to    !!
 * !!    static_upstream.                                        !!
 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 *
 * Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic
 * Denicola
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * @preserve-header
 * @providesModule ImmediateImplementation
 */

(function(global,undefined){
"use strict";

var nextHandle=1;
var tasksByHandle={};
var queueHead={};
var queueTail=queueHead;
var currentlyRunningATask=false;
var doc=global.document;
var setImmediate;

function addFromSetImmediateArguments(args){
var handler=args[0];
args=Array.prototype.slice.call(args,1);
tasksByHandle[nextHandle]=function(){
handler.apply(undefined,args);};

queueTail=queueTail.next={handle:nextHandle++};
return queueTail.handle;}


function flushQueue(){
var next,task;
while(!currentlyRunningATask&&(next=queueHead.next)){
queueHead=next;
if(task=tasksByHandle[next.handle]){
currentlyRunningATask=true;
try{
task();
currentlyRunningATask=false;}finally 
{
clearImmediate(next.handle);
if(currentlyRunningATask){
currentlyRunningATask=false;






if(queueHead.next){
setImmediate(flushQueue);}}}}}}







function clearImmediate(handle){
delete tasksByHandle[handle];}


function canUsePostMessage(){


if(global.postMessage&&!global.importScripts){
var postMessageIsAsynchronous=true;

var onMessage=function(){
postMessageIsAsynchronous=false;
if(global.removeEventListener){
global.removeEventListener("message",onMessage,false);}else 
{
global.detachEvent("onmessage",onMessage);}};



if(global.addEventListener){
global.addEventListener("message",onMessage,false);}else 
if(global.attachEvent){
global.attachEvent("onmessage",onMessage);}else 
{
return false;}


global.postMessage("","*");
return postMessageIsAsynchronous;}}



function installPostMessageImplementation(){


var messagePrefix="setImmediate$"+Math.random()+"$";
var onGlobalMessage=function(event){
if(event.source===global&&
typeof event.data==="string"&&
event.data.indexOf(messagePrefix)===0){
flushQueue();}};



if(global.addEventListener){
global.addEventListener("message",onGlobalMessage,false);}else 
{
global.attachEvent("onmessage",onGlobalMessage);}


setImmediate=function(){
var handle=addFromSetImmediateArguments(arguments);
global.postMessage(messagePrefix+handle,"*");
return handle;};}



function installMessageChannelImplementation(){
var channel=new MessageChannel();
channel.port1.onmessage=flushQueue;
setImmediate=function(){
var handle=addFromSetImmediateArguments(arguments);
channel.port2.postMessage(handle);
return handle;};}



function installReadyStateChangeImplementation(){
var html=doc.documentElement;
setImmediate=function(){
var handle=addFromSetImmediateArguments(arguments);


var script=doc.createElement("script");
script.onreadystatechange=function(){
script.onreadystatechange=null;
html.removeChild(script);
script=null;
flushQueue();};

html.appendChild(script);
return handle;};}



function installSetTimeoutImplementation(){
setImmediate=function(){
setTimeout(flushQueue,0);
return addFromSetImmediateArguments(arguments);};}



if(canUsePostMessage()){

installPostMessageImplementation();}else 

if(global.MessageChannel){

installMessageChannelImplementation();}else 

if(doc&&"onreadystatechange" in doc.createElement("script")){

installReadyStateChangeImplementation();}else 

{

installSetTimeoutImplementation();}


exports.setImmediate=setImmediate;
exports.clearImmediate=clearImmediate;})(
Function("return this")());
});
__d('promise/setimmediate/es6-extensions.js',function(global, require, module, exports) {  'use strict';



var Promise=require('promise/setimmediate/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._99);
p._37=1;
p._12=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._37===3){
val=val._12;}

if(val._37===1)return res(i,val._12);
if(val._37===2)reject(val._12);
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);};
});
__d('promise/setimmediate/core.js',function(global, require, module, exports) {  '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('not a function');}

this._37=0;
this._12=null;
this._59=[];
if(fn===noop)return;
doResolve(fn,this);}

Promise._99=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._37===3){
self=self._12;}

if(self._37===0){
self._59.push(deferred);
return;}

setImmediate(function(){
var cb=self._37===1?deferred.onFulfilled:deferred.onRejected;
if(cb===null){
if(self._37===1){
resolve(deferred.promise,self._12);}else 
{
reject(deferred.promise,self._12);}

return;}

var ret=tryCallOne(cb,self._12);
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._37=3;
self._12=newValue;
finale(self);
return;}else 
if(typeof then==='function'){
doResolve(then.bind(newValue),self);
return;}}


self._37=1;
self._12=newValue;
finale(self);}


function reject(self,newValue){
self._37=2;
self._12=newValue;
finale(self);}

function finale(self){
for(var i=0;i<self._59.length;i++){
handle(self,self._59[i]);}

self._59=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);}}
});
__d('promise/setimmediate/done.js',function(global, require, module, exports) {  'use strict';

var Promise=require('promise/setimmediate/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);});};
});
__d('SourceMap',function(global, require, module, exports) {  var 























scope={};
wrapper.call(scope);

module.exports=scope.sourceMap;

function wrapper(){














function define(moduleName,deps,payload){
if(typeof moduleName!="string"){
throw new TypeError('Expected string, got: '+moduleName);}


if(arguments.length==2){
payload=deps;}


if(moduleName in define.modules){
throw new Error("Module already defined: "+moduleName);}

define.modules[moduleName]=payload;}
;




define.modules={};










function Domain(){
this.modules={};
this._currentModule=null;}


(function(){
















Domain.prototype.require=function(deps,callback){
if(Array.isArray(deps)){
var params=deps.map(function(dep){
return this.lookup(dep);},
this);
if(callback){
callback.apply(null,params);}

return undefined;}else 

{
return this.lookup(deps);}};



function normalize(path){
var bits=path.split('/');
var i=1;
while(i<bits.length){
if(bits[i]==='..'){
bits.splice(i-1,1);}else 
if(bits[i]==='.'){
bits.splice(i,1);}else 
{
i++;}}


return bits.join('/');}


function join(a,b){
a=a.trim();
b=b.trim();
if(/^\//.test(b)){
return b;}else 
{
return a.replace(/\/*$/,'/')+b;}}



function dirname(path){
var bits=path.split('/');
bits.pop();
return bits.join('/');}








Domain.prototype.lookup=function(moduleName){
if(/^\./.test(moduleName)){
moduleName=normalize(join(dirname(this._currentModule),moduleName));}


if(moduleName in this.modules){
var module=this.modules[moduleName];
return module;}


if(!(moduleName in define.modules)){
throw new Error("Module not defined: "+moduleName);}


var module=define.modules[moduleName];

if(typeof module=="function"){
var exports={};
var previousModule=this._currentModule;
this._currentModule=moduleName;
module(this.require.bind(this),exports,{id:moduleName,uri:""});
this._currentModule=previousModule;
module=exports;}



this.modules[moduleName]=module;

return module;};})();




define.Domain=Domain;
define.globalDomain=new Domain();
var require=define.globalDomain.require.bind(define.globalDomain);






define('source-map/source-map-generator',['require','exports','module','source-map/base64-vlq','source-map/util','source-map/array-set'],function(require,exports,module){

var base64VLQ=require('./base64-vlq');
var util=require('./util');
var ArraySet=require('./array-set').ArraySet;









function SourceMapGenerator(aArgs){
this._file=util.getArg(aArgs,'file');
this._sourceRoot=util.getArg(aArgs,'sourceRoot',null);
this._sources=new ArraySet();
this._names=new ArraySet();
this._mappings=[];
this._sourcesContents=null;}


SourceMapGenerator.prototype._version=3;






SourceMapGenerator.fromSourceMap=
function SourceMapGenerator_fromSourceMap(aSourceMapConsumer){
var sourceRoot=aSourceMapConsumer.sourceRoot;
var generator=new SourceMapGenerator({
file:aSourceMapConsumer.file,
sourceRoot:sourceRoot});

aSourceMapConsumer.eachMapping(function(mapping){
var newMapping={
generated:{
line:mapping.generatedLine,
column:mapping.generatedColumn}};



if(mapping.source){
newMapping.source=mapping.source;
if(sourceRoot){
newMapping.source=util.relative(sourceRoot,newMapping.source);}


newMapping.original={
line:mapping.originalLine,
column:mapping.originalColumn};


if(mapping.name){
newMapping.name=mapping.name;}}



generator.addMapping(newMapping);});

aSourceMapConsumer.sources.forEach(function(sourceFile){
var content=aSourceMapConsumer.sourceContentFor(sourceFile);
if(content){
generator.setSourceContent(sourceFile,content);}});


return generator;};












SourceMapGenerator.prototype.addMapping=
function SourceMapGenerator_addMapping(aArgs){
var generated=util.getArg(aArgs,'generated');
var original=util.getArg(aArgs,'original',null);
var source=util.getArg(aArgs,'source',null);
var name=util.getArg(aArgs,'name',null);

this._validateMapping(generated,original,source,name);

if(source&&!this._sources.has(source)){
this._sources.add(source);}


if(name&&!this._names.has(name)){
this._names.add(name);}


this._mappings.push({
generatedLine:generated.line,
generatedColumn:generated.column,
originalLine:original!=null&&original.line,
originalColumn:original!=null&&original.column,
source:source,
name:name});};






SourceMapGenerator.prototype.setSourceContent=
function SourceMapGenerator_setSourceContent(aSourceFile,aSourceContent){
var source=aSourceFile;
if(this._sourceRoot){
source=util.relative(this._sourceRoot,source);}


if(aSourceContent!==null){


if(!this._sourcesContents){
this._sourcesContents={};}

this._sourcesContents[util.toSetString(source)]=aSourceContent;}else 
{


delete this._sourcesContents[util.toSetString(source)];
if(Object.keys(this._sourcesContents).length===0){
this._sourcesContents=null;}}};














SourceMapGenerator.prototype.applySourceMap=
function SourceMapGenerator_applySourceMap(aSourceMapConsumer,aSourceFile){

if(!aSourceFile){
aSourceFile=aSourceMapConsumer.file;}

var sourceRoot=this._sourceRoot;

if(sourceRoot){
aSourceFile=util.relative(sourceRoot,aSourceFile);}



var newSources=new ArraySet();
var newNames=new ArraySet();


this._mappings.forEach(function(mapping){
if(mapping.source===aSourceFile&&mapping.originalLine){

var original=aSourceMapConsumer.originalPositionFor({
line:mapping.originalLine,
column:mapping.originalColumn});

if(original.source!==null){

if(sourceRoot){
mapping.source=util.relative(sourceRoot,original.source);}else 
{
mapping.source=original.source;}

mapping.originalLine=original.line;
mapping.originalColumn=original.column;
if(original.name!==null&&mapping.name!==null){


mapping.name=original.name;}}}




var source=mapping.source;
if(source&&!newSources.has(source)){
newSources.add(source);}


var name=mapping.name;
if(name&&!newNames.has(name)){
newNames.add(name);}},


this);
this._sources=newSources;
this._names=newNames;


aSourceMapConsumer.sources.forEach(function(sourceFile){
var content=aSourceMapConsumer.sourceContentFor(sourceFile);
if(content){
if(sourceRoot){
sourceFile=util.relative(sourceRoot,sourceFile);}

this.setSourceContent(sourceFile,content);}},

this);};













SourceMapGenerator.prototype._validateMapping=
function SourceMapGenerator_validateMapping(aGenerated,aOriginal,aSource,
aName){
if(aGenerated&&'line' in aGenerated&&'column' in aGenerated&&
aGenerated.line>0&&aGenerated.column>=0&&
!aOriginal&&!aSource&&!aName){

return;}else 

if(aGenerated&&'line' in aGenerated&&'column' in aGenerated&&
aOriginal&&'line' in aOriginal&&'column' in aOriginal&&
aGenerated.line>0&&aGenerated.column>=0&&
aOriginal.line>0&&aOriginal.column>=0&&
aSource){

return;}else 

{
throw new Error('Invalid mapping: '+JSON.stringify({
generated:aGenerated,
source:aSource,
orginal:aOriginal,
name:aName}));}};








SourceMapGenerator.prototype._serializeMappings=
function SourceMapGenerator_serializeMappings(){
var previousGeneratedColumn=0;
var previousGeneratedLine=1;
var previousOriginalColumn=0;
var previousOriginalLine=0;
var previousName=0;
var previousSource=0;
var result='';
var mapping;






this._mappings.sort(util.compareByGeneratedPositions);

for(var i=0,len=this._mappings.length;i<len;i++){
mapping=this._mappings[i];

if(mapping.generatedLine!==previousGeneratedLine){
previousGeneratedColumn=0;
while(mapping.generatedLine!==previousGeneratedLine){
result+=';';
previousGeneratedLine++;}}else 


{
if(i>0){
if(!util.compareByGeneratedPositions(mapping,this._mappings[i-1])){
continue;}

result+=',';}}



result+=base64VLQ.encode(mapping.generatedColumn-
previousGeneratedColumn);
previousGeneratedColumn=mapping.generatedColumn;

if(mapping.source){
result+=base64VLQ.encode(this._sources.indexOf(mapping.source)-
previousSource);
previousSource=this._sources.indexOf(mapping.source);


result+=base64VLQ.encode(mapping.originalLine-1-
previousOriginalLine);
previousOriginalLine=mapping.originalLine-1;

result+=base64VLQ.encode(mapping.originalColumn-
previousOriginalColumn);
previousOriginalColumn=mapping.originalColumn;

if(mapping.name){
result+=base64VLQ.encode(this._names.indexOf(mapping.name)-
previousName);
previousName=this._names.indexOf(mapping.name);}}}




return result;};


SourceMapGenerator.prototype._generateSourcesContent=
function SourceMapGenerator_generateSourcesContent(aSources,aSourceRoot){
return aSources.map(function(source){
if(!this._sourcesContents){
return null;}

if(aSourceRoot){
source=util.relative(aSourceRoot,source);}

var key=util.toSetString(source);
return Object.prototype.hasOwnProperty.call(this._sourcesContents,
key)?
this._sourcesContents[key]:
null;},
this);};





SourceMapGenerator.prototype.toJSON=
function SourceMapGenerator_toJSON(){
var map={
version:this._version,
file:this._file,
sources:this._sources.toArray(),
names:this._names.toArray(),
mappings:this._serializeMappings()};

if(this._sourceRoot){
map.sourceRoot=this._sourceRoot;}

if(this._sourcesContents){
map.sourcesContent=this._generateSourcesContent(map.sources,map.sourceRoot);}


return map;};





SourceMapGenerator.prototype.toString=
function SourceMapGenerator_toString(){
return JSON.stringify(this);};


exports.SourceMapGenerator=SourceMapGenerator;});






































define('source-map/base64-vlq',['require','exports','module','source-map/base64'],function(require,exports,module){

var base64=require('./base64');













var VLQ_BASE_SHIFT=5;


var VLQ_BASE=1<<VLQ_BASE_SHIFT;


var VLQ_BASE_MASK=VLQ_BASE-1;


var VLQ_CONTINUATION_BIT=VLQ_BASE;







function toVLQSigned(aValue){
return aValue<0?
(-aValue<<1)+1:
(aValue<<1)+0;}








function fromVLQSigned(aValue){
var isNegative=(aValue&1)===1;
var shifted=aValue>>1;
return isNegative?
-shifted:
shifted;}





exports.encode=function base64VLQ_encode(aValue){
var encoded="";
var digit;

var vlq=toVLQSigned(aValue);

do {
digit=vlq&VLQ_BASE_MASK;
vlq>>>=VLQ_BASE_SHIFT;
if(vlq>0){


digit|=VLQ_CONTINUATION_BIT;}

encoded+=base64.encode(digit);}while(
vlq>0);

return encoded;};






exports.decode=function base64VLQ_decode(aStr){
var i=0;
var strLen=aStr.length;
var result=0;
var shift=0;
var continuation,digit;

do {
if(i>=strLen){
throw new Error("Expected more digits in base 64 VLQ value.");}

digit=base64.decode(aStr.charAt(i++));
continuation=!!(digit&VLQ_CONTINUATION_BIT);
digit&=VLQ_BASE_MASK;
result=result+(digit<<shift);
shift+=VLQ_BASE_SHIFT;}while(
continuation);

return {
value:fromVLQSigned(result),
rest:aStr.slice(i)};};});










define('source-map/base64',['require','exports','module'],function(require,exports,module){

var charToIntMap={};
var intToCharMap={};

'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.
split('').
forEach(function(ch,index){
charToIntMap[ch]=index;
intToCharMap[index]=ch;});





exports.encode=function base64_encode(aNumber){
if(aNumber in intToCharMap){
return intToCharMap[aNumber];}

throw new TypeError("Must be between 0 and 63: "+aNumber);};





exports.decode=function base64_decode(aChar){
if(aChar in charToIntMap){
return charToIntMap[aChar];}

throw new TypeError("Not a valid base 64 digit: "+aChar);};});









define('source-map/util',['require','exports','module'],function(require,exports,module){











function getArg(aArgs,aName,aDefaultValue){
if(aName in aArgs){
return aArgs[aName];}else 
if(arguments.length===3){
return aDefaultValue;}else 
{
throw new Error('"'+aName+'" is a required argument.');}}


exports.getArg=getArg;

var urlRegexp=/([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/;
var dataUrlRegexp=/^data:.+\,.+/;

function urlParse(aUrl){
var match=aUrl.match(urlRegexp);
if(!match){
return null;}

return {
scheme:match[1],
auth:match[3],
host:match[4],
port:match[6],
path:match[7]};}


exports.urlParse=urlParse;

function urlGenerate(aParsedUrl){
var url=aParsedUrl.scheme+"://";
if(aParsedUrl.auth){
url+=aParsedUrl.auth+"@";}

if(aParsedUrl.host){
url+=aParsedUrl.host;}

if(aParsedUrl.port){
url+=":"+aParsedUrl.port;}

if(aParsedUrl.path){
url+=aParsedUrl.path;}

return url;}

exports.urlGenerate=urlGenerate;

function join(aRoot,aPath){
var url;

if(aPath.match(urlRegexp)||aPath.match(dataUrlRegexp)){
return aPath;}


if(aPath.charAt(0)==='/'&&(url=urlParse(aRoot))){
url.path=aPath;
return urlGenerate(url);}


return aRoot.replace(/\/$/,'')+'/'+aPath;}

exports.join=join;










function toSetString(aStr){
return '$'+aStr;}

exports.toSetString=toSetString;

function fromSetString(aStr){
return aStr.substr(1);}

exports.fromSetString=fromSetString;

function relative(aRoot,aPath){
aRoot=aRoot.replace(/\/$/,'');

var url=urlParse(aRoot);
if(aPath.charAt(0)=="/"&&url&&url.path=="/"){
return aPath.slice(1);}


return aPath.indexOf(aRoot+'/')===0?
aPath.substr(aRoot.length+1):
aPath;}

exports.relative=relative;

function strcmp(aStr1,aStr2){
var s1=aStr1||"";
var s2=aStr2||"";
return (s1>s2)-(s1<s2);}










function compareByOriginalPositions(mappingA,mappingB,onlyCompareOriginal){
var cmp;

cmp=strcmp(mappingA.source,mappingB.source);
if(cmp){
return cmp;}


cmp=mappingA.originalLine-mappingB.originalLine;
if(cmp){
return cmp;}


cmp=mappingA.originalColumn-mappingB.originalColumn;
if(cmp||onlyCompareOriginal){
return cmp;}


cmp=strcmp(mappingA.name,mappingB.name);
if(cmp){
return cmp;}


cmp=mappingA.generatedLine-mappingB.generatedLine;
if(cmp){
return cmp;}


return mappingA.generatedColumn-mappingB.generatedColumn;}
;
exports.compareByOriginalPositions=compareByOriginalPositions;










function compareByGeneratedPositions(mappingA,mappingB,onlyCompareGenerated){
var cmp;

cmp=mappingA.generatedLine-mappingB.generatedLine;
if(cmp){
return cmp;}


cmp=mappingA.generatedColumn-mappingB.generatedColumn;
if(cmp||onlyCompareGenerated){
return cmp;}


cmp=strcmp(mappingA.source,mappingB.source);
if(cmp){
return cmp;}


cmp=mappingA.originalLine-mappingB.originalLine;
if(cmp){
return cmp;}


cmp=mappingA.originalColumn-mappingB.originalColumn;
if(cmp){
return cmp;}


return strcmp(mappingA.name,mappingB.name);}
;
exports.compareByGeneratedPositions=compareByGeneratedPositions;});








define('source-map/array-set',['require','exports','module','source-map/util'],function(require,exports,module){

var util=require('./util');







function ArraySet(){
this._array=[];
this._set={};}





ArraySet.fromArray=function ArraySet_fromArray(aArray,aAllowDuplicates){
var set=new ArraySet();
for(var i=0,len=aArray.length;i<len;i++){
set.add(aArray[i],aAllowDuplicates);}

return set;};







ArraySet.prototype.add=function ArraySet_add(aStr,aAllowDuplicates){
var isDuplicate=this.has(aStr);
var idx=this._array.length;
if(!isDuplicate||aAllowDuplicates){
this._array.push(aStr);}

if(!isDuplicate){
this._set[util.toSetString(aStr)]=idx;}};








ArraySet.prototype.has=function ArraySet_has(aStr){
return Object.prototype.hasOwnProperty.call(this._set,
util.toSetString(aStr));};







ArraySet.prototype.indexOf=function ArraySet_indexOf(aStr){
if(this.has(aStr)){
return this._set[util.toSetString(aStr)];}

throw new Error('"'+aStr+'" is not in the set.');};







ArraySet.prototype.at=function ArraySet_at(aIdx){
if(aIdx>=0&&aIdx<this._array.length){
return this._array[aIdx];}

throw new Error('No element indexed by '+aIdx);};







ArraySet.prototype.toArray=function ArraySet_toArray(){
return this._array.slice();};


exports.ArraySet=ArraySet;});








define('source-map/source-map-consumer',['require','exports','module','source-map/util','source-map/binary-search','source-map/array-set','source-map/base64-vlq'],function(require,exports,module){

var util=require('./util');
var binarySearch=require('./binary-search');
var ArraySet=require('./array-set').ArraySet;
var base64VLQ=require('./base64-vlq');































function SourceMapConsumer(aSourceMap){
var sourceMap=aSourceMap;
if(typeof aSourceMap==='string'){
sourceMap=JSON.parse(aSourceMap.replace(/^\)\]\}'/,''));}


var version=util.getArg(sourceMap,'version');
var sources=util.getArg(sourceMap,'sources');


var names=util.getArg(sourceMap,'names',[]);
var sourceRoot=util.getArg(sourceMap,'sourceRoot',null);
var sourcesContent=util.getArg(sourceMap,'sourcesContent',null);
var mappings=util.getArg(sourceMap,'mappings');
var file=util.getArg(sourceMap,'file',null);



if(version!=this._version){
throw new Error('Unsupported version: '+version);}






this._names=ArraySet.fromArray(names,true);
this._sources=ArraySet.fromArray(sources,true);

this.sourceRoot=sourceRoot;
this.sourcesContent=sourcesContent;
this._mappings=mappings;
this.file=file;}









SourceMapConsumer.fromSourceMap=
function SourceMapConsumer_fromSourceMap(aSourceMap){
var smc=Object.create(SourceMapConsumer.prototype);

smc._names=ArraySet.fromArray(aSourceMap._names.toArray(),true);
smc._sources=ArraySet.fromArray(aSourceMap._sources.toArray(),true);
smc.sourceRoot=aSourceMap._sourceRoot;
smc.sourcesContent=aSourceMap._generateSourcesContent(smc._sources.toArray(),
smc.sourceRoot);
smc.file=aSourceMap._file;

smc.__generatedMappings=aSourceMap._mappings.slice().
sort(util.compareByGeneratedPositions);
smc.__originalMappings=aSourceMap._mappings.slice().
sort(util.compareByOriginalPositions);

return smc;};





SourceMapConsumer.prototype._version=3;




Object.defineProperty(SourceMapConsumer.prototype,'sources',{
get:function(){
return this._sources.toArray().map(function(s){
return this.sourceRoot?util.join(this.sourceRoot,s):s;},
this);}});

































SourceMapConsumer.prototype.__generatedMappings=null;
Object.defineProperty(SourceMapConsumer.prototype,'_generatedMappings',{
get:function(){
if(!this.__generatedMappings){
this.__generatedMappings=[];
this.__originalMappings=[];
this._parseMappings(this._mappings,this.sourceRoot);}


return this.__generatedMappings;}});



SourceMapConsumer.prototype.__originalMappings=null;
Object.defineProperty(SourceMapConsumer.prototype,'_originalMappings',{
get:function(){
if(!this.__originalMappings){
this.__generatedMappings=[];
this.__originalMappings=[];
this._parseMappings(this._mappings,this.sourceRoot);}


return this.__originalMappings;}});








SourceMapConsumer.prototype._parseMappings=
function SourceMapConsumer_parseMappings(aStr,aSourceRoot){
var generatedLine=1;
var previousGeneratedColumn=0;
var previousOriginalLine=0;
var previousOriginalColumn=0;
var previousSource=0;
var previousName=0;
var mappingSeparator=/^[,;]/;
var str=aStr;
var mapping;
var temp;

while(str.length>0){
if(str.charAt(0)===';'){
generatedLine++;
str=str.slice(1);
previousGeneratedColumn=0;}else 

if(str.charAt(0)===','){
str=str.slice(1);}else 

{
mapping={};
mapping.generatedLine=generatedLine;


temp=base64VLQ.decode(str);
mapping.generatedColumn=previousGeneratedColumn+temp.value;
previousGeneratedColumn=mapping.generatedColumn;
str=temp.rest;

if(str.length>0&&!mappingSeparator.test(str.charAt(0))){

temp=base64VLQ.decode(str);
mapping.source=this._sources.at(previousSource+temp.value);
previousSource+=temp.value;
str=temp.rest;
if(str.length===0||mappingSeparator.test(str.charAt(0))){
throw new Error('Found a source, but no line and column');}



temp=base64VLQ.decode(str);
mapping.originalLine=previousOriginalLine+temp.value;
previousOriginalLine=mapping.originalLine;

mapping.originalLine+=1;
str=temp.rest;
if(str.length===0||mappingSeparator.test(str.charAt(0))){
throw new Error('Found a source and line, but no column');}



temp=base64VLQ.decode(str);
mapping.originalColumn=previousOriginalColumn+temp.value;
previousOriginalColumn=mapping.originalColumn;
str=temp.rest;

if(str.length>0&&!mappingSeparator.test(str.charAt(0))){

temp=base64VLQ.decode(str);
mapping.name=this._names.at(previousName+temp.value);
previousName+=temp.value;
str=temp.rest;}}



this.__generatedMappings.push(mapping);
if(typeof mapping.originalLine==='number'){
this.__originalMappings.push(mapping);}}}




this.__originalMappings.sort(util.compareByOriginalPositions);};






SourceMapConsumer.prototype._findMapping=
function SourceMapConsumer_findMapping(aNeedle,aMappings,aLineName,
aColumnName,aComparator){





if(aNeedle[aLineName]<=0){
throw new TypeError('Line must be greater than or equal to 1, got '+
aNeedle[aLineName]);}

if(aNeedle[aColumnName]<0){
throw new TypeError('Column must be greater than or equal to 0, got '+
aNeedle[aColumnName]);}


return binarySearch.search(aNeedle,aMappings,aComparator);};

















SourceMapConsumer.prototype.originalPositionFor=
function SourceMapConsumer_originalPositionFor(aArgs){
var needle={
generatedLine:util.getArg(aArgs,'line'),
generatedColumn:util.getArg(aArgs,'column')};


var mapping=this._findMapping(needle,
this._generatedMappings,
"generatedLine",
"generatedColumn",
util.compareByGeneratedPositions);

if(mapping){
var source=util.getArg(mapping,'source',null);
if(source&&this.sourceRoot){
source=util.join(this.sourceRoot,source);}

return {
source:source,
line:util.getArg(mapping,'originalLine',null),
column:util.getArg(mapping,'originalColumn',null),
name:util.getArg(mapping,'name',null)};}



return {
source:null,
line:null,
column:null,
name:null};};








SourceMapConsumer.prototype.sourceContentFor=
function SourceMapConsumer_sourceContentFor(aSource){
if(!this.sourcesContent){
return null;}


if(this.sourceRoot){
aSource=util.relative(this.sourceRoot,aSource);}


if(this._sources.has(aSource)){
return this.sourcesContent[this._sources.indexOf(aSource)];}


var url;
if(this.sourceRoot&&(
url=util.urlParse(this.sourceRoot))){




var fileUriAbsPath=aSource.replace(/^file:\/\//,"");
if(url.scheme=="file"&&
this._sources.has(fileUriAbsPath)){
return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];}


if((!url.path||url.path=="/")&&
this._sources.has("/"+aSource)){
return this.sourcesContent[this._sources.indexOf("/"+aSource)];}}



throw new Error('"'+aSource+'" is not in the SourceMap.');};
















SourceMapConsumer.prototype.generatedPositionFor=
function SourceMapConsumer_generatedPositionFor(aArgs){
var needle={
source:util.getArg(aArgs,'source'),
originalLine:util.getArg(aArgs,'line'),
originalColumn:util.getArg(aArgs,'column')};


if(this.sourceRoot){
needle.source=util.relative(this.sourceRoot,needle.source);}


var mapping=this._findMapping(needle,
this._originalMappings,
"originalLine",
"originalColumn",
util.compareByOriginalPositions);

if(mapping){
return {
line:util.getArg(mapping,'generatedLine',null),
column:util.getArg(mapping,'generatedColumn',null)};}



return {
line:null,
column:null};};



SourceMapConsumer.GENERATED_ORDER=1;
SourceMapConsumer.ORIGINAL_ORDER=2;

















SourceMapConsumer.prototype.eachMapping=
function SourceMapConsumer_eachMapping(aCallback,aContext,aOrder){
var context=aContext||null;
var order=aOrder||SourceMapConsumer.GENERATED_ORDER;

var mappings;
switch(order){
case SourceMapConsumer.GENERATED_ORDER:
mappings=this._generatedMappings;
break;
case SourceMapConsumer.ORIGINAL_ORDER:
mappings=this._originalMappings;
break;
default:
throw new Error("Unknown order of iteration.");}


var sourceRoot=this.sourceRoot;
mappings.map(function(mapping){
var source=mapping.source;
if(source&&sourceRoot){
source=util.join(sourceRoot,source);}

return {
source:source,
generatedLine:mapping.generatedLine,
generatedColumn:mapping.generatedColumn,
originalLine:mapping.originalLine,
originalColumn:mapping.originalColumn,
name:mapping.name};}).

forEach(aCallback,context);};


exports.SourceMapConsumer=SourceMapConsumer;});








define('source-map/binary-search',['require','exports','module'],function(require,exports,module){










function recursiveSearch(aLow,aHigh,aNeedle,aHaystack,aCompare){










var mid=Math.floor((aHigh-aLow)/2)+aLow;
var cmp=aCompare(aNeedle,aHaystack[mid],true);
if(cmp===0){

return aHaystack[mid];}else 

if(cmp>0){

if(aHigh-mid>1){

return recursiveSearch(mid,aHigh,aNeedle,aHaystack,aCompare);}



return aHaystack[mid];}else 

{

if(mid-aLow>1){

return recursiveSearch(aLow,mid,aNeedle,aHaystack,aCompare);}



return aLow<0?
null:
aHaystack[aLow];}}
















exports.search=function search(aNeedle,aHaystack,aCompare){
return aHaystack.length>0?
recursiveSearch(-1,aHaystack.length,aNeedle,aHaystack,aCompare):
null;};});









define('source-map/source-node',['require','exports','module','source-map/source-map-generator','source-map/util'],function(require,exports,module){

var SourceMapGenerator=require('./source-map-generator').SourceMapGenerator;
var util=require('./util');













function SourceNode(aLine,aColumn,aSource,aChunks,aName){
this.children=[];
this.sourceContents={};
this.line=aLine===undefined?null:aLine;
this.column=aColumn===undefined?null:aColumn;
this.source=aSource===undefined?null:aSource;
this.name=aName===undefined?null:aName;
if(aChunks!=null)this.add(aChunks);}








SourceNode.fromStringWithSourceMap=
function SourceNode_fromStringWithSourceMap(aGeneratedCode,aSourceMapConsumer){


var node=new SourceNode();



var remainingLines=aGeneratedCode.split('\n');


var lastGeneratedLine=1,lastGeneratedColumn=0;




var lastMapping=null;

aSourceMapConsumer.eachMapping(function(mapping){
if(lastMapping===null){



while(lastGeneratedLine<mapping.generatedLine){
node.add(remainingLines.shift()+"\n");
lastGeneratedLine++;}

if(lastGeneratedColumn<mapping.generatedColumn){
var nextLine=remainingLines[0];
node.add(nextLine.substr(0,mapping.generatedColumn));
remainingLines[0]=nextLine.substr(mapping.generatedColumn);
lastGeneratedColumn=mapping.generatedColumn;}}else 

{


if(lastGeneratedLine<mapping.generatedLine){
var code="";

do {
code+=remainingLines.shift()+"\n";
lastGeneratedLine++;
lastGeneratedColumn=0;}while(
lastGeneratedLine<mapping.generatedLine);


if(lastGeneratedColumn<mapping.generatedColumn){
var nextLine=remainingLines[0];
code+=nextLine.substr(0,mapping.generatedColumn);
remainingLines[0]=nextLine.substr(mapping.generatedColumn);
lastGeneratedColumn=mapping.generatedColumn;}


addMappingWithCode(lastMapping,code);}else 
{



var nextLine=remainingLines[0];
var code=nextLine.substr(0,mapping.generatedColumn-
lastGeneratedColumn);
remainingLines[0]=nextLine.substr(mapping.generatedColumn-
lastGeneratedColumn);
lastGeneratedColumn=mapping.generatedColumn;
addMappingWithCode(lastMapping,code);}}


lastMapping=mapping;},
this);



addMappingWithCode(lastMapping,remainingLines.join("\n"));


aSourceMapConsumer.sources.forEach(function(sourceFile){
var content=aSourceMapConsumer.sourceContentFor(sourceFile);
if(content){
node.setSourceContent(sourceFile,content);}});



return node;

function addMappingWithCode(mapping,code){
if(mapping===null||mapping.source===undefined){
node.add(code);}else 
{
node.add(new SourceNode(mapping.originalLine,
mapping.originalColumn,
mapping.source,
code,
mapping.name));}}};










SourceNode.prototype.add=function SourceNode_add(aChunk){
if(Array.isArray(aChunk)){
aChunk.forEach(function(chunk){
this.add(chunk);},
this);}else 

if(aChunk instanceof SourceNode||typeof aChunk==="string"){
if(aChunk){
this.children.push(aChunk);}}else 


{
throw new TypeError(
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+aChunk);}


return this;};








SourceNode.prototype.prepend=function SourceNode_prepend(aChunk){
if(Array.isArray(aChunk)){
for(var i=aChunk.length-1;i>=0;i--){
this.prepend(aChunk[i]);}}else 


if(aChunk instanceof SourceNode||typeof aChunk==="string"){
this.children.unshift(aChunk);}else 

{
throw new TypeError(
"Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+aChunk);}


return this;};









SourceNode.prototype.walk=function SourceNode_walk(aFn){
var chunk;
for(var i=0,len=this.children.length;i<len;i++){
chunk=this.children[i];
if(chunk instanceof SourceNode){
chunk.walk(aFn);}else 

{
if(chunk!==''){
aFn(chunk,{source:this.source,
line:this.line,
column:this.column,
name:this.name});}}}};











SourceNode.prototype.join=function SourceNode_join(aSep){
var newChildren;
var i;
var len=this.children.length;
if(len>0){
newChildren=[];
for(i=0;i<len-1;i++){
newChildren.push(this.children[i]);
newChildren.push(aSep);}

newChildren.push(this.children[i]);
this.children=newChildren;}

return this;};









SourceNode.prototype.replaceRight=function SourceNode_replaceRight(aPattern,aReplacement){
var lastChild=this.children[this.children.length-1];
if(lastChild instanceof SourceNode){
lastChild.replaceRight(aPattern,aReplacement);}else 

if(typeof lastChild==='string'){
this.children[this.children.length-1]=lastChild.replace(aPattern,aReplacement);}else 

{
this.children.push(''.replace(aPattern,aReplacement));}

return this;};









SourceNode.prototype.setSourceContent=
function SourceNode_setSourceContent(aSourceFile,aSourceContent){
this.sourceContents[util.toSetString(aSourceFile)]=aSourceContent;};








SourceNode.prototype.walkSourceContents=
function SourceNode_walkSourceContents(aFn){
for(var i=0,len=this.children.length;i<len;i++){
if(this.children[i] instanceof SourceNode){
this.children[i].walkSourceContents(aFn);}}



var sources=Object.keys(this.sourceContents);
for(var i=0,len=sources.length;i<len;i++){
aFn(util.fromSetString(sources[i]),this.sourceContents[sources[i]]);}};







SourceNode.prototype.toString=function SourceNode_toString(){
var str="";
this.walk(function(chunk){
str+=chunk;});

return str;};






SourceNode.prototype.toStringWithSourceMap=function SourceNode_toStringWithSourceMap(aArgs){
var generated={
code:"",
line:1,
column:0};

var map=new SourceMapGenerator(aArgs);
var sourceMappingActive=false;
var lastOriginalSource=null;
var lastOriginalLine=null;
var lastOriginalColumn=null;
var lastOriginalName=null;
this.walk(function(chunk,original){
generated.code+=chunk;
if(original.source!==null&&
original.line!==null&&
original.column!==null){
if(lastOriginalSource!==original.source||
lastOriginalLine!==original.line||
lastOriginalColumn!==original.column||
lastOriginalName!==original.name){
map.addMapping({
source:original.source,
original:{
line:original.line,
column:original.column},

generated:{
line:generated.line,
column:generated.column},

name:original.name});}


lastOriginalSource=original.source;
lastOriginalLine=original.line;
lastOriginalColumn=original.column;
lastOriginalName=original.name;
sourceMappingActive=true;}else 
if(sourceMappingActive){
map.addMapping({
generated:{
line:generated.line,
column:generated.column}});


lastOriginalSource=null;
sourceMappingActive=false;}

chunk.split('').forEach(function(ch){
if(ch==='\n'){
generated.line++;
generated.column=0;}else 
{
generated.column++;}});});



this.walkSourceContents(function(sourceFile,sourceContent){
map.setSourceContent(sourceFile,sourceContent);});


return {code:generated.code,map:map};};


exports.SourceNode=SourceNode;});





this.sourceMap={
SourceMapConsumer:require('source-map/source-map-consumer').SourceMapConsumer,
SourceMapGenerator:require('source-map/source-map-generator').SourceMapGenerator,
SourceNode:require('source-map/source-node').SourceNode};}
});
__d('react-native/Libraries/JavaScriptAppEngine/Initialization/source-map-url.js',function(global, require, module, exports) {  (














function(){
var define=null;




void (function(root,factory){
if(typeof define==="function"&&define.amd){
define(factory);}else 
if(typeof exports==="object"){
module.exports=factory();}else 
{
root.sourceMappingURL=factory();}})(

this,function(){

var innerRegex=/[#@] sourceMappingURL=([^\s'"]*)/;

var regex=RegExp(
"(?:"+
"/\\*"+
"(?:\\s*\r?\n(?://)?)?"+
"(?:"+innerRegex.source+")"+
"\\s*"+
"\\*/"+
"|"+
"//(?:"+innerRegex.source+")"+
")"+
"\\s*$");


return {

regex:regex,
_innerRegex:innerRegex,

getFrom:function(code){
var match=code.match(regex);
return match?match[1]||match[2]||"":null;},


existsIn:function(code){
return regex.test(code);},


removeFrom:function(code){
return code.replace(regex,"");},


insertBefore:function(code,string){
var match=code.match(regex);
if(match){
return code.slice(0,match.index)+string+code.slice(match.index);}else 
{
return code+string;}}};});})();
});
__d('parseErrorStack',function(global, require, module, exports) {  'use strict';











var stacktraceParser=require('stacktrace-parser/index.js');

function resolveSourceMaps(sourceMapInstance,stackFrame){
try{
var orig=sourceMapInstance.originalPositionFor({
line:stackFrame.lineNumber,
column:stackFrame.column});

if(orig){
stackFrame.file=orig.source;
stackFrame.lineNumber=orig.line;
stackFrame.column=orig.column;}}

catch(innerEx) {}}



function parseErrorStack(e,sourceMapInstance){
if(!e||!e.stack){
return [];}


var stack=Array.isArray(e.stack)?e.stack:stacktraceParser.parse(e.stack);

var framesToPop=e.framesToPop||0;
while(framesToPop--){
stack.shift();}


if(sourceMapInstance){
stack.forEach(resolveSourceMaps.bind(null,sourceMapInstance));}


return stack;}


module.exports=parseErrorStack;
});
__d('stacktrace-parser/index.js',function(global, require, module, exports) {  module.exports=require('stacktrace-parser/lib/stacktrace-parser.js');
});
__d('stacktrace-parser/lib/stacktrace-parser.js',function(global, require, module, exports) {  var 

UNKNOWN_FUNCTION='<unknown>';

var StackTraceParser={




parse:function(stackString){
var chrome=/^\s*at (?:(?:(?:Anonymous function)?|((?:\[object object\])?\S+(?: \[as \S+\])?)) )?\(?((?:file|http|https):.*?):(\d+)(?::(\d+))?\)?\s*$/i,
gecko=/^(?:\s*(\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;
});
__d('checkFlowAtRuntime',function(global, require, module, exports) {  'use strict';












function checkFlowAtRuntime(){
var url=getPackagerURL();
if(!url){
return;}

fetch(url+'flow/').
then(function(response){return response.json();}).
then(function(response){
if(response.silentError){
return;}

throw {
message:response.message,
stack:response.errors.map(function(err){
return babelHelpers.extends({},
err,{
methodName:err.description,
file:err.filename});})};},




function(){}).


done();}


function getPackagerURL(){
var NativeModules=require('NativeModules');
var scriptURL=NativeModules&&
NativeModules.SourceCode&&
NativeModules.SourceCode.scriptURL||
'';




return getFirstOrNull(scriptURL.match(/^https?:\/\/[^/]+\//));}


function getFirstOrNull(ar){
return ar?ar[0]:null;}


module.exports=checkFlowAtRuntime;
});
__d('XMLHttpRequest',function(global, require, module, exports) {  'use strict';












var FormData=require('FormData');
var RCTNetworking=require('RCTNetworking');
var RCTDeviceEventEmitter=require('RCTDeviceEventEmitter');

var XMLHttpRequestBase=require('XMLHttpRequestBase');var 

XMLHttpRequest=(function(_XMLHttpRequestBase){babelHelpers.inherits(XMLHttpRequest,_XMLHttpRequestBase);
function XMLHttpRequest(){babelHelpers.classCallCheck(this,XMLHttpRequest);var _this=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(XMLHttpRequest).call(this));


_this.upload={};return _this;}babelHelpers.createClass(XMLHttpRequest,[{key:'sendImpl',value:function sendImpl(


method,url,headers,data){
if(typeof data==='string'){
data={string:data};}else 
if(data instanceof FormData){
data={formData:data.getParts()};}

RCTNetworking.sendRequest(
{
method:method,
url:url,
data:data,
headers:headers,
incrementalUpdates:this.onreadystatechange?true:false},

this.didCreateRequest.bind(this));}}]);return XMLHttpRequest;})(XMLHttpRequestBase);




module.exports=XMLHttpRequest;
});
__d('FormData',function(global, require, module, exports) {  'use strict';var 














































FormData=(function(){


function FormData(){babelHelpers.classCallCheck(this,FormData);
this._parts=[];}babelHelpers.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=babelHelpers.slicedToArray(_ref,2);var name=_ref2[0];var value=_ref2[1];
var contentDisposition='form-data; name="'+name+'"';
var headers={'content-disposition':contentDisposition};
if(typeof value==='string'){
return {string:value,headers:headers,fieldName:name};}






if(typeof value.name==='string'){
headers['content-disposition']+='; filename="'+value.name+'"';}

if(typeof value.type==='string'){
headers['content-type']=value.type;}

return babelHelpers.extends({},value,{headers:headers,fieldName:name});});}}]);return FormData;})();




module.exports=FormData;
});
__d('RCTNetworking',function(global, require, module, exports) {  'use strict';











var RCTNetworkingNative=require('NativeModules').Networking;var 




RCTNetworking=(function(){function RCTNetworking(){babelHelpers.classCallCheck(this,RCTNetworking);}babelHelpers.createClass(RCTNetworking,null,[{key:'sendRequest',value:function sendRequest(

query,callback){
RCTNetworkingNative.sendRequest(query,callback);}},{key:'abortRequest',value:function abortRequest(


requestId){
RCTNetworkingNative.cancelRequest(requestId);}}]);return RCTNetworking;})();




module.exports=RCTNetworking;
});
__d('RCTDeviceEventEmitter',function(global, require, module, exports) {  'use strict';












var EventEmitter=require('EventEmitter');

var RCTDeviceEventEmitter=new EventEmitter();

module.exports=RCTDeviceEventEmitter;
});
__d('EventEmitter',function(global, require, module, exports) {  var 

















EmitterSubscription=require('EmitterSubscription');
var ErrorUtils=require('ErrorUtils');
var EventSubscriptionVendor=require('EventSubscriptionVendor');
var emptyFunction=require('emptyFunction');
var invariant=require('invariant');var 














EventEmitter=(function(){



function EventEmitter(){babelHelpers.classCallCheck(this,EventEmitter);
this._subscriber=new EventSubscriptionVendor();}babelHelpers.createClass(EventEmitter,[{key:'addListener',value:function addListener(

















eventType,listener,context){
return this._subscriber.addSubscription(
eventType,
new EmitterSubscription(this._subscriber,listener,context));}},{key:'once',value:function once(












eventType,listener,context){
var emitter=this;
return this.addListener(eventType,function(){
emitter.removeCurrentListener();
listener.apply(context,arguments);});}},{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._subscriber.removeSubscription(this._currentSubscription);}},{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){
var keys=Object.keys(subscriptions);
for(var ii=0;ii<keys.length;ii++){
var key=keys[ii];
var subscription=subscriptions[key];


if(subscription){
this._currentSubscription=subscription;

ErrorUtils.applyWithGuard(
subscription.listener,
subscription.context,
Array.prototype.slice.call(arguments,1),
null,
'EventEmitter:'+eventType);}}



this._currentSubscription=null;}}}]);return EventEmitter;})();




module.exports=EventEmitter;
});
__d('EmitterSubscription',function(global, require, module, exports) {  'use strict';


















var EventSubscription=require('EventSubscription');var 




EmitterSubscription=(function(_EventSubscription){babelHelpers.inherits(EmitterSubscription,_EventSubscription);









function EmitterSubscription(subscriber,listener,context){babelHelpers.classCallCheck(this,EmitterSubscription);var _this=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(EmitterSubscription).call(this,
subscriber));
_this.listener=listener;
_this.context=context;return _this;}return EmitterSubscription;})(EventSubscription);



module.exports=EmitterSubscription;
});
__d('EventSubscription',function(global, require, module, exports) {  'use strict';var 






















EventSubscription=(function(){





function EventSubscription(subscriber){babelHelpers.classCallCheck(this,EventSubscription);
this.subscriber=subscriber;}babelHelpers.createClass(EventSubscription,[{key:'remove',value:function remove()





{
this.subscriber.removeSubscription(this);}}]);return EventSubscription;})();



module.exports=EventSubscription;
});
__d('EventSubscriptionVendor',function(global, require, module, exports) {  'use strict';


















var invariant=require('invariant');var 





EventSubscriptionVendor=(function(){

function EventSubscriptionVendor(){babelHelpers.classCallCheck(this,EventSubscriptionVendor);
this._subscriptionsForType={};
this._currentSubscription=null;}babelHelpers.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;
});
__d('XMLHttpRequestBase',function(global, require, module, exports) {  'use strict';












var RCTNetworking=require('RCTNetworking');
var RCTDeviceEventEmitter=require('RCTDeviceEventEmitter');var 




XMLHttpRequestBase=(function(){





























function XMLHttpRequestBase(){babelHelpers.classCallCheck(this,XMLHttpRequestBase);
this.UNSENT=0;
this.OPENED=1;
this.HEADERS_RECEIVED=2;
this.LOADING=3;
this.DONE=4;

this.onreadystatechange=null;
this.onload=null;
this.upload=undefined;

this._reset();
this._method=null;
this._url=null;
this._aborted=false;}babelHelpers.createClass(XMLHttpRequestBase,[{key:'_reset',value:function _reset()


{
this.readyState=this.UNSENT;
this.responseHeaders=undefined;
this.responseText='';
this.status=0;

this._requestId=null;

this._headers={};
this._sent=false;
this._lowerCaseResponseHeaders={};

this._clearSubscriptions();}},{key:'didCreateRequest',value:function didCreateRequest(


requestId){var _this=this;
this._requestId=requestId;
this._subscriptions.push(RCTDeviceEventEmitter.addListener(
'didSendNetworkData',
function(args){var _didUploadProgress2;return (_didUploadProgress2=_this._didUploadProgress).call.apply(_didUploadProgress2,[_this].concat(babelHelpers.toConsumableArray(args)));}));

this._subscriptions.push(RCTDeviceEventEmitter.addListener(
'didReceiveNetworkResponse',
function(args){var _didReceiveResponse2;return (_didReceiveResponse2=_this._didReceiveResponse).call.apply(_didReceiveResponse2,[_this].concat(babelHelpers.toConsumableArray(args)));}));

this._subscriptions.push(RCTDeviceEventEmitter.addListener(
'didReceiveNetworkData',
function(args){var _didReceiveData2;return (_didReceiveData2=_this._didReceiveData).call.apply(_didReceiveData2,[_this].concat(babelHelpers.toConsumableArray(args)));}));

this._subscriptions.push(RCTDeviceEventEmitter.addListener(
'didCompleteNetworkResponse',
function(args){var _didCompleteResponse2;return (_didCompleteResponse2=_this._didCompleteResponse).call.apply(_didCompleteResponse2,[_this].concat(babelHelpers.toConsumableArray(args)));}));}},{key:'_didUploadProgress',value:function _didUploadProgress(



requestId,progress,total){
if(requestId===this._requestId&&this.upload&&this.upload.onprogress){
var event={
lengthComputable:true,
loaded:progress,
total:total};

this.upload.onprogress(event);}}},{key:'_didReceiveResponse',value:function _didReceiveResponse(



requestId,status,responseHeaders){
if(requestId===this._requestId){
this.status=status;
this.setResponseHeaders(responseHeaders);
this.setReadyState(this.HEADERS_RECEIVED);}}},{key:'_didReceiveData',value:function _didReceiveData(



requestId,responseText){
if(requestId===this._requestId){
if(!this.responseText){
this.responseText=responseText;}else 
{
this.responseText+=responseText;}

this.setReadyState(this.LOADING);}}},{key:'_didCompleteResponse',value:function _didCompleteResponse(



requestId,error){
if(requestId===this._requestId){
if(error){
this.responseText=error;}

this._clearSubscriptions();
this._requestId=null;
this.setReadyState(this.DONE);}}},{key:'_clearSubscriptions',value:function _clearSubscriptions()



{
(this._subscriptions||[]).forEach(function(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('\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()]=value;}},{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');}

this._reset();
this._method=method;
this._url=url;
this._aborted=false;
this.setReadyState(this.OPENED);}},{key:'sendImpl',value:function sendImpl(


method,url,headers,data){
throw new Error('Subclass must define sendImpl method');}},{key:'send',value:function send(


data){
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;
this.sendImpl(this._method,this._url,this._headers,data);}},{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;

var onreadystatechange=this.onreadystatechange;
if(onreadystatechange){


onreadystatechange(null);}

if(newState===this.DONE&&!this._aborted){
this._sendLoad();}}},{key:'_sendLoad',value:function _sendLoad()



{

var onload=this.onload;
if(onload){


onload(null);}}}]);return XMLHttpRequestBase;})();




module.exports=XMLHttpRequestBase;
});
__d('fetch',function(global, require, module, exports) {  'use strict';
















var self={};

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

if(self.fetch){
return;}


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 Headers(headers){
this.map={};

if(headers instanceof Headers){
headers.forEach(function(value,name){
this.append(name,value);},
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 list=this.map[name];
if(!list){
list=[];
this.map[name]=list;}

list.push(value);};


Headers.prototype['delete']=function(name){
delete this.map[normalizeName(name)];};


Headers.prototype.get=function(name){
var values=this.map[normalizeName(name)];
return values?values[0]:null;};


Headers.prototype.getAll=function(name){
return this.map[normalizeName(name)]||[];};


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){
Object.getOwnPropertyNames(this.map).forEach(function(name){
this.map[name].forEach(function(value){
callback.call(thisArg,value,name,this);},
this);},
this);};


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();
reader.readAsArrayBuffer(blob);
return fileReaderReady(reader);}


function readBlobAsText(blob){
var reader=new FileReader();
reader.readAsText(blob);
return fileReaderReady(reader);}


var support={
blob:typeof FileReader==='function'&&typeof Blob==='function'&&(function(){
try{
new Blob();
return true;}
catch(e) {
return false;}})(),


formData:typeof FormData==='function'};


function Body(){
this.bodyUsed=false;


this._initBody=function(body){
this._bodyInit=body;
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(!body){
this._bodyText='';}else 
{
throw new Error('unsupported BodyInit type');}};



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._bodyFormData){
throw new Error('could not read FormData body as blob');}else 
{
return Promise.resolve(new Blob([this._bodyText]));}};



this.arrayBuffer=function(){
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._bodyFormData){
throw new Error('could not read FormData body as text');}else 
{
return Promise.resolve(this._bodyText);}};}else 


{
this.text=function(){
var rejected=consumed(this);
return rejected?rejected: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(Request.prototype.isPrototypeOf(input)){
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){
body=input._bodyInit;
input.bodyUsed=true;}}else 

{
this.url=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);};


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 headers(xhr){
var head=new Headers();
var pairs=xhr.getAllResponseHeaders().trim().split('\n');
pairs.forEach(function(header){
var split=header.trim().split(':');
var key=split.shift().trim();
var value=split.join(':').trim();
head.append(key,value);});

return head;}


Body.call(Request.prototype);

function Response(bodyInit,options){
if(!options){
options={};}


this._initBody(bodyInit);
this.type='default';
this.url=null;
this.status=options.status;
this.ok=this.status>=200&&this.status<300;
this.statusText=options.statusText;
this.headers=options.headers instanceof Headers?options.headers:new Headers(options.headers);
this.url=options.url||'';}


Response.prototype.clone=function(){
return new Response(this._bodyInit,{
status:this.status,
statusText:this.statusText,
headers:new Headers(this.headers),
url:this.url});};



Body.call(Response.prototype);

self.Headers=Headers;
self.Request=Request;
self.Response=Response;

self.fetch=function(input,init){
var request;
if(Request.prototype.isPrototypeOf(input)&&!init){
request=input;}else 
{
request=new Request(input,init);}


return new Promise(function(resolve,reject){
var xhr=new XMLHttpRequest();

function responseURL(){
if('responseURL' in xhr){
return xhr.responseURL;}



if(/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())){
return xhr.getResponseHeader('X-Request-URL');}


return;}


xhr.onload=function(){
var status=xhr.status===1223?204:xhr.status;
if(status<100||status>599){
reject(new TypeError('Network request failed'));
return;}

var options={
status:status,
statusText:xhr.statusText,
headers:headers(xhr),
url:responseURL()};

var body='response' in xhr?xhr.response:xhr.responseText;
resolve(new Response(body,options));};


xhr.onerror=function(){
reject(new TypeError('Network request failed'));};


xhr.open(request.method,request.url,true);

if(request.credentials==='include'){
xhr.withCredentials=true;}


if('responseType' in xhr&&support.blob){
xhr.responseType='blob';}


request.headers.forEach(function(value,name){
xhr.setRequestHeader(name,value);});


xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};


self.fetch.polyfill=true;})();




module.exports=self;
});
__d('Geolocation',function(global, require, module, exports) {  'use strict';












var RCTDeviceEventEmitter=require('RCTDeviceEventEmitter');
var RCTLocationObserver=require('NativeModules').LocationObserver;

var invariant=require('invariant');
var logError=require('logError');
var warning=require('warning');

var subscriptions=[];

var updatesEnabled=false;


























var Geolocation={





getCurrentPosition:function(
geo_success,
geo_error,
geo_options)
{
invariant(
typeof geo_success==='function',
'Must provide a valid geo_success callback.');

RCTLocationObserver.getCurrentPosition(
geo_options||{},
geo_success,
geo_error||logError);},







watchPosition:function(success,error,options){
if(!updatesEnabled){
RCTLocationObserver.startObserving(options||{});
updatesEnabled=true;}

var watchID=subscriptions.length;
subscriptions.push([
RCTDeviceEventEmitter.addListener(
'geolocationDidChange',
success),

error?RCTDeviceEventEmitter.addListener(
'geolocationError',
error):
null]);

return watchID;},


clearWatch:function(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(){
if(updatesEnabled){
RCTLocationObserver.stopObserving();
updatesEnabled=false;
for(var ii=0;ii<subscriptions.length;ii++){
var sub=subscriptions[ii];
if(sub){
warning('Called stopObserving with existing subscriptions.');
sub[0].remove();

var sub1=sub[1];sub1&&sub1.remove();}}


subscriptions=[];}}};




module.exports=Geolocation;
});
__d('logError',function(global, require, module, exports) {  'use strict';

















var logError=function(){
if(arguments.length===1&&arguments[0] instanceof Error){
var err=arguments[0];
console.error('Error: "'+err.message+'".  Stack:\n'+err.stack);}else 
{
console.error.apply(console,arguments);}};



module.exports=logError;
});
__d('WebSocket',function(global, require, module, exports) {  'use strict';











var RCTDeviceEventEmitter=require('RCTDeviceEventEmitter');
var RCTWebSocketModule=require('NativeModules').WebSocketModule;

var Platform=require('Platform');
var WebSocketBase=require('WebSocketBase');
var WebSocketEvent=require('WebSocketEvent');

var WebSocketId=0;
var CLOSE_NORMAL=1000;var 






WebSocket=(function(_WebSocketBase){babelHelpers.inherits(WebSocket,_WebSocketBase);function WebSocket(){babelHelpers.classCallCheck(this,WebSocket);return babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(WebSocket).apply(this,arguments));}babelHelpers.createClass(WebSocket,[{key:'connectToSocketImpl',value:function connectToSocketImpl(



url){
this._socketId=WebSocketId++;

RCTWebSocketModule.connect(url,this._socketId);

this._registerEvents(this._socketId);}},{key:'closeConnectionImpl',value:function closeConnectionImpl(


code,reason){
this._closeWebSocket(this._socketId,code,reason);}},{key:'cancelConnectionImpl',value:function cancelConnectionImpl()


{
this._closeWebSocket(this._socketId);}},{key:'sendStringImpl',value:function sendStringImpl(


message){
RCTWebSocketModule.send(message,this._socketId);}},{key:'sendArrayBufferImpl',value:function sendArrayBufferImpl()


{

console.warn('Sending ArrayBuffers is not yet supported');}},{key:'_closeWebSocket',value:function _closeWebSocket(


id,code,reason){
if(Platform.OS==='android'){



var statusCode=typeof code==='number'?code:CLOSE_NORMAL;
var closeReason=typeof reason==='string'?reason:'';
RCTWebSocketModule.close(statusCode,closeReason,id);}else 
{
RCTWebSocketModule.close(id);}}},{key:'_unregisterEvents',value:function _unregisterEvents()



{
this._subs.forEach(function(e){return e.remove();});
this._subs=[];}},{key:'_registerEvents',value:function _registerEvents(


id){var _this2=this;
this._subs=[
RCTDeviceEventEmitter.addListener('websocketMessage',function(ev){
if(ev.id!==id){
return;}

var event=new WebSocketEvent('message',{
data:ev.data});

_this2.onmessage&&_this2.onmessage(event);
_this2.dispatchEvent(event);}),

RCTDeviceEventEmitter.addListener('websocketOpen',function(ev){
if(ev.id!==id){
return;}

_this2.readyState=_this2.OPEN;
var event=new WebSocketEvent('open');
_this2.onopen&&_this2.onopen(event);
_this2.dispatchEvent(event);}),

RCTDeviceEventEmitter.addListener('websocketClosed',function(ev){
if(ev.id!==id){
return;}

_this2.readyState=_this2.CLOSED;
var event=new WebSocketEvent('close');
event.code=ev.code;
event.reason=ev.reason;
_this2.onclose&&_this2.onclose(event);
_this2.dispatchEvent(event);
_this2._unregisterEvents();
_this2.close();}),

RCTDeviceEventEmitter.addListener('websocketFailed',function(ev){
if(ev.id!==id){
return;}

var event=new WebSocketEvent('error');
event.message=ev.message;
_this2.onerror&&_this2.onerror(event);
_this2.dispatchEvent(event);
_this2._unregisterEvents();
_this2.close();})];}}]);return WebSocket;})(WebSocketBase);





module.exports=WebSocket;
});
__d('Platform',function(global, require, module, exports) {  'use strict';













var Platform={
OS:'ios'};


module.exports=Platform;
});
__d('WebSocketBase',function(global, require, module, exports) {  'use strict';











var EventTarget=require('event-target-shim/lib/event-target.js');var 




WebSocketBase=(function(_EventTarget){babelHelpers.inherits(WebSocketBase,_EventTarget);

















function WebSocketBase(url,protocols){babelHelpers.classCallCheck(this,WebSocketBase);var _this=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(WebSocketBase).call(this));

_this.CONNECTING=0;
_this.OPEN=1;
_this.CLOSING=2;
_this.CLOSED=3;

if(!protocols){
protocols=[];}


_this.readyState=_this.CONNECTING;
_this.connectToSocketImpl(url);return _this;}babelHelpers.createClass(WebSocketBase,[{key:'close',value:function close()


{
if(this.readyState===this.CLOSING||
this.readyState===this.CLOSED){
return;}


if(this.readyState===this.CONNECTING){
this.cancelConnectionImpl();}


this.readyState=this.CLOSING;
this.closeConnectionImpl();}},{key:'send',value:function send(


data){
if(this.readyState===this.CONNECTING){
throw new Error('INVALID_STATE_ERR');}


if(typeof data==='string'){
this.sendStringImpl(data);}else 
if(data instanceof ArrayBuffer){
this.sendArrayBufferImpl(data);}else 
{
throw new Error('Not supported data type');}}},{key:'closeConnectionImpl',value:function closeConnectionImpl()



{
throw new Error('Subclass must define closeConnectionImpl method');}},{key:'connectToSocketImpl',value:function connectToSocketImpl()


{
throw new Error('Subclass must define connectToSocketImpl method');}},{key:'cancelConnectionImpl',value:function cancelConnectionImpl()


{
throw new Error('Subclass must define cancelConnectionImpl method');}},{key:'sendStringImpl',value:function sendStringImpl()


{
throw new Error('Subclass must define sendStringImpl method');}},{key:'sendArrayBufferImpl',value:function sendArrayBufferImpl()


{
throw new Error('Subclass must define sendArrayBufferImpl method');}}]);return WebSocketBase;})(EventTarget);



WebSocketBase.CONNECTING=0;
WebSocketBase.OPEN=1;
WebSocketBase.CLOSING=2;
WebSocketBase.CLOSED=3;

module.exports=WebSocketBase;
});
__d('event-target-shim/lib/event-target.js',function(global, require, module, exports) {  "use strict";











var Commons=require("event-target-shim/lib/commons.js");
var CustomEventTarget=require("event-target-shim/lib/custom-event-target.js");
var EventWrapper=require("event-target-shim/lib/event-wrapper.js");
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}});
});
__d('event-target-shim/lib/commons.js',function(global, require, module, exports) {  "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};};
});
__d('event-target-shim/lib/custom-event-target.js',function(global, require, module, exports) {  "use strict";











var Commons=require("event-target-shim/lib/commons.js");
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(){return getAttributeListener(this,type);},
set:function(listener){setAttributeListener(this,type,listener);},
configurable:true,
enumerable:true};});



EventTarget.prototype=Object.create(EventTargetBase.prototype,descripter);

return EventTarget;};
});
__d('event-target-shim/lib/event-wrapper.js',function(global, require, module, exports) {  "use strict";











var createUniqueKey=require("event-target-shim/lib/commons.js").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);};
});
__d('WebSocketEvent',function(global, require, module, exports) {  'use strict';var 




















WebSocketEvent=
function WebSocketEvent(type,eventInitDict){babelHelpers.classCallCheck(this,WebSocketEvent);
this.type=type.toString();
babelHelpers.extends(this,eventInitDict);};



module.exports=WebSocketEvent;
});
__d('setupDevtools',function(global, require, module, exports) {  'use strict';












function setupDevtools(){
var messageListeners=[];
var closeListeners=[];
var ws=new window.WebSocket('ws://localhost:8097/devtools');

var FOR_BACKEND={
resolveRNStyle:require('flattenStyle'),
wall:{
listen:function(fn){
messageListeners.push(fn);},

onClose:function(fn){
closeListeners.push(fn);},

send:function(data){
ws.send(JSON.stringify(data));}}};



ws.onclose=function(){
setTimeout(setupDevtools,200);
closeListeners.forEach(function(fn){return fn();});};

ws.onerror=function(error){
setTimeout(setupDevtools,200);
closeListeners.forEach(function(fn){return fn();});};

ws.onopen=function(){
tryToConnect();};


function tryToConnect(){
ws.send('attach:agent');
var _interval=setInterval(function(){return ws.send('attach:agent');},500);
ws.onmessage=function(evt){
if(evt.data.indexOf('eval:')===0){
clearInterval(_interval);
initialize(evt.data.slice('eval:'.length));}};}




function initialize(text){
try{

eval(text);}
catch(e) {
console.error('Failed to eval: '+e.message);
return;}

window.__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
CurrentOwner:require('ReactCurrentOwner'),
InstanceHandles:require('ReactInstanceHandles'),
Mount:require('ReactNativeMount'),
Reconciler:require('ReactReconciler'),
TextComponent:require('ReactNativeTextComponent')});

ws.onmessage=handleMessage;}


function handleMessage(evt){


var data;
try{
data=JSON.parse(evt.data);}
catch(e) {
return console.error('failed to parse json: '+evt.data);}


if(data.$close||data.$error){
closeListeners.forEach(function(fn){return fn();});
window.__REACT_DEVTOOLS_GLOBAL_HOOK__.emit('shutdown');
tryToConnect();
return;}

if(data.$open){
return;}

messageListeners.forEach(function(fn){
try{
fn(data);}
catch(e) {



console.log(data);
throw e;}});}}





module.exports=setupDevtools;
});
__d('flattenStyle',function(global, require, module, exports) {  'use strict';












var StyleSheetRegistry=require('StyleSheetRegistry');
var invariant=require('invariant');



function getStyle(style){
if(typeof style==='number'){
return StyleSheetRegistry.getStyleByID(style);}

return style;}


function flattenStyle(style){
if(!style){
return undefined;}

invariant(style!==true,'style may be false but not true');

if(!Array.isArray(style)){
return getStyle(style);}


var result={};
for(var i=0;i<style.length;++i){
var computedStyle=flattenStyle(style[i]);
if(computedStyle){
for(var key in computedStyle){
result[key]=computedStyle[key];

if(__DEV__){
var value=computedStyle[key];}}}}




return result;}


module.exports=flattenStyle;
});
__d('StyleSheetTypes',function(global, require, module, exports) {  'use strict';
});
__d('StyleSheetRegistry',function(global, require, module, exports) {  'use strict';












var styles={};
var uniqueID=1;
var emptyStyle={};var 

StyleSheetRegistry=(function(){function StyleSheetRegistry(){babelHelpers.classCallCheck(this,StyleSheetRegistry);}babelHelpers.createClass(StyleSheetRegistry,null,[{key:'registerStyle',value:function registerStyle(
style){
var id=++uniqueID;
if(__DEV__){
Object.freeze(style);}

styles[id]=style;
return id;}},{key:'getStyleByID',value:function getStyleByID(


id){
if(!id){


return emptyStyle;}


var style=styles[id];
if(!style){
console.warn('Invalid style with id `'+id+'`. Skipping ...');
return emptyStyle;}

return style;}}]);return StyleSheetRegistry;})();



module.exports=StyleSheetRegistry;
});
__d('ReactCurrentOwner',function(global, require, module, exports) {  'use strict';


















var ReactCurrentOwner={





current:null};



module.exports=ReactCurrentOwner;
});
__d('ReactInstanceHandles',function(global, require, module, exports) {  'use strict';













var ReactRootIndex=require('ReactRootIndex');

var invariant=require('invariant');

var SEPARATOR='.';
var SEPARATOR_LENGTH=SEPARATOR.length;




var MAX_TREE_DEPTH=10000;








function getReactRootIDString(index){
return SEPARATOR+index.toString(36);}










function isBoundary(id,index){
return id.charAt(index)===SEPARATOR||index===id.length;}









function isValidID(id){
return id===''||
id.charAt(0)===SEPARATOR&&id.charAt(id.length-1)!==SEPARATOR;}











function isAncestorIDOf(ancestorID,descendantID){
return (
descendantID.indexOf(ancestorID)===0&&
isBoundary(descendantID,ancestorID.length));}










function getParentID(id){
return id?id.substr(0,id.lastIndexOf(SEPARATOR)):'';}











function getNextDescendantID(ancestorID,destinationID){
invariant(
isValidID(ancestorID)&&isValidID(destinationID),
'getNextDescendantID(%s, %s): Received an invalid React DOM ID.',
ancestorID,
destinationID);

invariant(
isAncestorIDOf(ancestorID,destinationID),
'getNextDescendantID(...): React has made an invalid assumption about '+
'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.',
ancestorID,
destinationID);

if(ancestorID===destinationID){
return ancestorID;}



var start=ancestorID.length+SEPARATOR_LENGTH;
var i;
for(i=start;i<destinationID.length;i++){
if(isBoundary(destinationID,i)){
break;}}


return destinationID.substr(0,i);}













function getFirstCommonAncestorID(oneID,twoID){
var minLength=Math.min(oneID.length,twoID.length);
if(minLength===0){
return '';}

var lastCommonMarkerIndex=0;

for(var i=0;i<=minLength;i++){
if(isBoundary(oneID,i)&&isBoundary(twoID,i)){
lastCommonMarkerIndex=i;}else 
if(oneID.charAt(i)!==twoID.charAt(i)){
break;}}


var longestCommonID=oneID.substr(0,lastCommonMarkerIndex);
invariant(
isValidID(longestCommonID),
'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s',
oneID,
twoID,
longestCommonID);

return longestCommonID;}















function traverseParentPath(start,stop,cb,arg,skipFirst,skipLast){
start=start||'';
stop=stop||'';
invariant(
start!==stop,
'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.',
start);

var traverseUp=isAncestorIDOf(stop,start);
invariant(
traverseUp||isAncestorIDOf(start,stop),
'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do '+
'not have a parent path.',
start,
stop);


var depth=0;
var traverse=traverseUp?getParentID:getNextDescendantID;
for(var id=start;;id=traverse(id,stop)){
var ret;
if((!skipFirst||id!==start)&&(!skipLast||id!==stop)){
ret=cb(id,traverseUp,arg);}

if(ret===false||id===stop){

break;}

invariant(
depth++<MAX_TREE_DEPTH,
'traverseParentPath(%s, %s, ...): Detected an infinite loop while '+
'traversing the React DOM ID tree. This may be due to malformed IDs: %s',
start,stop,id);}}











var ReactInstanceHandles={





createReactRootID:function(){
return getReactRootIDString(ReactRootIndex.createReactRootIndex());},










createReactID:function(rootID,name){
return rootID+name;},










getReactRootIDFromNodeID:function(id){
if(id&&id.charAt(0)===SEPARATOR&&id.length>1){
var index=id.indexOf(SEPARATOR,1);
return index>-1?id.substr(0,index):id;}

return null;},
















traverseEnterLeave:function(leaveID,enterID,cb,upArg,downArg){
var ancestorID=getFirstCommonAncestorID(leaveID,enterID);
if(ancestorID!==leaveID){
traverseParentPath(leaveID,ancestorID,cb,upArg,false,true);}

if(ancestorID!==enterID){
traverseParentPath(ancestorID,enterID,cb,downArg,true,false);}},













traverseTwoPhase:function(targetID,cb,arg){
if(targetID){
traverseParentPath('',targetID,cb,arg,true,false);
traverseParentPath(targetID,'',cb,arg,false,true);}},






traverseTwoPhaseSkipTarget:function(targetID,cb,arg){
if(targetID){
traverseParentPath('',targetID,cb,arg,true,true);
traverseParentPath(targetID,'',cb,arg,true,true);}},















traverseAncestors:function(targetID,cb,arg){
traverseParentPath('',targetID,cb,arg,true,false);},


getFirstCommonAncestorID:getFirstCommonAncestorID,





_getNextDescendantID:getNextDescendantID,

isAncestorIDOf:isAncestorIDOf,

SEPARATOR:SEPARATOR};



module.exports=ReactInstanceHandles;
});
__d('ReactRootIndex',function(global, require, module, exports) {  'use strict';













var ReactRootIndexInjection={



injectCreateReactRootIndex:function(_createReactRootIndex){
ReactRootIndex.createReactRootIndex=_createReactRootIndex;}};



var ReactRootIndex={
createReactRootIndex:null,
injection:ReactRootIndexInjection};


module.exports=ReactRootIndex;
});
__d('ReactNativeMount',function(global, require, module, exports) {  'use strict';












var RCTUIManager=require('NativeModules').UIManager;

var ReactElement=require('ReactElement');
var ReactNativeTagHandles=require('ReactNativeTagHandles');
var ReactNativeViewPool=require('ReactNativeViewPool');
var ReactPerf=require('ReactPerf');
var ReactReconciler=require('ReactReconciler');
var ReactUpdateQueue=require('ReactUpdateQueue');
var ReactUpdates=require('ReactUpdates');

var emptyObject=require('emptyObject');
var instantiateReactComponent=require('instantiateReactComponent');
var shouldUpdateReactComponent=require('shouldUpdateReactComponent');

function instanceNumberToChildRootID(rootNodeID,instanceNumber){
return rootNodeID+'['+instanceNumber+']';}







var TopLevelWrapper=function(){};
TopLevelWrapper.prototype.isReactComponent={};
if(__DEV__){
TopLevelWrapper.displayName='TopLevelWrapper';}

TopLevelWrapper.prototype.render=function(){

return this.props;};










function mountComponentIntoNode(
componentInstance,
rootID,
container,
transaction){
var markup=ReactReconciler.mountComponent(
componentInstance,rootID,transaction,emptyObject);

componentInstance._renderedComponent._topLevelWrapper=componentInstance;
ReactNativeMount._mountImageIntoNode(markup,container);}









function batchedMountComponentIntoNode(
componentInstance,
rootID,
container){
var transaction=ReactUpdates.ReactReconcileTransaction.getPooled();
transaction.perform(
mountComponentIntoNode,
null,
componentInstance,
rootID,
container,
transaction);

ReactUpdates.ReactReconcileTransaction.release(transaction);}






var ReactNativeMount={
instanceCount:0,

_instancesByContainerID:{},


findNodeHandle:require('findNodeHandle'),
nativeTagToRootNodeID:function(nativeTag){
return ReactNativeTagHandles.tagToRootNodeID[nativeTag];},






renderComponent:function(
nextElement,
containerTag,
callback)
{
var nextWrappedElement=new ReactElement(
TopLevelWrapper,
null,
null,
null,
null,
null,
nextElement);


var topRootNodeID=ReactNativeTagHandles.tagToRootNodeID[containerTag];
if(topRootNodeID){
var prevComponent=ReactNativeMount._instancesByContainerID[topRootNodeID];
if(prevComponent){
var prevWrappedElement=prevComponent._currentElement;
var prevElement=prevWrappedElement.props;
if(shouldUpdateReactComponent(prevElement,nextElement)){
ReactUpdateQueue.enqueueElementInternal(prevComponent,nextWrappedElement);
if(callback){
ReactUpdateQueue.enqueueCallbackInternal(prevComponent,callback);}

return prevComponent;}else 
{
ReactNativeMount.unmountComponentAtNode(containerTag);}}}




if(!ReactNativeTagHandles.reactTagIsNativeTopRootID(containerTag)){
console.error('You cannot render into anything but a top root');
return;}


var topRootNodeID=ReactNativeTagHandles.allocateRootNodeIDForTag(containerTag);
ReactNativeTagHandles.associateRootNodeIDWithMountedNodeHandle(
topRootNodeID,
containerTag);


var instance=instantiateReactComponent(nextWrappedElement);
ReactNativeMount._instancesByContainerID[topRootNodeID]=instance;

var childRootNodeID=instanceNumberToChildRootID(
topRootNodeID,
ReactNativeMount.instanceCount++);






ReactUpdates.batchedUpdates(
batchedMountComponentIntoNode,
instance,
childRootNodeID,
topRootNodeID);

var component=instance.getPublicInstance();
if(callback){
callback.call(component);}

return component;},






_mountImageIntoNode:ReactPerf.measure(

'ReactComponentBrowserEnvironment',
'mountImageIntoNode',
function(mountImage,containerID){


ReactNativeTagHandles.associateRootNodeIDWithMountedNodeHandle(
mountImage.rootNodeID,
mountImage.tag);

var addChildTags=[mountImage.tag];
var addAtIndices=[0];
RCTUIManager.manageChildren(
ReactNativeTagHandles.mostRecentMountedNodeHandleForRootNodeID(containerID),
null,
null,
addChildTags,
addAtIndices,
null);}),












unmountComponentAtNodeAndRemoveContainer:function(
containerTag)
{
ReactNativeMount.unmountComponentAtNode(containerTag);

RCTUIManager.removeRootView(containerTag);
ReactNativeViewPool.clearPoolForRootView(containerTag);},







unmountComponentAtNode:function(containerTag){
if(!ReactNativeTagHandles.reactTagIsNativeTopRootID(containerTag)){
console.error('You cannot render into anything but a top root');
return false;}


var containerID=ReactNativeTagHandles.tagToRootNodeID[containerTag];
var instance=ReactNativeMount._instancesByContainerID[containerID];
if(!instance){
return false;}

ReactNativeMount.unmountComponentFromNode(instance,containerID);
delete ReactNativeMount._instancesByContainerID[containerID];
return true;},











unmountComponentFromNode:function(
instance,
containerID)
{

ReactReconciler.unmountComponent(instance);
var containerTag=
ReactNativeTagHandles.mostRecentMountedNodeHandleForRootNodeID(containerID);
RCTUIManager.removeSubviewsFromContainerWithID(containerTag);},


getNode:function(rootNodeID){
return ReactNativeTagHandles.rootNodeIDToTag[rootNodeID];},


getID:function(nativeTag){
return ReactNativeTagHandles.tagToRootNodeID[nativeTag];}};



ReactNativeMount.renderComponent=ReactPerf.measure(
'ReactMount',
'_renderNewRootComponent',
ReactNativeMount.renderComponent);


module.exports=ReactNativeMount;
});
__d('ReactElement',function(global, require, module, exports) {  'use strict';












var ReactCurrentOwner=require('ReactCurrentOwner');

var assign=require('Object.assign');
var canDefineProperty=require('canDefineProperty');



var REACT_ELEMENT_TYPE=
typeof Symbol==='function'&&Symbol.for&&Symbol.for('react.element')||
0xeac7;

var RESERVED_PROPS={
key:true,
ref:true,
__self:true,
__source:true};




















var ReactElement=function(type,key,ref,self,source,owner,props){
var element={

$$typeof:REACT_ELEMENT_TYPE,


type:type,
key:key,
ref:ref,
props:props,


_owner:owner};


if(__DEV__){




element._store={};





if(canDefineProperty){
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});}else 

{
element._store.validated=false;
element._self=self;
element._source=source;}

Object.freeze(element.props);
Object.freeze(element);}


return element;};


ReactElement.createElement=function(type,config,children){
var propName;


var props={};

var key=null;
var ref=null;
var self=null;
var source=null;

if(config!=null){
ref=config.ref===undefined?null:config.ref;
key=config.key===undefined?null:''+config.key;
self=config.__self===undefined?null:config.__self;
source=config.__source===undefined?null:config.__source;

for(propName in config){
if(config.hasOwnProperty(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];}

props.children=childArray;}



if(type&&type.defaultProps){
var defaultProps=type.defaultProps;
for(propName in defaultProps){
if(typeof props[propName]==='undefined'){
props[propName]=defaultProps[propName];}}}




return ReactElement(
type,
key,
ref,
self,
source,
ReactCurrentOwner.current,
props);};



ReactElement.createFactory=function(type){
var factory=ReactElement.createElement.bind(null,type);





factory.type=type;
return factory;};


ReactElement.cloneAndReplaceKey=function(oldElement,newKey){
var newElement=ReactElement(
oldElement.type,
newKey,
oldElement.ref,
oldElement._self,
oldElement._source,
oldElement._owner,
oldElement.props);


return newElement;};


ReactElement.cloneAndReplaceProps=function(oldElement,newProps){
var newElement=ReactElement(
oldElement.type,
oldElement.key,
oldElement.ref,
oldElement._self,
oldElement._source,
oldElement._owner,
newProps);


if(__DEV__){

newElement._store.validated=oldElement._store.validated;}


return newElement;};


ReactElement.cloneElement=function(element,config,children){
var propName;


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(config.ref!==undefined){

ref=config.ref;
owner=ReactCurrentOwner.current;}

if(config.key!==undefined){
key=''+config.key;}


for(propName in config){
if(config.hasOwnProperty(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];}

props.children=childArray;}


return ReactElement(
element.type,
key,
ref,
self,
source,
owner,
props);};








ReactElement.isValidElement=function(object){
return (
typeof object==='object'&&
object!==null&&
object.$$typeof===REACT_ELEMENT_TYPE);};



module.exports=ReactElement;
});
__d('canDefineProperty',function(global, require, module, exports) {  'use strict';












var canDefineProperty=false;
if(__DEV__){
try{
Object.defineProperty({},'x',{get:function(){}});
canDefineProperty=true;}
catch(x) {}}




module.exports=canDefineProperty;
});
__d('ReactNativeTagHandles',function(global, require, module, exports) {  'use strict';












var invariant=require('invariant');
var warning=require('warning');














var INITIAL_TAG_COUNT=1;
var NATIVE_TOP_ROOT_ID_SEPARATOR='{TOP_LEVEL}';
var ReactNativeTagHandles={
tagsStartAt:INITIAL_TAG_COUNT,
tagCount:INITIAL_TAG_COUNT,

allocateTag
Download .txt
gitextract_eh8az0r_/

├── README.md
├── build/
│   ├── part1.js
│   └── part2.js
├── css/
│   ├── cxylhl/
│   │   └── index.css
│   ├── game/
│   │   └── game2048.css
│   ├── jqueryapi.css
│   ├── lightningStorm.css
│   ├── vsImgList.css
│   └── vsIndex.css
├── dev.sh
├── install.sh
├── native-css.js
├── package.json
├── react-native.js.split.build.js
├── react.css.build.js
├── reactnative/
│   ├── 2048/
│   │   ├── components/
│   │   │   ├── aboveGame.js
│   │   │   ├── container.js
│   │   │   ├── gameContainer.js
│   │   │   ├── gameMessage.js
│   │   │   ├── gridCell.js
│   │   │   ├── gridContainer.js
│   │   │   ├── gridRow.js
│   │   │   ├── heading.js
│   │   │   ├── tile.js
│   │   │   └── tileContainer.js
│   │   ├── game.js
│   │   └── utils/
│   │       ├── grid.js
│   │       ├── localStorageManager.js
│   │       └── tile.js
│   ├── README.md
│   ├── android/
│   │   ├── app/
│   │   │   ├── app.iml
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   ├── react.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           ├── java/
│   │   │           │   └── com/
│   │   │           │       └── reactnative/
│   │   │           │           └── MainActivity.java
│   │   │           └── res/
│   │   │               ├── menu/
│   │   │               │   └── menu_main_activity2.xml
│   │   │               ├── values/
│   │   │               │   ├── dimens.xml
│   │   │               │   ├── strings.xml
│   │   │               │   └── styles.xml
│   │   │               └── values-w820dp/
│   │   │                   └── dimens.xml
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── reactnative.iml
│   │   └── settings.gradle
│   ├── canvasgame/
│   │   ├── Canvas.js
│   │   ├── GallaxyOctopus.js
│   │   ├── game.js
│   │   └── parts/
│   │       ├── Counter.js
│   │       ├── Octopus.js
│   │       └── Pipe.js
│   ├── common/
│   │   ├── Animation.js
│   │   ├── App.js
│   │   ├── Date.js
│   │   ├── DomEvent.js
│   │   ├── LightningStorm.js
│   │   ├── LocalStorage.js
│   │   ├── StateStore.js
│   │   ├── String.js
│   │   ├── StyleSheet.js
│   │   ├── TimerMixin.js
│   │   ├── console.js
│   │   └── rn/
│   │       ├── A.js
│   │       ├── Body.js
│   │       ├── Button.js
│   │       ├── Carousel.js
│   │       ├── Div.js
│   │       ├── Element.js
│   │       ├── Header.js
│   │       ├── HtmlCssParser.js
│   │       ├── Img.js
│   │       ├── Input.js
│   │       ├── Nav.js
│   │       ├── RightSliderMenu.js
│   │       ├── SimpleListView.js
│   │       ├── Span.js
│   │       ├── Tab.js
│   │       ├── TabItem.js
│   │       └── TabSlider.js
│   ├── css/
│   │   ├── cxylhl/
│   │   │   └── index.js
│   │   ├── game/
│   │   │   └── game2048.js
│   │   ├── jqueryapi.js
│   │   ├── lightningStorm.js
│   │   ├── vsImgList.js
│   │   └── vsIndex.js
│   ├── cxylhl.js
│   ├── example_addEventListener.js
│   ├── example_animation.js
│   ├── example_formElement.js
│   ├── example_jqueryapi.js
│   ├── example_listview.js
│   ├── example_localStorage.js
│   ├── example_onclick.js
│   ├── example_ontouch.js
│   ├── example_view.js
│   ├── index.android.js
│   ├── index.ios.js
│   ├── index.js
│   ├── ios/
│   │   ├── native/
│   │   │   ├── AppDelegate.h
│   │   │   ├── AppDelegate.m
│   │   │   ├── Base.lproj/
│   │   │   │   └── LaunchScreen.xib
│   │   │   ├── Images.xcassets/
│   │   │   │   ├── AppIcon.appiconset/
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Brand Assets.launchimage/
│   │   │   │   │   └── Contents.json
│   │   │   │   ├── Contents.json
│   │   │   │   ├── LaunchImage.launchimage/
│   │   │   │   │   └── Contents.json
│   │   │   │   └── icon-1024.imageset/
│   │   │   │       └── Contents.json
│   │   │   ├── Info.plist
│   │   │   └── main.m
│   │   ├── native.xcodeproj/
│   │   │   ├── project.pbxproj
│   │   │   └── xcshareddata/
│   │   │       └── xcschemes/
│   │   │           └── native.xcscheme
│   │   └── nativeTests/
│   │       ├── Info.plist
│   │       └── nativeTests.m
│   ├── package.json
│   ├── testFlex.js
│   ├── testLineHeight.js
│   ├── testScroll.js
│   ├── vsImgList.js
│   ├── vsIndex.js
│   └── webpack.config.js
├── web/
│   ├── common/
│   │   ├── html/
│   │   │   ├── A.js
│   │   │   ├── Button.js
│   │   │   ├── Carousel.js
│   │   │   ├── Div.js
│   │   │   ├── Element.js
│   │   │   ├── Header.js
│   │   │   ├── Img.js
│   │   │   ├── Input.js
│   │   │   ├── ListView/
│   │   │   │   ├── ListView.js
│   │   │   │   ├── ListViewDataSource.js
│   │   │   │   ├── ScrollResponder.js
│   │   │   │   └── StaticRenderer.js
│   │   │   ├── ListView.js
│   │   │   ├── NavBar.js
│   │   │   ├── Navigator.js
│   │   │   ├── RightSliderMenu.js
│   │   │   ├── ScrollView/
│   │   │   │   └── ScrollView.js
│   │   │   ├── ScrollView.js
│   │   │   ├── SimpleListView.js
│   │   │   ├── Span.js
│   │   │   ├── TabSlider.js
│   │   │   ├── Utilties/
│   │   │   │   ├── ErrorUitls.js
│   │   │   │   ├── LayoutMixin.js
│   │   │   │   ├── dismissKeyboard.js
│   │   │   │   ├── getLayout.js
│   │   │   │   └── setNativeProps.js
│   │   │   └── View/
│   │   │       └── View.js
│   │   ├── react.js
│   │   └── ui.js
│   └── index.html
└── webpack.config.js
Download .txt
SYMBOL INDEX (1353 symbols across 83 files)

FILE: build/part1.js
  function define (line 11) | function define(id,factory){
  function require (line 20) | function require(id){
  function requireImpl (line 29) | function requireImpl(id){
  function inspect (line 201) | function inspect(obj,opts){
  function stylizeNoColor (line 209) | function stylizeNoColor(str,styleType){
  function arrayToHash (line 213) | function arrayToHash(array){
  function formatValue (line 224) | function formatValue(ctx,value,recurseTimes){
  function formatPrimitive (line 317) | function formatPrimitive(ctx,value){
  function formatError (line 336) | function formatError(value){
  function formatArray (line 341) | function formatArray(ctx,value,recurseTimes,visibleKeys,keys){
  function formatProperty (line 361) | function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){
  function reduceToSingleString (line 420) | function reduceToSingleString(output,base,braces){
  function isArray (line 443) | function isArray(ar){
  function isBoolean (line 447) | function isBoolean(arg){
  function isNull (line 451) | function isNull(arg){
  function isNullOrUndefined (line 455) | function isNullOrUndefined(arg){
  function isNumber (line 459) | function isNumber(arg){
  function isString (line 463) | function isString(arg){
  function isSymbol (line 467) | function isSymbol(arg){
  function isUndefined (line 471) | function isUndefined(arg){
  function isRegExp (line 475) | function isRegExp(re){
  function isObject (line 479) | function isObject(arg){
  function isDate (line 483) | function isDate(d){
  function isError (line 487) | function isError(e){
  function isFunction (line 492) | function isFunction(arg){
  function isPrimitive (line 496) | function isPrimitive(arg){
  function objectToString (line 505) | function objectToString(o){
  function hasOwnProperty (line 509) | function hasOwnProperty(obj,prop){
  function setupConsole (line 525) | function setupConsole(global){
  function guarded (line 708) | function guarded(){
  function setupErrorGuard (line 729) | function setupErrorGuard(){
  function findIndex (line 839) | function findIndex(predicate,context){
  function defineProperties (line 1002) | function defineProperties(target,props){
  function sliceIterator (line 1133) | function sliceIterator(arr,i){
  function deal (line 1195) | function deal(cssObject){
  function inject (line 1820) | function inject(){
  function setUpConsole (line 1917) | function setUpConsole(){
  function polyfillGlobal (line 1938) | function polyfillGlobal(name,newValue){var scope=arguments.length<=2||ar...
  function setUpErrorHandler (line 1955) | function setUpErrorHandler(){
  function setUpFlowChecker (line 1972) | function setUpFlowChecker(){
  function setUpTimers (line 1986) | function setUpTimers(){
  function setUpAlert (line 2001) | function setUpAlert(){
  function setUpPromise (line 2015) | function setUpPromise(){
  function setUpXHR (line 2021) | function setUpXHR(){
  function setUpGeolocation (line 2034) | function setUpGeolocation(){
  function setUpWebSockets (line 2039) | function setUpWebSockets(){
  function setUpProfile (line 2043) | function setUpProfile(){
  function setUpProcessEnv (line 2051) | function setUpProcessEnv(){
  function setUpNumber (line 2059) | function setUpNumber(){
  function setUpDevTools (line 2065) | function setUpDevTools(){
  function wrap (line 2133) | function wrap(innerFn,outerFn,self,tryLocsList){
  function tryCatch (line 2156) | function tryCatch(fn,obj,arg){
  function Generator (line 2177) | function Generator(){}
  function GeneratorFunction (line 2178) | function GeneratorFunction(){}
  function GeneratorFunctionPrototype (line 2179) | function GeneratorFunctionPrototype(){}
  function defineIteratorMethods (line 2188) | function defineIteratorMethods(prototype){
  function AwaitArgument (line 2228) | function AwaitArgument(arg){
  function AsyncIterator (line 2232) | function AsyncIterator(generator){
  function makeInvokeMethod (line 2326) | function makeInvokeMethod(innerFn,self,context){
  function pushTryEntry (line 2482) | function pushTryEntry(locs){
  function resetTryEntry (line 2497) | function resetTryEntry(entry){
  function Context (line 2504) | function Context(tryLocsList){
  function values (line 2540) | function values(iterable){
  function doneResult (line 2576) | function doneResult(){
  function handle (line 2622) | function handle(loc,caught){
  function reportException (line 2791) | function reportException(e,isFatal){
  function handleException (line 2818) | function handleException(e,isFatal){
  function installConsoleErrorReporter (line 2835) | function installConsoleErrorReporter(){
  function MessageQueue (line 2957) | function MessageQueue(remoteModules,localModules,customRequire){var _thi...
  function moduleHasConstants (line 3253) | function moduleHasConstants(moduleArray){
  function arrayContains (line 3257) | function arrayContains(array,value){
  function createErrorFromErrorData (line 3261) | function createErrorFromErrorData(errorData){var
  function ReactPerf (line 3291) | function ReactPerf(){
  function _noMeasure (line 3513) | function _noMeasure(objName,fnName,func){
  function makeEmptyFunction (line 3968) | function
  function emptyFunction (line 3990) | function emptyFunction(){}
  function ensureInjected (line 4167) | function ensureInjected(){
  function ReactUpdatesFlushTransaction (line 4205) | function ReactUpdatesFlushTransaction(){
  function batchedUpdates (line 4246) | function batchedUpdates(callback,a,b,c,d,e){
  function mountOrderComparator (line 4258) | function mountOrderComparator(c1,c2){
  function runBatchedUpdates (line 4262) | function runBatchedUpdates(transaction){
  function enqueueUpdate (line 4336) | function enqueueUpdate(component){
  function asap (line 4357) | function asap(callback,context){
  function CallbackQueue (line 4440) | function CallbackQueue(){
  function assign (line 4646) | function assign(target,sources){
  function attachRefs (line 4698) | function attachRefs(){
  function attachRef (line 4817) | function attachRef(ref,component,owner){
  function detachRef (line 4826) | function detachRef(ref,component,owner){
  function stringifySafe (line 5250) | function stringifySafe(arg){
  function nativeModulePrefixNormalizer (line 5297) | function nativeModulePrefixNormalizer(
  function loadSourceMap (line 5338) | function loadSourceMap(){
  function fetchSourceMap (line 5343) | function fetchSourceMap(){
  function extractSourceMapURL (line 5369) | function extractSourceMapURL(_ref){var url=_ref.url;var text=_ref.text;v...
  function addFromSetImmediateArguments (line 5492) | function addFromSetImmediateArguments(args){
  function flushQueue (line 5502) | function flushQueue(){
  function clearImmediate (line 5530) | function clearImmediate(handle){
  function canUsePostMessage (line 5534) | function canUsePostMessage(){
  function installPostMessageImplementation (line 5562) | function installPostMessageImplementation(){
  function installMessageChannelImplementation (line 5587) | function installMessageChannelImplementation(){
  function installReadyStateChangeImplementation (line 5597) | function installReadyStateChangeImplementation(){
  function installSetTimeoutImplementation (line 5615) | function installSetTimeoutImplementation(){
  function valuePromise (line 5660) | function valuePromise(value){
  function res (line 5697) | function res(i,val){
  function noop (line 5754) | function noop(){}
  function getThen (line 5775) | function getThen(obj){
  function tryCallOne (line 5784) | function tryCallOne(fn,a){
  function tryCallTwo (line 5792) | function tryCallTwo(fn,a,b){
  function Promise (line 5803) | function Promise(fn){
  function safeThen (line 5827) | function safeThen(self,onFulfilled,onRejected){
  function handle (line 5834) | function handle(self,deferred){
  function resolve (line 5860) | function resolve(self,newValue){
  function reject (line 5894) | function reject(self,newValue){
  function finale (line 5899) | function finale(self){
  function Handler (line 5906) | function Handler(onFulfilled,onRejected,promise){
  function doResolve (line 5918) | function doResolve(fn,promise){
  function wrapper (line 5974) | function wrapper(){
  function resolveSourceMaps (line 7994) | function resolveSourceMaps(sourceMapInstance,stackFrame){
  function parseErrorStack (line 8009) | function parseErrorStack(e,sourceMapInstance){
  function checkFlowAtRuntime (line 8099) | function checkFlowAtRuntime(){
  function getPackagerURL (line 8127) | function getPackagerURL(){
  function getFirstOrNull (line 8140) | function getFirstOrNull(ar){
  function XMLHttpRequest (line 8166) | function XMLHttpRequest(){babelHelpers.classCallCheck(this,XMLHttpReques...
  function FormData (line 8243) | function FormData(){babelHelpers.classCallCheck(this,FormData);
  function RCTNetworking (line 8298) | function RCTNetworking(){babelHelpers.classCallCheck(this,RCTNetworking);}
  function EventEmitter (line 8372) | function EventEmitter(){babelHelpers.classCallCheck(this,EventEmitter);
  function EmitterSubscription (line 8548) | function EmitterSubscription(subscriber,listener,context){babelHelpers.c...
  function EventSubscription (line 8586) | function EventSubscription(subscriber){babelHelpers.classCallCheck(this,...
  function EventSubscriptionVendor (line 8627) | function EventSubscriptionVendor(){babelHelpers.classCallCheck(this,Even...
  function XMLHttpRequestBase (line 8751) | function XMLHttpRequestBase(){babelHelpers.classCallCheck(this,XMLHttpRe...
  function normalizeName (line 9009) | function normalizeName(name){
  function normalizeValue (line 9019) | function normalizeValue(value){
  function Headers (line 9026) | function Headers(headers){
  function consumed (line 9081) | function consumed(body){
  function fileReaderReady (line 9088) | function fileReaderReady(reader){
  function readBlobAsArrayBuffer (line 9099) | function readBlobAsArrayBuffer(blob){
  function readBlobAsText (line 9105) | function readBlobAsText(blob){
  function Body (line 9123) | function Body(){
  function normalizeMethod (line 9199) | function normalizeMethod(method){
  function Request (line 9204) | function Request(input,options){
  function decode (line 9244) | function decode(body){
  function headers (line 9257) | function headers(xhr){
  function Response (line 9271) | function Response(bodyInit,options){
  function responseURL (line 9312) | function responseURL(){
  function WebSocket (line 9562) | function WebSocket(){babelHelpers.classCallCheck(this,WebSocket);return ...
  function WebSocketBase (line 9715) | function WebSocketBase(url,protocols){babelHelpers.classCallCheck(this,W...
  function getAttributeListener (line 10073) | function getAttributeListener(eventTarget,type){
  function setAttributeListener (line 10092) | function setAttributeListener(eventTarget,type,listener){
  function EventTarget (line 10139) | function EventTarget(){
  function setupDevtools (line 10347) | function setupDevtools(){
  function getStyle (line 10460) | function getStyle(style){
  function flattenStyle (line 10467) | function flattenStyle(style){
  function StyleSheetRegistry (line 10514) | function StyleSheetRegistry(){babelHelpers.classCallCheck(this,StyleShee...
  function getReactRootIDString (line 10606) | function getReactRootIDString(index){
  function isBoundary (line 10618) | function isBoundary(id,index){
  function isValidID (line 10629) | function isValidID(id){
  function isAncestorIDOf (line 10643) | function isAncestorIDOf(ancestorID,descendantID){
  function getParentID (line 10657) | function getParentID(id){
  function getNextDescendantID (line 10670) | function getNextDescendantID(ancestorID,destinationID){
  function getFirstCommonAncestorID (line 10710) | function getFirstCommonAncestorID(oneID,twoID){
  function traverseParentPath (line 10748) | function traverseParentPath(start,stop,cb,arg,skipFirst,skipLast){
  function instanceNumberToChildRootID (line 10970) | function instanceNumberToChildRootID(rootNodeID,instanceNumber){
  function mountComponentIntoNode (line 10997) | function mountComponentIntoNode(
  function batchedMountComponentIntoNode (line 11016) | function batchedMountComponentIntoNode(
  function isCollapsableForStyle (line 11685) | function isCollapsableForStyle(style){
  function isCollapsable (line 11695) | function isCollapsable(viewRef){
  function enqueueCreate (line 11709) | function enqueueCreate(viewRef,rootTag){
  function getViewTag (line 11731) | function getViewTag(viewRef){
  function getViewProps (line 11735) | function getViewProps(viewRef){
  function getViewValidAttributes (line 11739) | function getViewValidAttributes(viewRef){
  function getRootViewTag (line 11743) | function getRootViewTag(viewRef){
  function poolKey (line 11748) | function poolKey(viewRef){
  function ReactNativeViewPool (line 11757) | function ReactNativeViewPool(){babelHelpers.classCallCheck(this,ReactNat...
  function translateKey (line 11943) | function translateKey(propKey){
  function defaultDiffer (line 11958) | function defaultDiffer(prevProp,nextProp){
  function diffNestedProperty (line 11968) | function diffNestedProperty(
  function clearNestedProperty (line 12035) | function clearNestedProperty(
  function diffProperties (line 12050) | function diffProperties(
  function addProperties (line 12168) | function addProperties(
  function clearProperties (line 12180) | function clearProperties(
  function styleDiffer (line 12300) | function styleDiffer(a,b){
  function styleEqual (line 12304) | function styleEqual(a,b){
  function deepFreezeAndThrowOnMutationInDev (line 12378) | function deepFreezeAndThrowOnMutationInDev(object){
  function throwOnImmutableMutation (line 12399) | function throwOnImmutableMutation(key,value){
  function identity (line 12407) | function identity(value){
  function enqueueUpdate (line 12435) | function enqueueUpdate(internalInstance){
  function getInternalInstanceReadyForUpdate (line 12439) | function getInternalInstanceReadyForUpdate(publicInstance,callerName){
  function getDeclarationErrorAddendum (line 12843) | function getDeclarationErrorAddendum(owner){
  function isInternalComponentType (line 12860) | function isInternalComponentType(type){
  function instantiateReactComponent (line 12876) | function instantiateReactComponent(node){
  function getDeclarationErrorAddendum (line 12979) | function getDeclarationErrorAddendum(component){
  function StatelessComponent (line 12990) | function StatelessComponent(Component){}
  function shouldUpdateReactComponent (line 13975) | function shouldUpdateReactComponent(prevElement,nextElement){
  function isNullComponentID (line 14078) | function isNullComponentID(id){
  function registerNullComponentID (line 14086) | function registerNullComponentID(id){
  function deregisterNullComponentID (line 14094) | function deregisterNullComponentID(id){
  function getComponentClassForElement (line 14152) | function getComponentClassForElement(element){
  function createInternalComponent (line 14170) | function createInternalComponent(element){
  function createInstanceForText (line 14183) | function createInstanceForText(text){
  function isTextComponent (line 14191) | function isTextComponent(component){
  function findNodeHandle (line 14256) | function findNodeHandle(componentOrHandle){
  function componentToString (line 14419) | function componentToString(component){
  function getRootTagForTag (line 14423) | function getRootTagForTag(tag){
  function traverseOwnerTreeUp (line 14469) | function traverseOwnerTreeUp(hierarchy,instance){
  function findInstance (line 14476) | function findInstance(component,targetID){
  function findRootNodeID (line 14495) | function findRootNodeID(component){
  function findInstanceByNativeTag (line 14500) | function findInstanceByNativeTag(rootTag,nativeTag){
  function getOwnerHierarchy (line 14510) | function getOwnerHierarchy(instance){
  function validateInstanceHandle (line 14715) | function validateInstanceHandle(){
  function recomputePluginOrdering (line 14999) | function recomputePluginOrdering(){
  function publishEventForPlugin (line 15047) | function publishEventForPlugin(dispatchConfig,PluginModule,eventName){
  function publishRegistrationName (line 15088) | function publishRegistrationName(registrationName,PluginModule,eventName){
  function isEndish (line 15284) | function isEndish(topLevelType){
  function isMoveish (line 15290) | function isMoveish(topLevelType){
  function isStartish (line 15294) | function isStartish(topLevelType){
  function executeDispatch (line 15327) | function executeDispatch(event,simulated,listener,domID){
  function executeDispatchesInOrder (line 15346) | function executeDispatchesInOrder(event,simulated){
  function executeDispatchesInOrderStopAtTrueImpl (line 15374) | function executeDispatchesInOrderStopAtTrueImpl(event){
  function executeDispatchesInOrderStopAtTrue (line 15401) | function executeDispatchesInOrderStopAtTrue(event){
  function executeDirectDispatch (line 15417) | function executeDirectDispatch(event){
  function hasDispatches (line 15439) | function hasDispatches(event){
  function invokeGuardedCallback (line 15585) | function invokeGuardedCallback(name,func,a,b){
  function accumulateInto (line 15671) | function accumulateInto(current,next){
  function listenerAtPhase (line 15861) | function listenerAtPhase(id,event,propagationPhase){
  function accumulateDirectionalDispatches (line 15873) | function accumulateDirectionalDispatches(domID,upwards,event){
  function accumulateTwoPhaseDispatchesSingle (line 15896) | function accumulateTwoPhaseDispatchesSingle(event){
  function accumulateTwoPhaseDispatchesSingleSkipTarget (line 15909) | function accumulateTwoPhaseDispatchesSingleSkipTarget(event){
  function accumulateDispatches (line 15925) | function accumulateDispatches(id,ignoredDirection,event){
  function accumulateDirectDispatchesSingle (line 15942) | function accumulateDirectDispatchesSingle(event){
  function accumulateTwoPhaseDispatches (line 15948) | function accumulateTwoPhaseDispatches(events){
  function accumulateTwoPhaseDispatchesSkipTarget (line 15952) | function accumulateTwoPhaseDispatchesSkipTarget(events){
  function accumulateEnterLeaveDispatches (line 15956) | function accumulateEnterLeaveDispatches(leave,enter,fromID,toID){
  function accumulateDirectDispatches (line 15967) | function accumulateDirectDispatches(events){
  function SyntheticEvent (line 16048) | function SyntheticEvent(dispatchConfig,dispatchMarker,nativeEvent,native...
  function mergeInto (line 16281) | function mergeInto(one,two){
  function ReactDefaultBatchingStrategyTransaction (line 16574) | function ReactDefaultBatchingStrategyTransaction(){
  function ReactNativeReconcileTransaction (line 16857) | function ReactNativeReconcileTransaction(){
  function scheduleUpdate (line 17051) | function scheduleUpdate(){
  function processUpdate (line 17060) | function processUpdate(){
  function Set (line 17181) | function Set(iterable){babelHelpers.classCallCheck(this,Set);
  function initSet (line 17289) | function initSet(set){
  function Map (line 17415) | function Map(iterable){babelHelpers.classCallCheck(this,Map);
  function MapIterator (line 17596) | function MapIterator(map,kind){babelHelpers.classCallCheck(this,MapItera...
  function getIndex (line 17672) | function getIndex(map,key){
  function setIndex (line 17692) | function setIndex(map,key,index){
  function initMap (line 17725) | function initMap(map){
  function isObject (line 17794) | function isObject(o){
  function createIterResultObject (line 17805) | function createIterResultObject(value,done){
  function isExtensible (line 17825) | function isExtensible(o){
  function getIENodeHash (line 17841) | function getIENodeHash(node){
  function guid (line 17924) | function
  function isNode (line 17956) | function
  function ArrayIterator (line 18029) | function ArrayIterator(array,kind){babelHelpers.classCallCheck(this,Arra...
  function StringIterator (line 18077) | function StringIterator(string){babelHelpers.classCallCheck(this,StringI...
  function createIterResultObject (line 18130) | function createIterResultObject(value,done){
  function shouldPolyfillES6Collection (line 18164) | function
  function setResponderAndExtractTransfer (line 18574) | function setResponderAndExtractTransfer(
  function canTriggerTransfer (line 18681) | function canTriggerTransfer(topLevelType,topLevelTargetID,nativeEvent){
  function noResponderTouches (line 18702) | function noResponderTouches(nativeEvent){
  function ResponderSyntheticEvent (line 18895) | function ResponderSyntheticEvent(dispatchConfig,dispatchMarker,nativeEve...
  function accumulate (line 19111) | function accumulate(current,next){
  function warnForStyleProps (line 19513) | function warnForStyleProps(props,validAttributes){
  function throwOnStylesProp (line 19622) | function throwOnStylesProp(component,props){
  function runEventQueueInBatch (line 19975) | function runEventQueueInBatch(events){
  function createChainableTypeChecker (line 20334) | function createChainableTypeChecker(validate){
  function createPrimitiveTypeChecker (line 20365) | function createPrimitiveTypeChecker(expectedType){
  function createAnyTypeChecker (line 20387) | function createAnyTypeChecker(){
  function createArrayOfTypeChecker (line 20391) | function createArrayOfTypeChecker(typeChecker){
  function createElementTypeChecker (line 20419) | function createElementTypeChecker(){
  function createInstanceTypeChecker (line 20433) | function createInstanceTypeChecker(expectedClass){
  function createEnumTypeChecker (line 20450) | function createEnumTypeChecker(expectedValues){
  function createObjectOfTypeChecker (line 20477) | function createObjectOfTypeChecker(typeChecker){
  function createUnionTypeChecker (line 20507) | function createUnionTypeChecker(arrayOfTypeCheckers){
  function createNodeChecker (line 20535) | function createNodeChecker(){
  function createShapeTypeChecker (line 20549) | function createShapeTypeChecker(shapeTypes){
  function isNode (line 20581) | function isNode(propValue){
  function getPropType (line 20629) | function getPropType(propValue){
  function getPreciseType (line 20645) | function getPreciseType(propValue){
  function getClassName (line 20658) | function getClassName(propValue){
  function getIteratorFn (line 20699) | function getIteratorFn(maybeIterable){
  function processColor (line 20976) | function processColor(color){
  function tinycolor (line 21020) | function tinycolor(color,opts){
  function inputToRGB (line 21063) | function inputToRGB(color){
  function rgbToRgb (line 21119) | function rgbToRgb(r,g,b){
  function hslToRgb (line 21131) | function hslToRgb(h,s,l){
  function hsvToRgb (line 21165) | function hsvToRgb(h,s,v){
  function boundAlpha (line 21339) | function boundAlpha(a){
  function bound01 (line 21350) | function bound01(n,max){
  function parseIntFromHex (line 21371) | function parseIntFromHex(val){
  function isOnePointZero (line 21377) | function isOnePointZero(n){
  function isPercentage (line 21382) | function isPercentage(n){
  function convertToPercentage (line 21387) | function convertToPercentage(n){
  function convertHexToDecimal (line 21396) | function convertHexToDecimal(h){
  function stringInputToObject (line 21433) | function stringInputToObject(color){
  function processTransform (line 21534) | function processTransform(transform){
  function _multiplyTransform (line 21603) | function _multiplyTransform(
  function _convertToRadians (line 21618) | function _convertToRadians(value){
  function _validateTransform (line 21623) | function _validateTransform(key,value,transformation){
  function enqueueInsertMarkup (line 22359) | function enqueueInsertMarkup(parentID,markup,toIndex){
  function enqueueMove (line 22380) | function enqueueMove(parentID,fromIndex,toIndex){
  function enqueueRemove (line 22400) | function enqueueRemove(parentID,fromIndex){
  function enqueueSetMarkup (line 22420) | function enqueueSetMarkup(parentID,markup){
  function enqueueTextContent (line 22440) | function enqueueTextContent(parentID,textContent){
  function processQueue (line 22458) | function processQueue(){
  function clearQueue (line 22473) | function clearQueue(){
  function instantiateChild (line 22852) | function instantiateChild(childInstances,child,name){
  function userProvidedKeyEscaper (line 23010) | function userProvidedKeyEscaper(match){
  function getComponentKey (line 23021) | function getComponentKey(component,index){
  function escapeUserProvidedKey (line 23036) | function escapeUserProvidedKey(text){
  function wrapUserProvidedKey (line 23050) | function wrapUserProvidedKey(key){
  function traverseAllChildrenImpl (line 23062) | function traverseAllChildrenImpl(
  function traverseAllChildren (line 23201) | function traverseAllChildren(children,callback,traverseContext){
  function flattenSingleChildIntoContext (line 23232) | function flattenSingleChildIntoContext(traverseContext,child,name){
  function flattenChildren (line 23255) | function flattenChildren(children){
  function RCTLog (line 23307) | function RCTLog(){babelHelpers.classCallCheck(this,RCTLog);}
  function escapeUserProvidedKey (line 23351) | function escapeUserProvidedKey(text){
  function ForEachBookKeeping (line 23364) | function ForEachBookKeeping(forEachFunction,forEachContext){
  function forEachSingleChild (line 23376) | function forEachSingleChild(bookKeeping,child,name){var
  function forEachChildren (line 23391) | function forEachChildren(children,forEachFunc,forEachContext){
  function MapBookKeeping (line 23411) | function MapBookKeeping(mapResult,keyPrefix,mapFunction,mapContext){
  function mapSingleChildIntoContext (line 23427) | function mapSingleChildIntoContext(bookKeeping,child,childKey){var
  function mapIntoWithKeyPrefixInternal (line 23457) | function mapIntoWithKeyPrefixInternal(children,array,prefix,func,context){
  function mapChildren (line 23483) | function mapChildren(children,func,context){
  function forEachSingleChildDummy (line 23494) | function forEachSingleChildDummy(traverseContext,child,name){
  function countChildren (line 23505) | function countChildren(children,context){
  function toArray (line 23514) | function toArray(children){
  function warnSetProps (line 23593) | function warnSetProps(){
  function validateTypeDef (line 23935) | function validateTypeDef(Constructor,typeDef,location){
  function validateMethodOverride (line 23952) | function validateMethodOverride(proto,name){
  function mixSpecIntoComponent (line 23985) | function mixSpecIntoComponent(Constructor,spec){
  function mixStaticSpecIntoComponent (line 24084) | function mixStaticSpecIntoComponent(Constructor,statics){
  function mergeIntoWithNoDuplicateKeys (line 24123) | function mergeIntoWithNoDuplicateKeys(one,two){
  function createMergedResultFunction (line 24154) | function createMergedResultFunction(one,two){
  function createChainedFunction (line 24178) | function createChainedFunction(one,two){
  function bindAutoBindMethod (line 24192) | function bindAutoBindMethod(component,method){
  function bindAutoBindMethods (line 24238) | function bindAutoBindMethods(component){
  function ReactComponent (line 24475) | function ReactComponent(props,context,updater){
  function warnTDZ (line 24622) | function warnTDZ(publicInstance,callerName){
  function getDeclarationErrorAddendum (line 24764) | function getDeclarationErrorAddendum(){
  function validateExplicitKey (line 24793) | function validateExplicitKey(element,parentType){
  function getAddendaForKeyUse (line 24824) | function getAddendaForKeyUse(messageType,element,parentType){
  function validateChildKeys (line 24871) | function validateChildKeys(node,parentType){
  function checkPropTypes (line 24913) | function checkPropTypes(componentName,propTypes,props,location){
  function validatePropTypes (line 24965) | function validatePropTypes(element){
  function deprecated (line 25101) | function deprecated(fnName,newModule,newPackage,ctx,fn){
  function onlyChild (line 25157) | function onlyChild(children){
  function StyleSheet (line 25335) | function StyleSheet(){babelHelpers.classCallCheck(this,StyleSheet);}
  function StyleSheetValidation (line 25373) | function StyleSheetValidation(){babelHelpers.classCallCheck(this,StyleSh...
  function StyleSheetPropType (line 25835) | function StyleSheetPropType(
  function createStrictShapeTypeChecker (line 25870) | function createStrictShapeTypeChecker(
  function requireNativeComponent (line 25975) | function requireNativeComponent(
  function verifyPropTypes (line 26071) | function verifyPropTypes(
  function arrayDiffer (line 26240) | function arrayDiffer(a,b){
  function fontAndLinesDiffer (line 26255) | function fontAndLinesDiffer(a,b){
  function childrenAsString (line 26339) | function childrenAsString(children){
  function extractNumber (line 26374) | function extractNumber(value,defaultValue){
  function extractTransform (line 26383) | function extractTransform(props){
  function extractOpacity (line 26406) | function extractOpacity(props){
  function insertColorIntoArray (line 26475) | function insertColorIntoArray(color,targetArray,atIndex){
  function insertColorsIntoArray (line 26483) | function insertColorsIntoArray(stops,targetArray,atIndex){
  function insertOffsetsIntoArray (line 26499) | function insertOffsetsIntoArray(stops,targetArray,atIndex,multi,reverse){
  function insertColorStopsIntoArray (line 26518) | function insertColorStopsIntoArray(stops,targetArray,atIndex){
  function insertDoubleColorStopsIntoArray (line 26523) | function insertDoubleColorStopsIntoArray(stops,targetArray,atIndex){
  function applyBoundingBoxToBrushData (line 26530) | function applyBoundingBoxToBrushData(brushData,props){
  function extractBrush (line 26551) | function extractBrush(colorOrBrush,props){
  function extractColor (line 26571) | function extractColor(color){
  function extractStrokeCap (line 26579) | function extractStrokeCap(strokeCap){
  function extractStrokeJoin (line 26587) | function extractStrokeJoin(strokeJoin){
  function extractSingleFontFamily (line 26631) | function extractSingleFontFamily(fontFamilyString){
  function parseFontString (line 26640) | function parseFontString(font){
  function extractFont (line 26662) | function extractFont(font){
  function extractFontAndLines (line 26681) | function extractFontAndLines(font,text){
  function extractAlignment (line 26685) | function extractAlignment(alignment){
  function LinearGradient (line 26727) | function LinearGradient(stops,x1,y1,x2,y2){
  function RadialGradient (line 26753) | function RadialGradient(stops,fx,fy,rx,ry,cx,cy){
  function Pattern (line 26780) | function Pattern(url,width,height,left,top){
  function CSSBackgroundPattern (line 26787) | function CSSBackgroundPattern(){
  function Transform (line 27402) | function Transform(xx,yx,xy,yy,x,y){
  function getDevServerURL (line 27995) | function getDevServerURL(){
  function getOfflinePath (line 28011) | function getOfflinePath(){
  function getPathInArchive (line 28028) | function getPathInArchive(asset){
  function getPathOnDevserver (line 28048) | function getPathOnDevserver(devServerUrl,asset){
  function getBasePath (line 28056) | function getBasePath(asset){
  function getScaledAssetPath (line 28069) | function getScaledAssetPath(asset){
  function pickScale (line 28076) | function pickScale(scales,deviceScale){
  function resolveAssetSource (line 28090) | function resolveAssetSource(source){
  function assetToImageSource (line 28103) | function assetToImageSource(asset){
  function registerAsset (line 28140) | function registerAsset(asset){
  function getAssetByID (line 28146) | function getAssetByID(assetId){
  function PixelRatio (line 28198) | function PixelRatio(){babelHelpers.classCallCheck(this,PixelRatio);}
  function Dimensions (line 28289) | function Dimensions(){babelHelpers.classCallCheck(this,Dimensions);}
  function defaultGetRowData (line 28962) | function defaultGetRowData(
  function defaultGetSectionHeaderData (line 28970) | function defaultGetSectionHeaderData(
  function ListViewDataSource (line 29047) | function ListViewDataSource(params){babelHelpers.classCallCheck(this,Lis...
  function countRows (line 29311) | function countRows(allRowIDs){
  function keyedDictionaryFromArray (line 29320) | function keyedDictionaryFromArray(arr){
  function isEmpty (line 29336) | function
  function dismissKeyboard (line 30518) | function dismissKeyboard(){
  function Modal (line 30966) | function Modal(){babelHelpers.classCallCheck(this,Modal);return babelHel...
  function getuid (line 31080) | function getuid(){
  function getRouteID (line 31084) | function getRouteID(route){
  function NavigationContext (line 32263) | function NavigationContext(){babelHelpers.classCallCheck(this,Navigation...
  function NavigationEventPool (line 32505) | function NavigationEventPool(){babelHelpers.classCallCheck(this,Navigati...
  function NavigationEvent (line 32572) | function NavigationEvent(type,currentTarget,data){babelHelpers.classCall...
  function NavigationEventEmitter (line 32711) | function NavigationEventEmitter(target){babelHelpers.classCallCheck(this...
  function NavigationTreeNode (line 32801) | function NavigationTreeNode(value){babelHelpers.classCallCheck(this,Navi...
  function createClass (line 32881) | function createClass(ctor,superClass){
  function Iterable (line 32888) | function Iterable(value){
  function KeyedIterable (line 32894) | function KeyedIterable(value){
  function IndexedIterable (line 32900) | function IndexedIterable(value){
  function SetIterable (line 32906) | function SetIterable(value){
  function isIterable (line 32912) | function isIterable(maybeIterable){
  function isKeyed (line 32916) | function isKeyed(maybeKeyed){
  function isIndexed (line 32920) | function isIndexed(maybeIndexed){
  function isAssociative (line 32924) | function isAssociative(maybeAssociative){
  function isOrdered (line 32928) | function isOrdered(maybeOrdered){
  function MakeRef (line 32964) | function MakeRef(ref){
  function SetRef (line 32969) | function SetRef(ref){
  function OwnerID (line 32976) | function OwnerID(){}
  function arrCopy (line 32979) | function arrCopy(arr,offset){
  function ensureSize (line 32989) | function ensureSize(iter){
  function wrapIndex (line 32996) | function wrapIndex(iter,index){
  function returnTrue (line 33014) | function returnTrue(){
  function wholeSlice (line 33018) | function wholeSlice(begin,end,size){
  function resolveBegin (line 33023) | function resolveBegin(begin,size){
  function resolveEnd (line 33027) | function resolveEnd(end,size){
  function resolveIndex (line 33031) | function resolveIndex(index,size,defaultIndex){
  function Iterator (line 33053) | function Iterator(next){
  function iteratorValue (line 33073) | function iteratorValue(type,k,v,iteratorResult){
  function iteratorDone (line 33081) | function iteratorDone(){
  function hasIterator (line 33085) | function hasIterator(maybeIterable){
  function isIterator (line 33089) | function isIterator(maybeIterator){
  function getIterator (line 33093) | function getIterator(iterable){
  function getIteratorFn (line 33098) | function getIteratorFn(iterable){
  function isArrayLike (line 33108) | function isArrayLike(value){
  function Seq (line 33113) | function Seq(value){
  function KeyedSeq (line 33153) | function KeyedSeq(value){
  function IndexedSeq (line 33168) | function IndexedSeq(value){
  function SetSeq (line 33197) | function SetSeq(value){
  function ArraySeq (line 33227) | function ArraySeq(array){
  function ObjectSeq (line 33261) | function ObjectSeq(object){
  function IterableSeq (line 33309) | function IterableSeq(iterable){
  function IteratorSeq (line 33351) | function IteratorSeq(iterator){
  function isSeq (line 33403) | function isSeq(maybeSeq){
  function emptySequence (line 33409) | function emptySequence(){
  function keyedSeqFromValue (line 33413) | function keyedSeqFromValue(value){
  function indexedSeqFromValue (line 33429) | function indexedSeqFromValue(value){
  function seqFromValue (line 33439) | function seqFromValue(value){
  function maybeIndexedSeqFromValue (line 33450) | function maybeIndexedSeqFromValue(value){
  function seqIterate (line 33459) | function seqIterate(seq,fn,reverse,useKeys){
  function seqIterator (line 33474) | function seqIterator(seq,type,reverse,useKeys){
  function fromJS (line 33489) | function fromJS(json,converter){
  function fromJSWith (line 33495) | function fromJSWith(converter,json,key,parentJSON){
  function fromJSDefault (line 33505) | function fromJSDefault(json){
  function isPlainObj (line 33515) | function isPlainObj(value){
  function is (line 33573) | function is(valueA,valueB){
  function deepEqual (line 33599) | function deepEqual(a,b){
  function Repeat (line 33658) | function Repeat(value,times){
  function invariant (line 33736) | function invariant(condition,error){
  function Range (line 33742) | function Range(start,end,step){
  function Collection (line 33854) | function Collection(){
  function KeyedCollection (line 33859) | function KeyedCollection(){}
  function IndexedCollection (line 33861) | function IndexedCollection(){}
  function SetCollection (line 33863) | function SetCollection(){}
  function smi (line 33886) | function smi(i32){
  function hash (line 33890) | function hash(o){
  function cachedHashString (line 33930) | function cachedHashString(string){
  function hashString (line 33945) | function hashString(string){
  function hashJSObj (line 33959) | function hashJSObj(obj){
  function getIENodeHash (line 34039) | function getIENodeHash(node){
  function assertNotInfinite (line 34069) | function assertNotInfinite(size){
  function Map (line 34080) | function Map(value){
  function isMap (line 34248) | function isMap(maybeMap){
  function ArrayMapNode (line 34266) | function ArrayMapNode(ownerID,entries){
  function BitmapIndexedNode (line 34332) | function BitmapIndexedNode(ownerID,bitmap,nodes){
  function HashArrayMapNode (line 34401) | function HashArrayMapNode(ownerID,count,nodes){
  function HashCollisionNode (line 34459) | function HashCollisionNode(ownerID,keyHash,entries){
  function ValueNode (line 34535) | function ValueNode(ownerID,keyHash,entry){
  function MapIterator (line 34602) | function MapIterator(map,type,reverse){
  function mapIteratorValue (line 34643) | function mapIteratorValue(type,entry){
  function mapIteratorFrame (line 34647) | function mapIteratorFrame(node,prev){
  function makeMap (line 34655) | function makeMap(size,root,ownerID,hash){
  function emptyMap (line 34666) | function emptyMap(){
  function updateMap (line 34670) | function updateMap(map,k,v){
  function updateNode (line 34698) | function updateNode(node,ownerID,shift,keyHash,key,value,didChangeSize,d...
  function isLeafNode (line 34710) | function isLeafNode(node){
  function mergeIntoNode (line 34714) | function mergeIntoNode(node,ownerID,shift,keyHash,entry){
  function createNodes (line 34730) | function createNodes(ownerID,entries,key,value){
  function packNodes (line 34742) | function packNodes(ownerID,nodes,count,excluding){
  function expandNodes (line 34756) | function expandNodes(ownerID,nodes,bitmap,including,node){
  function mergeIntoMapWith (line 34766) | function mergeIntoMapWith(map,merger,iterables){
  function deepMerger (line 34779) | function deepMerger(existing,value,key){
  function deepMergerWith (line 34785) | function deepMergerWith(merger){
  function mergeIntoCollectionWith (line 34795) | function mergeIntoCollectionWith(collection,merger,iters){
  function updateInDeepMap (line 34819) | function updateInDeepMap(existing,keyPathIter,notSetValue,updater){
  function popCount (line 34844) | function popCount(x){
  function setIn (line 34853) | function setIn(array,idx,val,canEdit){
  function spliceIn (line 34859) | function spliceIn(array,idx,val,canEdit){
  function spliceOut (line 34878) | function spliceOut(array,idx,canEdit){
  function List (line 34903) | function List(value){
  function isList (line 35078) | function isList(maybeList){
  function VNode (line 35103) | function VNode(array,ownerID){
  function iterateList (line 35172) | function iterateList(list,reverse){
  function makeList (line 35231) | function makeList(origin,capacity,level,root,tail,ownerID,hash){
  function emptyList (line 35246) | function emptyList(){
  function updateList (line 35250) | function updateList(list,index,value){
  function updateVNode (line 35290) | function updateVNode(node,ownerID,level,index,value,didAlter){
  function editableVNode (line 35325) | function editableVNode(node,ownerID){
  function listNodeFor (line 35332) | function listNodeFor(list,rawIndex){
  function setListBounds (line 35347) | function setListBounds(list,begin,end){
  function mergeIntoListWith (line 35470) | function mergeIntoListWith(list,merger,iterables){
  function getTailOffset (line 35490) | function getTailOffset(size){
  function OrderedMap (line 35498) | function OrderedMap(value){
  function isOrderedMap (line 35577) | function isOrderedMap(maybeOrderedMap){
  function makeOrderedMap (line 35588) | function makeOrderedMap(map,list,ownerID,hash){
  function emptyOrderedMap (line 35599) | function emptyOrderedMap(){
  function updateOrderedMap (line 35603) | function updateOrderedMap(omap,k,v){
  function ToKeyedSequence (line 35647) | function ToKeyedSequence(indexed,useKeys){
  function ToIndexedSequence (line 35709) | function ToIndexedSequence(iter){
  function ToSetSequence (line 35736) | function ToSetSequence(iter){
  function FromEntriesSequence (line 35761) | function FromEntriesSequence(entries){
  function flipFactory (line 35819) | function flipFactory(iterable){
  function mapFactory (line 35857) | function mapFactory(iterable,mapper,context){
  function reverseFactory (line 35894) | function reverseFactory(iterable,useKeys){
  function filterFactory (line 35921) | function filterFactory(iterable,predicate,context,useKeys){
  function countByFactory (line 35966) | function countByFactory(iterable,grouper,context){
  function groupByFactory (line 35979) | function groupByFactory(iterable,grouper,context){
  function sliceFactory (line 35993) | function sliceFactory(iterable,begin,end,useKeys){
  function takeWhileFactory (line 36094) | function takeWhileFactory(iterable,predicate,context){
  function skipWhileFactory (line 36135) | function skipWhileFactory(iterable,predicate,context,useKeys){
  function concatFactory (line 36184) | function concatFactory(iterable,values){
  function flattenFactory (line 36232) | function flattenFactory(iterable,depth,useKeys){
  function flatMapFactory (line 36279) | function flatMapFactory(iterable,mapper,context){
  function interposeFactory (line 36287) | function interposeFactory(iterable,separator){
  function sortFactory (line 36319) | function sortFactory(iterable,comparator,mapper){
  function maxFactory (line 36339) | function maxFactory(iterable,comparator,mapper){
  function maxCompare (line 36353) | function maxCompare(comparator,a,b){
  function zipWithFactory (line 36361) | function zipWithFactory(keyIter,zipper,iters){
  function reify (line 36418) | function reify(iter,seq){
  function validateEntry (line 36422) | function validateEntry(entry){
  function resolveSize (line 36428) | function resolveSize(iter){
  function iterableClass (line 36433) | function iterableClass(iterable){
  function makeSequence (line 36439) | function makeSequence(iterable){
  function cacheResultThrough (line 36449) | function cacheResultThrough(){
  function defaultComparator (line 36459) | function defaultComparator(a,b){
  function forceIterator (line 36463) | function forceIterator(keyPath){
  function Record (line 36478) | function Record(defaultValues,name){
  function makeRecord (line 36601) | function makeRecord(likeRecord,map,ownerID){
  function recordName (line 36608) | function recordName(record){
  function setProps (line 36612) | function setProps(prototype,names){
  function setProp (line 36620) | function setProp(prototype,name){
  function Set (line 36636) | function Set(value){
  function isSet (line 36769) | function isSet(maybeSet){
  function updateSet (line 36789) | function updateSet(set,newMap){
  function makeSet (line 36800) | function makeSet(map,ownerID){
  function emptySet (line 36809) | function emptySet(){
  function OrderedSet (line 36817) | function OrderedSet(value){
  function isOrderedSet (line 36840) | function isOrderedSet(maybeOrderedSet){
  function makeOrderedSet (line 36852) | function makeOrderedSet(map,ownerID){
  function emptyOrderedSet (line 36861) | function emptyOrderedSet(){
  function Stack (line 36869) | function Stack(value){
  function isStack (line 37050) | function isStack(maybeStack){
  function makeStack (line 37066) | function makeStack(size,head,ownerID,hash){
  function emptyStack (line 37077) | function emptyStack(){
  function mixin (line 37084) | function mixin(ctor,methods){
  function keyMapper (line 37757) | function keyMapper(v,k){
  function entryMapper (line 37761) | function entryMapper(v,k){
  function not (line 37765) | function not(predicate){
  function neg (line 37771) | function neg(predicate){
  function quoteString (line 37777) | function quoteString(value){
  function defaultZipper (line 37781) | function defaultZipper(){
  function defaultNegComparator (line 37785) | function defaultNegComparator(a,b){
  function hashIterable (line 37789) | function hashIterable(iterable){
  function murmurHashOfSize (line 37808) | function murmurHashOfSize(size,h){
  function hashMerge (line 37819) | function hashMerge(a,b){
  function buildSceneInterpolators (line 38453) | function buildSceneInterpolators(startStyles,endStyles){
  function buildSceneInterpolators (line 39189) | function buildSceneInterpolators(startStyles,endStyles){
  function StaticContainer (line 39527) | function StaticContainer(){babelHelpers.classCallCheck(this,StaticContai...
  function clamp (line 40649) | function
  function removeFirst (line 41792) | function removeFirst(array,item){
  function getuid (line 41856) | function getuid(){
  function BoundingDimensions (line 44490) | function BoundingDimensions(width,height){
  function Position (line 44533) | function Position(left,top){
  function DocumentSelectionState (line 45287) | function DocumentSelectionState(anchor,focus){babelHelpers.classCallChec...
  function mixInEventEmitter (line 45458) | function mixInEventEmitter(klass,types){
  function EventEmitterWithHolding (line 45584) | function EventEmitterWithHolding(emitter,holder){babelHelpers.classCallC...
  function EventHolder (line 45732) | function EventHolder(){babelHelpers.classCallCheck(this,EventHolder);
  function assertAllowsEventType (line 45889) | function assertAllowsEventType(type,allowedTypes){
  function errorMessageFor (line 45895) | function errorMessageFor(type,allowedTypes){
  function copyProperties (line 45979) | function
  function Animated (line 46799) | function Animated(){babelHelpers.classCallCheck(this,Animated);}
  function Animation (line 46816) | function Animation(){babelHelpers.classCallCheck(this,Animation);}
  function AnimatedWithChildren (line 46838) | function AnimatedWithChildren(){babelHelpers.classCallCheck(this,Animate...
  function _flush (line 46889) | function _flush(rootNode){
  function TimingAnimation (line 46929) | function TimingAnimation(
  function DecayAnimation (line 47017) | function DecayAnimation(
  function withDefault (line 47091) | function withDefault(value,defaultValue){
  function SpringAnimation (line 47114) | function SpringAnimation(
  function AnimatedValue (line 47298) | function AnimatedValue(value){babelHelpers.classCallCheck(this,AnimatedV...
  function AnimatedValueXY (line 47481) | function AnimatedValueXY(valueIn){babelHelpers.classCallCheck(this,Anima...
  function AnimatedInterpolation (line 47581) | function AnimatedInterpolation(parent,interpolation){babelHelpers.classC...
  function AnimatedTransform (line 47612) | function AnimatedTransform(transforms){babelHelpers.classCallCheck(this,...
  function AnimatedStyle (line 47674) | function AnimatedStyle(style){babelHelpers.classCallCheck(this,AnimatedS...
  function AnimatedProps (line 47733) | function AnimatedProps(
  function createAnimatedComponent (line 47796) | function createAnimatedComponent(Component){
  function AnimatedTracking (line 47885) | function AnimatedTracking(
  function Interpolation (line 48374) | function Interpolation(){babelHelpers.classCallCheck(this,Interpolation);}
  function interpolate (line 48431) | function interpolate(
  function colorToRgba (line 48499) | function colorToRgba(
  function createInterpolationFromStringOutputRange (line 48521) | function createInterpolationFromStringOutputRange(
  function checkPattern (line 48571) | function checkPattern(arr){
  function findRange (line 48581) | function findRange(input,inputRange){
  function checkValidInputRange (line 48590) | function checkValidInputRange(arr){
  function checkInfiniteRange (line 48606) | function checkInfiniteRange(name,arr){
  function Easing (line 48642) | function Easing(){babelHelpers.classCallCheck(this,Easing);}
  function tensionFromOrigamiValue (line 48873) | function tensionFromOrigamiValue(oValue){
  function frictionFromOrigamiValue (line 48877) | function frictionFromOrigamiValue(oValue){
  function fromOrigamiTensionAndFriction (line 48881) | function fromOrigamiTensionAndFriction(
  function fromBouncinessAndSpeed (line 48891) | function fromBouncinessAndSpeed(
  function AlertIOS (line 49458) | function AlertIOS(){babelHelpers.classCallCheck(this,AlertIOS);}
  function renderApplication (line 49692) | function renderApplication(
  function Inspector (line 49752) | function Inspector(props){babelHelpers.classCallCheck(this,Inspector);va...
  function ElementBox (line 50021) | function ElementBox(){babelHelpers.classCallCheck(this,ElementBox);retur...
  function BorderBox (line 50090) | function BorderBox(){babelHelpers.classCallCheck(this,BorderBox);return ...
  function resolveBoxStyle (line 50134) | function resolveBoxStyle(prefix,style){
  function capFirst (line 50165) | function capFirst(text){
  function InspectorPanel (line 50194) | function InspectorPanel(){babelHelpers.classCallCheck(this,InspectorPane...
  function Button (line 50257) | function Button(){babelHelpers.classCallCheck(this,Button);return babelH...
  function BoxInspector (line 50439) | function BoxInspector(){babelHelpers.classCallCheck(this,BoxInspector);r...
  function BoxContainer (line 50462) | function BoxContainer(){babelHelpers.classCallCheck(this,BoxContainer);r...
  function StyleInspector (line 50544) | function StyleInspector(){babelHelpers.classCallCheck(this,StyleInspecto...
  function mapWithSeparator (line 50596) | function mapWithSeparator(array,valueFunction,separatorFunction){
  function sprintf (line 50747) | function sprintf(format){for(var _len=arguments.length,args=Array(_len>1...
  function updateWarningMap (line 50752) | function updateWarningMap(format){
  function isWarningIgnored (line 50767) | function isWarningIgnored(warning){
  function YellowBox (line 50846) | function YellowBox(props,context){babelHelpers.classCallCheck(this,Yello...
  function roundFloat (line 51127) | function roundFloat(val){
  function addValue (line 51131) | function addValue(obj,key,val){
  function checkMask (line 51397) | function checkMask(value,bitmask){
  function getTotalTime (line 51671) | function getTotalTime(measurements){
  function getDOMSummary (line 51684) | function getDOMSummary(measurements){
  function getExclusiveSummary (line 51700) | function getExclusiveSummary(measurements){
  function getInclusiveSummary (line 51752) | function getInclusiveSummary(measurements,onlyClean){
  function getUnchangedComponents (line 51811) | function getUnchangedComponents(measurement){
  function firstDifferenceIndex (line 51917) | function firstDifferenceIndex(string1,string2){
  function getReactRootElementInContainer (line 51932) | function getReactRootElementInContainer(container){
  function getReactRootID (line 51948) | function getReactRootID(container){
  function getID (line 51963) | function getID(node){
  function internalGetID (line 51985) | function internalGetID(node){
  function setID (line 51998) | function setID(node,id){
  function getNode (line 52014) | function getNode(id){
  function getNodeFromInstance (line 52028) | function getNodeFromInstance(instance){
  function isValid (line 52049) | function isValid(node,id){
  function purgeID (line 52071) | function purgeID(id){
  function findDeepestCachedAncestorImpl (line 52076) | function findDeepestCachedAncestorImpl(ancestorID){
  function findDeepestCachedAncestor (line 52090) | function findDeepestCachedAncestor(targetID){
  function mountComponentIntoNode (line 52111) | function mountComponentIntoNode(
  function batchedMountComponentIntoNode (line 52155) | function batchedMountComponentIntoNode(
  function unmountComponentFromNode (line 52187) | function unmountComponentFromNode(instance,container){
  function hasNonRootReactChild (line 52210) | function hasNonRootReactChild(node){
  function findFirstReactDOMImpl (line 52220) | function findFirstReactDOMImpl(node){
  function getListeningForDocument (line 53109) | function getListeningForDocument(mountAt){
  function isEventSupported (line 53405) | function isEventSupported(eventNameSuffix,capture){
  function adler32 (line 53520) | function adler32(data){
  function containsNode (line 53571) | function containsNode(outerNode,innerNode){
  function isTextNode (line 53609) | function isTextNode(object){
  function convertErrors (line 54549) | function convertErrors(errs){
  function convertError (line 54556) | function convertError(error){
  function emptyFunction (line 54582) | function emptyFunction(){}
  function CameraRoll (line 54706) | function CameraRoll(){babelHelpers.classCallCheck(this,CameraRoll);}
  function configureNext (line 54912) | function configureNext(config,onAnimationDidEnd){
  function create (line 54919) | function create(duration,type,creationProp){
  function LinkingIOS (line 55080) | function LinkingIOS(){babelHelpers.classCallCheck(this,LinkingIOS);}
  function PushNotificationIOS (line 55638) | function PushNotificationIOS(nativeNotif){var _this=this;babelHelpers.cl...
  function ReactLink (line 55960) | function ReactLink(value,requestChange){
  function createLinkTypeChecker (line 55973) | function createLinkTypeChecker(linkType){
  function createStateKeySetter (line 56040) | function createStateKeySetter(component,key){
  function shallowCompare (line 56160) | function shallowCompare(instance,nextProps,nextState){
  function shallowEqual (line 56191) | function shallowEqual(objA,objB){
  function cloneWithProps (line 56255) | function cloneWithProps(child,props){
  function createTransferStrategy (line 56310) | function createTransferStrategy(mergeStrategy){
  function transferInto (line 56355) | function transferInto(props,newProps){
  function joinClasses (line 56416) | function joinClasses(className){
  function shallowCopy (line 56541) | function shallowCopy(x){
  function invariantArrayCase (line 56573) | function invariantArrayCase(value,spec,command){
  function update (line 56590) | function update(value,spec){
  function Event (line 56723) | function Event(suffix){}
  function findAllInRenderedTreeInternal (line 56729) | function findAllInRenderedTreeInternal(inst,test){
  function makeSimulator (line 57144) | function makeSimulator(eventType){
  function buildSimulators (line 57181) | function buildSimulators(){
  function makeNativeSimulator (line 57224) | function makeNativeSimulator(eventType){
  function findDOMNode (line 57303) | function findDOMNode(componentOrElement){
  function Element (line 57353) | function Element(){babelHelpers.classCallCheck(this,Element);var _this=b...
  function allEnum (line 57668) | function allEnum(a){
  function HtmlCssParser (line 57723) | function HtmlCssParser(){babelHelpers.classCallCheck(this,HtmlCssParser);}
  function DomEvent (line 57789) | function DomEvent(args){babelHelpers.classCallCheck(this,DomEvent);
  function Input (line 57808) | function Input(){babelHelpers.classCallCheck(this,Input);return babelHel...
  function Div (line 57828) | function Div(){babelHelpers.classCallCheck(this,Div);return babelHelpers...
  function Body (line 57910) | function Body(){babelHelpers.classCallCheck(this,Body);return babelHelpe...
  function Span (line 57916) | function Span(){babelHelpers.classCallCheck(this,Span);return babelHelpe...
  function Img (line 57928) | function Img(){babelHelpers.classCallCheck(this,Img);return babelHelpers...
  function Button (line 57946) | function Button(){babelHelpers.classCallCheck(this,Button);return babelH...
  function Tab (line 57972) | function Tab(){babelHelpers.classCallCheck(this,Tab);return babelHelpers...
  function TabItem (line 57982) | function TabItem(){babelHelpers.classCallCheck(this,TabItem);return babe...
  function A (line 57993) | function A(){babelHelpers.classCallCheck(this,A);return babelHelpers.pos...
  function Nav (line 58008) | function Nav(){babelHelpers.classCallCheck(this,Nav);return babelHelpers...
  function SimpleListView (line 58016) | function SimpleListView(){babelHelpers.classCallCheck(this,SimpleListVie...
  function StateStore (line 58030) | function StateStore(args){babelHelpers.classCallCheck(this,StateStore);
  function Header (line 58074) | function Header(){babelHelpers.classCallCheck(this,Header);var _this=bab...
  function RightSliderMenu (line 58159) | function RightSliderMenu(){babelHelpers.classCallCheck(this,RightSliderM...
  function Carousel (line 58234) | function Carousel(){babelHelpers.classCallCheck(this,Carousel);return ba...

FILE: build/part2.js
  function vsIndex (line 68) | function vsIndex(){babelHelpers.classCallCheck(this,vsIndex);var _this=b...
  function Row (line 114) | function Row(){babelHelpers.classCallCheck(this,Row);var _this2=babelHel...
  function vsImgList (line 241) | function vsImgList(passedArgs){babelHelpers.classCallCheck(this,vsImgLis...

FILE: native-css.js
  function transformRules (line 55) | function transformRules(self, rules, result) {

FILE: react.css.build.js
  function walk (line 7) | function walk(path) {
  function watch (line 28) | function watch(){
  function transformCSS (line 49) | function transformCSS(fileName){

FILE: reactnative/2048/components/aboveGame.js
  class AboveGame (line 1) | class AboveGame extends Element {
    method render (line 2) | render(){

FILE: reactnative/2048/components/container.js
  class Container (line 18) | class Container extends Element{
    method componentWillMount (line 19) | componentWillMount(){
    method _handlePanResponderGrant (line 23) | _handlePanResponderGrant(e: Object) {
    method _handlePanResponderEnd (line 32) | _handlePanResponderEnd(e: Object) {
    method render (line 49) | render(){
    method getRandomTiles (line 59) | getRandomTiles() {
    method getRandomTile (line 66) | getRandomTile() {
    method continueGame (line 78) | continueGame() {
    method restart (line 83) | restart() {
    method keepGoing (line 89) | keepGoing() {
    method isGameTerminated (line 94) | isGameTerminated() {
    method setup (line 98) | async setup() {
    method addStartTiles (line 118) | addStartTiles() {
    method addRandomTile (line 124) | addRandomTile() {
    method actuate (line 135) | async actuate() {
    method serialize (line 175) | serialize() {
    method prepareTiles (line 185) | prepareTiles() {
    method moveTile (line 194) | moveTile(tile, cell) {
    method move (line 200) | move(direction) {
    method getVector (line 256) | getVector(direction) {
    method buildTraversals (line 268) | buildTraversals(vector) {
    method findFarthestPosition (line 282) | findFarthestPosition(cell, vector) {
    method movesAvailable (line 297) | movesAvailable() {
    method tileMatchesAvailable (line 301) | tileMatchesAvailable () {
    method positionsEqual (line 327) | positionsEqual(first, second) {

FILE: reactnative/2048/components/gameContainer.js
  class GameContainer (line 7) | class GameContainer extends Element{
    method render (line 8) | render(){

FILE: reactnative/2048/components/gameMessage.js
  class GameMessage (line 1) | class GameMessage extends Element{
    method genMessage (line 2) | genMessage(){
    method render (line 25) | render(){

FILE: reactnative/2048/components/gridCell.js
  class GridRow (line 1) | class GridRow extends Element{
    method render (line 2) | render(){

FILE: reactnative/2048/components/gridContainer.js
  class GridContainer (line 3) | class GridContainer extends Element{
    method render (line 4) | render(){

FILE: reactnative/2048/components/gridRow.js
  class GridRow (line 3) | class GridRow extends Element{
    method render (line 4) | render(){

FILE: reactnative/2048/components/heading.js
  class Heading (line 13) | class Heading extends Element{
    method render (line 14) | render(){

FILE: reactnative/2048/components/tile.js
  class Tile (line 4) | class Tile extends Element {
    method render (line 5) | render(){

FILE: reactnative/2048/components/tileContainer.js
  class TileContainer (line 3) | class TileContainer extends Element {
    method render (line 4) | render(){

FILE: reactnative/2048/game.js
  method render (line 4) | render(){

FILE: reactnative/2048/utils/tile.js
  function Tile (line 3) | function Tile(position, value) {

FILE: reactnative/android/app/src/main/java/com/reactnative/MainActivity.java
  class MainActivity (line 29) | public class MainActivity extends Activity implements DefaultHardwareBac...
    method onCreate (line 42) | @Override
    method initDownloadManager (line 66) | private void initDownloadManager() {
    method iniReactRootView (line 71) | private void iniReactRootView() {
    method onDestroy (line 94) | @Override
    method updateBundle (line 101) | private void updateBundle() {
    class CompleteReceiver (line 122) | private class CompleteReceiver extends BroadcastReceiver {
      method onReceive (line 124) | @Override
    method onJSBundleLoadedFromServer (line 133) | private void onJSBundleLoadedFromServer() {
    method onKeyUp (line 164) | @Override
    method onBackPressed (line 173) | @Override
    method invokeDefaultOnBackPressed (line 182) | @Override
    method onPause (line 187) | @Override
    method onStop (line 196) | public void onStop(){
    method onResume (line 201) | @Override

FILE: reactnative/canvasgame/Canvas.js
  class Canvas (line 13) | class Canvas extends Element {
    method constructor (line 14) | constructor(props) {
    method watchPos (line 29) | watchPos() {
    method detectCollision (line 46) | detectCollision() {
    method onClickCanvas (line 72) | onClickCanvas(e) {
    method _createPipe (line 95) | _createPipe() {
    method _fail (line 116) | _fail() {
    method _incrementCount (line 126) | _incrementCount() {
    method reset (line 130) | reset() {
    method getGroupStyle (line 134) | getGroupStyle() {
    method getBgImageStyle (line 144) | getBgImageStyle() {
    method render (line 156) | render() {

FILE: reactnative/canvasgame/GallaxyOctopus.js
  class GallaxyOctopus (line 1) | class GallaxyOctopus extends React.Component {
    method constructor (line 2) | constructor(props) {
    method render (line 12) | render() {

FILE: reactnative/canvasgame/game.js
  method render (line 2) | render(){

FILE: reactnative/canvasgame/parts/Counter.js
  class Counter (line 3) | class Counter extends React.Component {
    method constructor (line 4) | constructor(props) {
    method render (line 8) | render() {
    method getLabelStyle (line 12) | getLabelStyle() {

FILE: reactnative/canvasgame/parts/Octopus.js
  class Octopus (line 9) | class Octopus extends React.Component {
    method constructor (line 10) | constructor(props) {
    method clear (line 20) | clear() {
    method getPos (line 28) | getPos() {
    method fall (line 37) | fall() {
    method jump (line 59) | jump() {
    method stop (line 80) | stop() {
    method getImageStyle (line 84) | getImageStyle() {
    method render (line 96) | render() {

FILE: reactnative/canvasgame/parts/Pipe.js
  class Pipe (line 8) | class Pipe extends React.Component {
    method constructor (line 9) | constructor(props) {
    method componentDidMount (line 19) | componentDidMount() {
    method componentWillUnmount (line 24) | componentWillUnmount() {
    method stop (line 28) | stop() {
    method getGapPos (line 32) | getGapPos() {
    method getGroupStyle (line 41) | getGroupStyle() {
    method getTopHalfStyle (line 51) | getTopHalfStyle() {
    method getBottomHalfStyle (line 61) | getBottomHalfStyle() {
    method render (line 71) | render() {

FILE: reactnative/common/Animation.js
  class Animation (line 1) | class Animation {
    method constructor (line 2) | constructor(config){
    method motion (line 25) | motion(config){
    method mergeIf (line 194) | mergeIf() {
    method identifyCssValue (line 213) | identifyCssValue(cssStr) {
    method setStyle (line 240) | setStyle() {
    method convert (line 270) | convert(str, oldHex, newHex) {
    method padZero (line 281) | padZero(num, length) {
    method fx (line 297) | fx(type) {

FILE: reactnative/common/App.js
  class App (line 1) | class App extends React.Component {
    method init (line 2) | static init(){

FILE: reactnative/common/DomEvent.js
  class DomEvent (line 1) | class DomEvent {
    method constructor (line 2) | constructor(args){
    method stopPropagation (line 17) | stopPropagation(){

FILE: reactnative/common/LocalStorage.js
  class LocalStorage (line 1) | class LocalStorage{
    method constructor (line 2) | constructor(){
    method json (line 8) | async json(){

FILE: reactnative/common/StateStore.js
  class StateStore (line 1) | class StateStore{
    method constructor (line 2) | constructor(args){
    method getValue (line 31) | async getValue() {
    method init (line 50) | async init(){
    method set (line 54) | async set(value){
    method setAttr (line 59) | async setAttr(attrKey, attrValue){
    method getAttr (line 65) | async getAttr(attrKey){
    method get (line 72) | async get(){
    method updateStore (line 82) | async updateStore(){

FILE: reactnative/common/StyleSheet.js
  class StyleSheet (line 1) | class StyleSheet{
    method constructor (line 2) | constructor(){
    method defineRemUnitAndMeasureViewport (line 7) | defineRemUnitAndMeasureViewport(){
    method includeCSS (line 61) | includeCSS(o){

FILE: reactnative/common/rn/A.js
  class A (line 1) | class A extends Element {
    method render (line 2) | render() {

FILE: reactnative/common/rn/Body.js
  class Body (line 1) | class Body extends Div{
    method render (line 2) | render(){

FILE: reactnative/common/rn/Button.js
  class Button (line 1) | class Button extends Element {
    method constructor (line 2) | constructor() {
    method render (line 19) | render() {

FILE: reactnative/common/rn/Carousel.js
  class Carousel (line 6) | class Carousel extends Element{
    method constructor (line 7) | constructor(){
    method componentWillMount (line 11) | componentWillMount(){
    method componentDidMount (line 28) | componentDidMount(){
    method _onScrollBegin (line 34) | _onScrollBegin(event) {
    method _onScrollEnd (line 37) | _onScrollEnd(event) {
    method _onLayout (line 53) | _onLayout() {
    method _setUpTimer (line 62) | _setUpTimer() {
    method _animateNextPage (line 69) | _animateNextPage() {
    method _calculateCurrentPage (line 78) | _calculateCurrentPage(offset) {
    method render (line 84) | render() {

FILE: reactnative/common/rn/Div.js
  class Div (line 1) | class Div extends Element {
    method constructor (line 2) | constructor() {
    method render (line 8) | render(){

FILE: reactnative/common/rn/Element.js
  class Element (line 7) | class Element extends React.Component {
    method constructor (line 8) | constructor() {
    method _walkAndBindParent (line 53) | _walkAndBindParent() {
    method parentNode (line 75) | parentNode(){
    method getInheritStyle (line 86) | getInheritStyle(){
    method tagName (line 95) | tagName(){
    method addEventListener (line 101) | addEventListener(eventName: String, handle: Function) {
    method removeEventListener (line 105) | removeEventListener(eventName: String, handle: Function) {
    method handleEvent (line 118) | handleEvent(event: Event) {
    method componentWillMount (line 137) | componentWillMount(){
    method componentDidMount (line 140) | componentDidMount(){
    method componentWillUnmount (line 144) | componentWillUnmount() {
    method render (line 168) | render() {
    method compatHTML (line 256) | compatHTML(conf) {
    method _defineParentNode (line 426) | _defineParentNode(parentNode){
    method offset (line 434) | offset(){
    method addClass (line 451) | addClass(cls){
    method removeClass (line 462) | removeClass(cls){
    method hasClass (line 472) | hasClass(cls){
    method css (line 480) | css(styleName, styleValue){
    method html (line 500) | html(o){
    method attr (line 509) | attr(k, v){
    method append (line 517) | append(o){
    method before (line 523) | before(o){
    method on (line 529) | on(eventType, fn){
    method off (line 532) | off(eventType, fn){
    method animate (line 535) | animate(config){

FILE: reactnative/common/rn/Header.js
  class Header (line 1) | class Header extends Element {
    method constructor (line 2) | constructor() {
    method setTitle (line 18) | setTitle(title){
    method setLeftButton (line 21) | setLeftButton(o){
    method setRightButton (line 24) | setRightButton(o){
    method componentWillMount (line 27) | componentWillMount(){
    method render (line 49) | render() {

FILE: reactnative/common/rn/HtmlCssParser.js
  class HtmlCssParser (line 1) | class HtmlCssParser{
    method constructor (line 2) | constructor(){
    method parse (line 5) | parse(cssObject, tagName){
    method filterViewStyle (line 59) | filterViewStyle(m){
    method filterTextStyle (line 69) | filterTextStyle(m){
    method canInherit (line 79) | canInherit(m){

FILE: reactnative/common/rn/Img.js
  class Img (line 1) | class Img extends Element {
    method render (line 2) | render() {
    method getRelativePath (line 7) | getRelativePath(path){

FILE: reactnative/common/rn/Input.js
  class Input (line 1) | class Input extends Element {
    method constructor (line 2) | constructor(){
    method render (line 12) | render() {
    method _setValue (line 26) | _setValue(v){
    method val (line 29) | val(v){

FILE: reactnative/common/rn/Nav.js
  class Nav (line 1) | class Nav extends Element {
    method render (line 2) | render () {

FILE: reactnative/common/rn/RightSliderMenu.js
  class RightSliderMenu (line 1) | class RightSliderMenu extends Element{
    method constructor (line 2) | constructor(){
    method _onScrollBegin (line 9) | _onScrollBegin(){
    method _onScrollEnd (line 16) | _onScrollEnd(){
    method _animate (line 21) | _animate(){
    method _onTouchStart (line 34) | _onTouchStart(e){
    method _onTouchEnd (line 37) | _onTouchEnd(e){
    method render (line 42) | render(){

FILE: reactnative/common/rn/SimpleListView.js
  class SimpleListView (line 1) | class SimpleListView extends Element {
    method render (line 2) | render() {

FILE: reactnative/common/rn/Span.js
  class Span (line 2) | class Span extends Element {
    method render (line 3) | render() {

FILE: reactnative/common/rn/Tab.js
  class Tab (line 1) | class Tab extends Element {
    method render (line 2) | render() {

FILE: reactnative/common/rn/TabItem.js
  class TabItem (line 1) | class TabItem extends Element {
    method render (line 2) | render() {

FILE: reactnative/common/rn/TabSlider.js
  class SegmentControl (line 1) | class SegmentControl extends Element {
    method _onChange (line 2) | _onChange(event: Event) {
    method render (line 5) | render(){

FILE: reactnative/cxylhl.js
  function random (line 6) | function random(dayseed, indexseed) {
  function is_someday (line 62) | function is_someday() {
  function getTodayString (line 66) | function getTodayString() {
  function star (line 70) | function star(num) {
  function pickTodaysLuck (line 85) | function pickTodaysLuck(good, bad) {
  function filter (line 106) | function filter(activities) {
  function isWeekend (line 124) | function isWeekend() {
  function pickSpecials (line 129) | function pickSpecials() {
  function pickRandomActivity (line 150) | function pickRandomActivity(activities, size) {
  function pickRandom (line 161) | function pickRandom(array, size) {
  function parse (line 177) | function parse(event) {
  function addToGood (line 198) | function addToGood(event) {
  function addToBad (line 203) | function addToBad(event) {
  method constructor (line 210) | constructor(){
  method acomponentDidMount (line 222) | acomponentDidMount(){
  method render (line 227) | render() {

FILE: reactnative/example_addEventListener.js
  method componentDidMount (line 4) | componentDidMount(){
  method render (line 9) | render(){

FILE: reactnative/example_animation.js
  method componentDidMount (line 6) | componentDidMount(){
  method render (line 20) | render(){

FILE: reactnative/example_formElement.js
  method componentDidMount (line 4) | componentDidMount(){
  method render (line 10) | render(){

FILE: reactnative/example_jqueryapi.js
  method render (line 5) | render(){
  method btn1 (line 19) | btn1(){
  method btn2 (line 23) | btn2(){
  method btn3 (line 27) | btn3(){
  method btn4 (line 31) | btn4(){

FILE: reactnative/example_listview.js
  class vsIndex (line 3) | class vsIndex extends Element {
    method constructor (line 4) | constructor(){
    method render (line 10) | render() {
    method componentDidMount (line 22) | componentDidMount(){
    method _renderRow (line 37) | _renderRow(row, sid, rowid){
  class Row (line 41) | class Row extends Element{
    method constructor (line 42) | constructor(){
    method render (line 48) | render(){
    method collapse (line 71) | collapse(){
    method jumpImgList (line 82) | jumpImgList(){

FILE: reactnative/example_localStorage.js
  method render (line 4) | render(){
  method testLocalStorage (line 23) | async testLocalStorage(){
  method loadLocalStorage (line 34) | async loadLocalStorage(){

FILE: reactnative/example_onclick.js
  method render (line 4) | render(){

FILE: reactnative/example_ontouch.js
  method render (line 4) | render(){

FILE: reactnative/example_view.js
  method constructor (line 5) | constructor(){
  method render (line 8) | render(){

FILE: reactnative/index.js
  method render (line 13) | render() {

FILE: reactnative/testFlex.js
  method render (line 3) | render() {

FILE: reactnative/testLineHeight.js
  method render (line 3) | render() {

FILE: reactnative/testScroll.js
  method render (line 3) | render() {

FILE: reactnative/vsImgList.js
  class vsImgList (line 3) | class vsImgList extends Element {
    method constructor (line 4) | constructor(passedArgs){
    method componentWillMount (line 16) | componentWillMount(){
    method render (line 32) | render() {
    method backBtn (line 65) | backBtn(){

FILE: reactnative/vsIndex.js
  class vsIndex (line 3) | class vsIndex extends Element {
    method constructor (line 4) | constructor(){
    method render (line 11) | render() {
    method componentDidMount (line 23) | componentDidMount(){
    method _renderRow (line 73) | _renderRow(row, sid, rowid){
  class Row (line 77) | class Row extends Element{
    method constructor (line 78) | constructor(){
    method render (line 84) | render(){
    method collapse (line 111) | collapse(){
    method jumpImgList (line 122) | jumpImgList(){

FILE: web/common/html/A.js
  class A (line 1) | class A extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Button.js
  class Button (line 1) | class Button extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Carousel.js
  class Carousel (line 1) | class Carousel extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Div.js
  class Div (line 1) | class Div extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Element.js
  class Element (line 1) | class Element extends React.Component {
    method constructor (line 2) | constructor(){
    method compatHTML (line 17) | compatHTML(conf) {
    method componentWillUnmount (line 32) | componentWillUnmount(){
    method measure (line 54) | measure(callback){
    method offset (line 65) | offset(){
    method addClass (line 82) | addClass(cls){
    method removeClass (line 91) | removeClass(cls){
    method hasClass (line 99) | hasClass(cls){
    method css (line 107) | css(styleName, styleValue){
    method html (line 122) | html(o){
    method attr (line 133) | attr(k, v){
    method append (line 142) | append(o){
    method before (line 148) | before(o){
    method on (line 154) | on(eventType, fn){
    method off (line 158) | off(eventType, fn){
    method animate (line 162) | animate(config){

FILE: web/common/html/Header.js
  class Header (line 1) | class Header extends Element {
    method constructor (line 2) | constructor() {
    method setTitle (line 8) | setTitle(title){
    method setLeftButton (line 11) | setLeftButton(o){
    method setRightButton (line 14) | setRightButton(o){
    method componentWillMount (line 17) | componentWillMount(){
    method render (line 30) | render() {

FILE: web/common/html/Img.js
  class Img (line 1) | class Img extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Input.js
  class Input (line 2) | class Input extends React.Component {
    method render (line 3) | render() {

FILE: web/common/html/ListView/ListViewDataSource.js
  method constructor (line 90) | constructor(params: ParamType) {
  method if (line 224) | if (accessIndex >= this.rowIdentities[ii].length) {
  method if (line 240) | if (accessIndex >= this.rowIdentities[ii].length) {

FILE: web/common/html/NavBar.js
  class NavBar (line 2) | class NavBar extends Element {
    method constructor (line 3) | constructor() {
    method render (line 6) | render() {

FILE: web/common/html/Navigator.js
  class Navigator (line 2) | class Navigator extends Element {
    method constructor (line 3) | constructor() {
    method componentDidMount (line 7) | componentDidMount() {
    method render (line 12) | render() {
  class BrowserNav (line 16) | class BrowserNav {
    method constructor (line 17) | constructor(config) {
    method setContainer (line 23) | setContainer(container){
    method push (line 26) | push(route) {
    method pop (line 42) | pop() {

FILE: web/common/html/RightSliderMenu.js
  class RightSliderMenu (line 1) | class RightSliderMenu extends Element{
    method render (line 2) | render(){

FILE: web/common/html/ScrollView.js
  class ScrollView (line 1) | class ScrollView extends Element{
    method render (line 2) | render(){

FILE: web/common/html/SimpleListView.js
  class SimpleListView (line 1) | class SimpleListView extends Element {
    method render (line 2) | render() {

FILE: web/common/html/Span.js
  class Span (line 2) | class Span extends Element {
    method render (line 3) | render() {

FILE: web/common/html/TabSlider.js
  class TabSlider (line 1) | class TabSlider extends Element{
    method render (line 2) | render(){
    method selected (line 13) | selected(idx){

FILE: web/common/html/Utilties/ErrorUitls.js
  function guarded (line 41) | function guarded() {
  function setupErrorGuard (line 62) | function setupErrorGuard() {

FILE: web/common/html/Utilties/dismissKeyboard.js
  function dismissKeyboard (line 1) | function dismissKeyboard() {

FILE: web/common/html/Utilties/getLayout.js
  function getCumulativeOffset (line 2) | function getCumulativeOffset(obj) {
  function getLayout (line 18) | function getLayout(element) {

FILE: web/common/html/Utilties/setNativeProps.js
  function convertTransform (line 1) | function convertTransform(style) {
  function setNativeProps (line 32) | function setNativeProps(ref, props) {

FILE: web/common/react.js
  function s (line 4) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
  function isPresto (line 130) | function isPresto() {
  function isKeypressCommand (line 180) | function isKeypressCommand(nativeEvent) {
  function getCompositionEventType (line 192) | function getCompositionEventType(topLevelType) {
  function isFallbackCompositionStart (line 211) | function isFallbackCompositionStart(topLevelType, nativeEvent) {
  function isFallbackCompositionEnd (line 222) | function isFallbackCompositionEnd(topLevelType, nativeEvent) {
  function getDataFromCustomEvent (line 250) | function getDataFromCustomEvent(nativeEvent) {
  function extractCompositionEvent (line 268) | function extractCompositionEvent(topLevelType, topLevelTarget, topLevelT...
  function getNativeBeforeInputChars (line 320) | function getNativeBeforeInputChars(topLevelType, nativeEvent) {
  function getFallbackBeforeInputChars (line 374) | function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
  function extractBeforeInputEvent (line 430) | function extractBeforeInputEvent(topLevelType, topLevelTarget, topLevelT...
  function prefixKey (line 542) | function prefixKey(prefix, key) {
  function CallbackQueue (line 834) | function CallbackQueue() {
  function shouldUseChangeEvent (line 947) | function shouldUseChangeEvent(elem) {
  function manualDispatchChangeEvent (line 958) | function manualDispatchChangeEvent(nativeEvent) {
  function runEventInBatch (line 976) | function runEventInBatch(event) {
  function startWatchingForChangeEventIE8 (line 981) | function startWatchingForChangeEventIE8(target, targetID) {
  function stopWatchingForChangeEventIE8 (line 987) | function stopWatchingForChangeEventIE8() {
  function getTargetIDForChangeEvent (line 996) | function getTargetIDForChangeEvent(topLevelType, topLevelTarget, topLeve...
  function handleEventsForChangeEventIE8 (line 1001) | function handleEventsForChangeEventIE8(topLevelType, topLevelTarget, top...
  function startWatchingForValueChange (line 1042) | function startWatchingForValueChange(target, targetID) {
  function stopWatchingForValueChange (line 1058) | function stopWatchingForValueChange() {
  function handlePropertyChange (line 1077) | function handlePropertyChange(nativeEvent) {
  function getTargetIDForInputEvent (line 1093) | function getTargetIDForInputEvent(topLevelType, topLevelTarget, topLevel...
  function handleEventsForInputEventIE (line 1102) | function handleEventsForInputEventIE(topLevelType, topLevelTarget, topLe...
  function getTargetIDForInputEventIE (line 1125) | function getTargetIDForInputEventIE(topLevelType, topLevelTarget, topLev...
  function shouldUseClickEvent (line 1147) | function shouldUseClickEvent(elem) {
  function getTargetIDForClickEvent (line 1154) | function getTargetIDForClickEvent(topLevelType, topLevelTarget, topLevel...
  function insertChildAt (line 1275) | function insertChildAt(parentNode, childNode, index) {
  function checkMask (line 1391) | function checkMask(value, bitmask) {
  function isAttributeNameSafe (line 1635) | function isAttributeNameSafe(attributeName) {
  function shouldIgnoreValue (line 1651) | function shouldIgnoreValue(propertyInfo, value) {
  function getNodeName (line 1871) | function getNodeName(markup) {
  function validateInstanceHandle (line 2290) | function validateInstanceHandle() {
  function recomputePluginOrdering (line 2539) | function recomputePluginOrdering() {
  function publishEventForPlugin (line 2568) | function publishEventForPlugin(dispatchConfig, PluginModule, eventName) {
  function publishRegistrationName (line 2596) | function publishRegistrationName(registrationName, PluginModule, eventNa...
  function isEndish (line 2768) | function isEndish(topLevelType) {
  function isMoveish (line 2772) | function isMoveish(topLevelType) {
  function isStartish (line 2775) | function isStartish(topLevelType) {
  function executeDispatch (line 2801) | function executeDispatch(event, simulated, listener, domID) {
  function executeDispatchesInOrder (line 2815) | function executeDispatchesInOrder(event, simulated) {
  function executeDispatchesInOrderStopAtTrueImpl (line 2843) | function executeDispatchesInOrderStopAtTrueImpl(event) {
  function executeDispatchesInOrderStopAtTrue (line 2870) | function executeDispatchesInOrderStopAtTrue(event) {
  function executeDirectDispatch (line 2886) | function executeDirectDispatch(event) {
  function hasDispatches (line 2903) | function hasDispatches(event) {
  function listenerAtPhase (line 2960) | function listenerAtPhase(id, event, propagationPhase) {
  function accumulateDirectionalDispatches (line 2971) | function accumulateDirectionalDispatches(domID, upwards, event) {
  function accumulateTwoPhaseDispatchesSingle (line 2990) | function accumulateTwoPhaseDispatchesSingle(event) {
  function accumulateTwoPhaseDispatchesSingleSkipTarget (line 2999) | function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
  function accumulateDispatches (line 3010) | function accumulateDispatches(id, ignoredDirection, event) {
  function accumulateDirectDispatchesSingle (line 3026) | function accumulateDirectDispatchesSingle(event) {
  function accumulateTwoPhaseDispatches (line 3032) | function accumulateTwoPhaseDispatches(events) {
  function accumulateTwoPhaseDispatchesSkipTarget (line 3036) | function accumulateTwoPhaseDispatchesSkipTarget(events) {
  function accumulateEnterLeaveDispatches (line 3040) | function accumulateEnterLeaveDispatches(leave, enter, fromID, toID) {
  function accumulateDirectDispatches (line 3044) | function accumulateDirectDispatches(events) {
  function FallbackCompositionState (line 3098) | function FallbackCompositionState(root) {
  function _assertSingleLink (line 3427) | function _assertSingleLink(inputProps) {
  function _assertValueLink (line 3430) | function _assertValueLink(inputProps) {
  function _assertCheckedLink (line 3435) | function _assertCheckedLink(inputProps) {
  function getDeclarationErrorAddendum (line 3457) | function getDeclarationErrorAddendum(owner) {
  function assign (line 3547) | function assign(target, sources) {
  function getListeningForDocument (line 3891) | function getListeningForDocument(mountAt) {
  function instantiateChild (line 4083) | function instantiateChild(childInstances, child, name) {
  function escapeUserProvidedKey (line 4208) | function escapeUserProvidedKey(text) {
  function ForEachBookKeeping (line 4220) | function ForEachBookKeeping(forEachFunction, forEachContext) {
  function forEachSingleChild (line 4232) | function forEachSingleChild(bookKeeping, child, name) {
  function forEachChildren (line 4249) | function forEachChildren(children, forEachFunc, forEachContext) {
  function MapBookKeeping (line 4267) | function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
  function mapSingleChildIntoContext (line 4283) | function mapSingleChildIntoContext(bookKeeping, child, childKey) {
  function mapIntoWithKeyPrefixInternal (line 4303) | function mapIntoWithKeyPrefixInternal(children, array, prefix, func, con...
  function mapChildren (line 4324) | function mapChildren(children, func, context) {
  function forEachSingleChildDummy (line 4333) | function forEachSingleChildDummy(traverseContext, child, name) {
  function countChildren (line 4344) | function countChildren(children, context) {
  function toArray (line 4352) | function toArray(children) {
  function warnSetProps (line 4424) | function warnSetProps() {
  function validateTypeDef (line 4731) | function validateTypeDef(Constructor, typeDef, location) {
  function validateMethodOverride (line 4741) | function validateMethodOverride(proto, name) {
  function mixSpecIntoComponent (line 4759) | function mixSpecIntoComponent(Constructor, spec) {
  function mixStaticSpecIntoComponent (line 4836) | function mixStaticSpecIntoComponent(Constructor, statics) {
  function mergeIntoWithNoDuplicateKeys (line 4862) | function mergeIntoWithNoDuplicateKeys(one, two) {
  function createMergedResultFunction (line 4882) | function createMergedResultFunction(one, two) {
  function createChainedFunction (line 4906) | function createChainedFunction(one, two) {
  function bindAutoBindMethod (line 4920) | function bindAutoBindMethod(component, method) {
  function bindAutoBindMethods (line 4959) | function bindAutoBindMethods(component) {
  function ReactComponent (line 5163) | function ReactComponent(props, context, updater) {
  function getDeclarationErrorAddendum (line 5386) | function getDeclarationErrorAddendum(component) {
  function StatelessComponent (line 5397) | function StatelessComponent(Component) {}
  function getDeclarationErrorAddendum (line 6285) | function getDeclarationErrorAddendum(internalInstance) {
  function legacyGetDOMNode (line 6312) | function legacyGetDOMNode() {
  function legacyIsMounted (line 6320) | function legacyIsMounted() {
  function legacySetStateEtc (line 6328) | function legacySetStateEtc() {
  function legacySetProps (line 6335) | function legacySetProps(partialProps, callback) {
  function legacyReplaceProps (line 6349) | function legacyReplaceProps(partialProps, callback) {
  function friendlyStringify (line 6363) | function friendlyStringify(obj) {
  function checkAndWarnForMutatedStyle (line 6389) | function checkAndWarnForMutatedStyle(style1, style2, component) {
  function assertValidProps (line 6419) | function assertValidProps(component, props) {
  function enqueuePutListener (line 6440) | function enqueuePutListener(id, registrationName, listener, transaction) {
  function putListener (line 6458) | function putListener() {
  function trapBubbledEventsLocal (line 6491) | function trapBubbledEventsLocal() {
  function mountReadyInputWrapper (line 6524) | function mountReadyInputWrapper() {
  function postUpdateSelectWrapper (line 6528) | function postUpdateSelectWrapper() {
  function validateDangerousTag (line 6575) | function validateDangerousTag(tag) {
  function processChildContextDev (line 6582) | function processChildContextDev(context, inst) {
  function isCustomComponent (line 6590) | function isCustomComponent(tagName, props) {
  function ReactDOMComponent (line 6608) | function ReactDOMComponent(tag) {
  function createDOMFactory (line 7215) | function createDOMFactory(tag) {
  function forceUpdateIfMounted (line 7505) | function forceUpdateIfMounted() {
  function _handleChange (line 7584) | function _handleChange(event) {
  function updateOptionsIfPendingUpdateAndMounted (line 7745) | function updateOptionsIfPendingUpdateAndMounted() {
  function getDeclarationErrorAddendum (line 7758) | function getDeclarationErrorAddendum(owner) {
  function checkSelectPropTypes (line 7774) | function checkSelectPropTypes(inst, props) {
  function updateOptions (line 7797) | function updateOptions(inst, multiple, propValue) {
  function _handleChange (line 7901) | function _handleChange(event) {
  function isCollapsed (line 7935) | function isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {
  function getIEOffsets (line 7953) | function getIEOffsets(node) {
  function getModernOffsets (line 7976) | function getModernOffsets(node) {
  function setIEOffsets (line 8038) | function setIEOffsets(node, offsets) {
  function setModernOffsets (line 8072) | function setModernOffsets(node, offsets) {
  function forceUpdateIfMounted (line 8301) | function forceUpdateIfMounted() {
  function _handleChange (line 8385) | function _handleChange(event) {
  function ReactDefaultBatchingStrategyTransaction (line 8427) | function ReactDefaultBatchingStrategyTransaction() {
  function inject (line 8499) | function inject() {
  function roundFloat (line 8581) | function roundFloat(val) {
  function addValue (line 8585) | function addValue(obj, key, val) {
  function getTotalTime (line 8828) | function getTotalTime(measurements) {
  function getDOMSummary (line 8841) | function getDOMSummary(measurements) {
  function getExclusiveSummary (line 8857) | function getExclusiveSummary(measurements) {
  function getInclusiveSummary (line 8905) | function getInclusiveSummary(measurements, onlyClean) {
  function getUnchangedComponents (line 8960) | function getUnchangedComponents(measurement) {
  function getDeclarationErrorAddendum (line 9276) | function getDeclarationErrorAddendum() {
  function validateExplicitKey (line 9305) | function validateExplicitKey(element, parentType) {
  function getAddendaForKeyUse (line 9329) | function getAddendaForKeyUse(messageType, element, parentType) {
  function validateChildKeys (line 9370) | function validateChildKeys(node, parentType) {
  function checkPropTypes (line 9412) | function checkPropTypes(componentName, propTypes, props, location) {
  function validatePropTypes (line 9446) | function validatePropTypes(element) {
  function isNullComponentID (line 9601) | function isNullComponentID(id) {
  function registerNullComponentID (line 9609) | function registerNullComponentID(id) {
  function deregisterNullComponentID (line 9617) | function deregisterNullComponentID(id) {
  function invokeGuardedCallback (line 9653) | function invokeGuardedCallback(name, func, a, b) {
  function runEventQueueInBatch (line 9722) | function runEventQueueInBatch(events) {
  function findParent (line 9780) | function findParent(node) {
  function TopLevelCallbackBookKeeping (line 9792) | function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {
  function handleTopLevelImpl (line 9806) | function handleTopLevelImpl(bookKeeping) {
  function handleTopLevelWithoutPath (line 9822) | function handleTopLevelWithoutPath(bookKeeping) {
  function handleTopLevelWithPath (line 9843) | function handleTopLevelWithPath(bookKeeping) {
  function scrollValueMonitor (line 9876) | function scrollValueMonitor(cb) {
  function isInDocument (line 10016) | function isInDocument(node) {
  function getReactRootIDString (line 10155) | function getReactRootIDString(index) {
  function isBoundary (line 10167) | function isBoundary(id, index) {
  function isValidID (line 10178) | function isValidID(id) {
  function isAncestorIDOf (line 10190) | function isAncestorIDOf(ancestorID, descendantID) {
  function getParentID (line 10201) | function getParentID(id) {
  function getNextDescendantID (line 10214) | function getNextDescendantID(ancestorID, destinationID) {
  function getFirstCommonAncestorID (line 10243) | function getFirstCommonAncestorID(oneID, twoID) {
  function traverseParentPath (line 10275) | function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) {
  function firstDifferenceIndex (line 10660) | function firstDifferenceIndex(string1, string2) {
  function getReactRootElementInContainer (line 10675) | function getReactRootElementInContainer(container) {
  function getReactRootID (line 10691) | function getReactRootID(container) {
  function getID (line 10706) | function getID(node) {
  function internalGetID (line 10724) | function internalGetID(node) {
  function setID (line 10737) | function setID(node, id) {
  function getNode (line 10753) | function getNode(id) {
  function getNodeFromInstance (line 10767) | function getNodeFromInstance(instance) {
  function isValid (line 10788) | function isValid(node, id) {
  function purgeID (line 10806) | function purgeID(id) {
  function findDeepestCachedAncestorImpl (line 10811) | function findDeepestCachedAncestorImpl(ancestorID) {
  function findDeepestCachedAncestor (line 10825) | function findDeepestCachedAncestor(targetID) {
  function mountComponentIntoNode (line 10843) | function mountComponentIntoNode(componentInstance, rootID, container, tr...
  function batchedMountComponentIntoNode (line 10872) | function batchedMountComponentIntoNode(componentInstance, rootID, contai...
  function unmountComponentFromNode (line 10888) | function unmountComponentFromNode(instance, container) {
  function hasNonRootReactChild (line 10911) | function hasNonRootReactChild(node) {
  function findFirstReactDOMImpl (line 10920) | function findFirstReactDOMImpl(node) {
  function enqueueInsertMarkup (line 11503) | function enqueueInsertMarkup(parentID, markup, toIndex) {
  function enqueueMove (line 11524) | function enqueueMove(parentID, fromIndex, toIndex) {
  function enqueueRemove (line 11544) | function enqueueRemove(parentID, fromIndex) {
  function enqueueSetMarkup (line 11564) | function enqueueSetMarkup(parentID, markup) {
  function enqueueTextContent (line 11584) | function enqueueTextContent(parentID, textContent) {
  function processQueue (line 11602) | function processQueue() {
  function clearQueue (line 11614) | function clearQueue() {
  function getComponentClassForElement (line 12021) | function getComponentClassForElement(element) {
  function createInternalComponent (line 12039) | function createInternalComponent(element) {
  function createInstanceForText (line 12048) | function createInstanceForText(text) {
  function isTextComponent (line 12056) | function isTextComponent(component) {
  function warnTDZ (line 12085) | function warnTDZ(publicInstance, callerName) {
  function _noMeasure (line 12372) | function _noMeasure(objName, fnName, func) {
  function createChainableTypeChecker (line 12513) | function createChainableTypeChecker(validate) {
  function createPrimitiveTypeChecker (line 12534) | function createPrimitiveTypeChecker(expectedType) {
  function createAnyTypeChecker (line 12552) | function createAnyTypeChecker() {
  function createArrayOfTypeChecker (line 12556) | function createArrayOfTypeChecker(typeChecker) {
  function createElementTypeChecker (line 12575) | function createElementTypeChecker() {
  function createInstanceTypeChecker (line 12586) | function createInstanceTypeChecker(expectedClass) {
  function createEnumTypeChecker (line 12599) | function createEnumTypeChecker(expectedValues) {
  function createObjectOfTypeChecker (line 12621) | function createObjectOfTypeChecker(typeChecker) {
  function createUnionTypeChecker (line 12642) | function createUnionTypeChecker(arrayOfTypeCheckers) {
  function createNodeChecker (line 12663) | function createNodeChecker() {
  function createShapeTypeChecker (line 12674) | function createShapeTypeChecker(shapeTypes) {
  function isNode (line 12697) | function isNode(propValue) {
  function getPropType (line 12745) | function getPropType(propValue) {
  function getPreciseType (line 12761) | function getPreciseType(propValue) {
  function getClassName (line 12774) | function getClassName(propValue) {
  function ReactReconcileTransaction (line 12888) | function ReactReconcileTransaction(forceHTML) {
  function attachRefs (line 12954) | function attachRefs() {
  function attachRef (line 13060) | function attachRef(ref, component, owner) {
  function detachRef (line 13069) | function detachRef(ref, component, owner) {
  function renderToString (line 13205) | function renderToString(element) {
  function renderToStaticMarkup (line 13233) | function renderToStaticMarkup(element) {
  function ReactServerRenderingTransaction (line 13307) | function ReactServerRenderingTransaction(renderToStaticMarkup) {
  function enqueueUpdate (line 13370) | function enqueueUpdate(internalInstance) {
  function getInternalInstanceReadyForUpdate (line 13374) | function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
  function ensureInjected (line 13634) | function ensureInjected() {
  function ReactUpdatesFlushTransaction (line 13668) | function ReactUpdatesFlushTransaction() {
  function batchedUpdates (line 13697) | function batchedUpdates(callback, a, b, c, d, e) {
  function mountOrderComparator (line 13709) | function mountOrderComparator(c1, c2) {
  function runBatchedUpdates (line 13713) | function runBatchedUpdates(transaction) {
  function enqueueUpdate (line 13771) | function enqueueUpdate(component) {
  function asap (line 13792) | function asap(callback, context) {
  function getSelection (line 14030) | function getSelection(node) {
  function constructSelectEvent (line 14061) | function constructSelectEvent(nativeEvent, nativeEventTarget) {
  function SyntheticClipboardEvent (line 14825) | function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeE...
  function SyntheticCompositionEvent (line 14863) | function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativ...
  function SyntheticDragEvent (line 14901) | function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent,...
  function SyntheticEvent (line 14964) | function SyntheticEvent(dispatchConfig, dispatchMarker, nativeEvent, nat...
  function SyntheticFocusEvent (line 15117) | function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticInputEvent (line 15156) | function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticKeyboardEvent (line 15242) | function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEv...
  function SyntheticMouseEvent (line 15316) | function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticTouchEvent (line 15363) | function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticUIEvent (line 15424) | function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, n...
  function SyntheticWheelEvent (line 15480) | function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function accumulateInto (line 15777) | function accumulateInto(current, next) {
  function adler32 (line 15828) | function adler32(data) {
  function dangerousStyleValue (line 15903) | function dangerousStyleValue(name, value) {
  function deprecated (line 15959) | function deprecated(fnName, newModule, newPackage, ctx, fn) {
  function escaper (line 16004) | function escaper(match) {
  function escapeTextContentForBrowser (line 16014) | function escapeTextContentForBrowser(text) {
  function findDOMNode (line 16047) | function findDOMNode(componentOrElement) {
  function flattenSingleChildIntoContext (line 16091) | function flattenSingleChildIntoContext(traverseContext, child, name) {
  function flattenChildren (line 16108) | function flattenChildren(children) {
  function getEventCharCode (line 16173) | function getEventCharCode(nativeEvent) {
  function getEventKey (line 16273) | function getEventKey(nativeEvent) {
  function modifierStateGetter (line 16333) | function modifierStateGetter(keyArg) {
  function getEventModifierState (line 16343) | function getEventModifierState(nativeEvent) {
  function getEventTarget (line 16370) | function getEventTarget(nativeEvent) {
  function getIteratorFn (line 16411) | function getIteratorFn(maybeIterable) {
  function getLeafNode (line 16439) | function getLeafNode(node) {
  function getSiblingNode (line 16453) | function getSiblingNode(node) {
  function getNodeForCharacterOffset (line 16469) | function getNodeForCharacterOffset(root, offset) {
  function getTextContentAccessor (line 16517) | function getTextContentAccessor() {
  function getDeclarationErrorAddendum (line 16556) | function getDeclarationErrorAddendum(owner) {
  function isInternalComponentType (line 16573) | function isInternalComponentType(type) {
  function instantiateReactComponent (line 16584) | function instantiateReactComponent(node) {
  function isEventSupported (line 16678) | function isEventSupported(eventNameSuffix, capture) {
  function isTextInputElement (line 16736) | function isTextInputElement(elem) {
  function onlyChild (line 16770) | function onlyChild(children) {
  function quoteAttributeValueForBrowser (line 16798) | function quoteAttributeValueForBrowser(value) {
  function shouldUpdateReactComponent (line 16978) | function shouldUpdateReactComponent(prevElement, nextElement) {
  function userProvidedKeyEscaper (line 17036) | function userProvidedKeyEscaper(match) {
  function getComponentKey (line 17047) | function getComponentKey(component, index) {
  function escapeUserProvidedKey (line 17062) | function escapeUserProvidedKey(text) {
  function wrapUserProvidedKey (line 17073) | function wrapUserProvidedKey(key) {
  function traverseAllChildrenImpl (line 17085) | function traverseAllChildrenImpl(children, nameSoFar, callback, traverse...
  function traverseAllChildren (line 17177) | function traverseAllChildren(children, callback, traverseContext) {
  function camelize (line 17698) | function camelize(string) {
  function camelizeStyleName (line 17741) | function camelizeStyleName(string) {
  function containsNode (line 17772) | function containsNode(_x, _x2) {
  function hasArrayNature (line 17834) | function hasArrayNature(obj) {
  function createArrayFromMixed (line 17877) | function createArrayFromMixed(obj) {
  function getNodeName (line 17927) | function getNodeName(markup) {
  function createNodesFromMarkup (line 17942) | function createNodesFromMarkup(markup, handleScript) {
  function makeEmptyFunction (line 17987) | function makeEmptyFunction(arg) {
  function emptyFunction (line 17998) | function emptyFunction() {}
  function focusNode (line 18050) | function focusNode(node) {
  function getActiveElement (line 18081) | function getActiveElement() /*?DOMElement*/{
  function getMarkupWrap (line 18173) | function getMarkupWrap(nodeName) {
  function getUnboundedScrollPosition (line 18215) | function getUnboundedScrollPosition(scrollable) {
  function hyphenate (line 18258) | function hyphenate(string) {
  function hyphenateStyleName (line 18298) | function hyphenateStyleName(string) {
  function isNode (line 18372) | function isNode(object) {
  function isTextNode (line 18398) | function isTextNode(object) {
  function mapObject (line 18526) | function mapObject(object, callback, context) {
  function memoizeStringOnly (line 18561) | function memoizeStringOnly(callback) {
  function shallowEqual (line 18649) | function shallowEqual(objA, objB) {
  function toArray (line 18703) | function toArray(obj) {
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,115K chars).
[
  {
    "path": "README.md",
    "chars": 5026,
    "preview": "# React Mix \n\nReact Mix enables you to build all platform application base on React-Native. We create a mid-layer to sup"
  },
  {
    "path": "build/part1.js",
    "chars": 991880,
    "preview": "__DEV__=\ntrue;\n\n\n__BUNDLE_START_TIME__=Date.now();\n(\nfunction(global){\nvar modules=Object.create(null);\nvar inGuard=fals"
  },
  {
    "path": "build/part2.js",
    "chars": 7749,
    "preview": "__d('native/index.js',function(global, require, module, exports) {  window.\n\n\nIMG_CDN_PREFIX='http://10.32.184.134:5389/"
  },
  {
    "path": "css/cxylhl/index.css",
    "chars": 2154,
    "preview": "body * {\n\tfont-family:\"Consolas\",\"Microsoft Yahei\", Arial, sans-serif;\n}\n\nbody {\n\tbackground: white;\n\tmargin: 0;\n\tpaddin"
  },
  {
    "path": "css/game/game2048.css",
    "chars": 1184,
    "preview": ".container {\n\tpadding: 0 20pt;\n}\n\n.heading {\n\tdisplay: flex;\n\theight: 80pt;\n\tmargin-top: 40pt;\n\tflex-direction: row;\n}\n."
  },
  {
    "path": "css/jqueryapi.css",
    "chars": 48,
    "preview": ".cls1 {\n\tcolor: red;\n}\n.cls2 {\n\tcolor: yellow;\n}"
  },
  {
    "path": "css/lightningStorm.css",
    "chars": 576,
    "preview": "/**\n** common/header\n**/\n.custom-native-header {\n\tmargin-top: 20pt;\n}\n.native-header {\n\tflex-direction: row;\n\talign-item"
  },
  {
    "path": "css/vsImgList.css",
    "chars": 173,
    "preview": ".imgList {\n\tposition: relative;\n}\n.float-bg {\n\tbackground-color: gray;\n\tcolor: #000;\n\topacity: 0.2;\n\theight: 4rem;\n\twidt"
  },
  {
    "path": "css/vsIndex.css",
    "chars": 1198,
    "preview": "/**\n** base\n**/\nbody {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n\n\n/**\n** index\n**/\n#J-block-test {\n\tbackground-color: yellow;\n\theight"
  },
  {
    "path": "dev.sh",
    "chars": 310,
    "preview": "#!/bin/sh \nosascript <<END \ntell application \"Terminal\"\n    do script \"cd \\\"`pwd`\\\";cd reactnative;react-native start;ex"
  },
  {
    "path": "install.sh",
    "chars": 203,
    "preview": "#!/bin/sh \nosascript <<END \ntell application \"Terminal\"\n    do script \"cd \\\"`pwd`\\\";cd reactnative;npm install;exit;\"\nen"
  },
  {
    "path": "native-css.js",
    "chars": 8903,
    "preview": "'use strict';\nvar src = {};\nvar fs = require('fs');\n\nsrc.readFile = function(path) {\nreturn fs.readFileSync(path, 'utf8'"
  },
  {
    "path": "package.json",
    "chars": 706,
    "preview": "{\n  \"devDependencies\": {\n    \"babel-core\": \"^6.3.26\",\n    \"babel-loader\": \"^6.2.1\",\n    \"babel-plugin-syntax-async-funct"
  },
  {
    "path": "react-native.js.split.build.js",
    "chars": 1018,
    "preview": "/**\n * 这个文件用来上线的时候实现reactnative的打包分拆,part1类似框架部分,part2是业务部分的代码\n */\n\nvar process = require('child_process');\nvar fs = req"
  },
  {
    "path": "react.css.build.js",
    "chars": 1247,
    "preview": "var fs = require('fs');\nvar nativeCSS = require('./native-css');\nvar mkdirp = require('mkdirp');\n\n\nvar fileList = [];\nfu"
  },
  {
    "path": "reactnative/2048/components/aboveGame.js",
    "chars": 617,
    "preview": "class AboveGame extends Element {\n    render(){\n        return (\n        \t\t<Div className=\"abovegame\">\n                 "
  },
  {
    "path": "reactnative/2048/components/container.js",
    "chars": 10556,
    "preview": "includeCSS(\"require('../../css/game/game2048')\")\n\n// Views\nvar Heading = require('./heading');\nvar AboveGame = require('"
  },
  {
    "path": "reactnative/2048/components/gameContainer.js",
    "chars": 835,
    "preview": "var GameMessage  =require('./gameMessage');\nvar GridContainer = require('./gridContainer');\nvar TileContainer = require("
  },
  {
    "path": "reactnative/2048/components/gameMessage.js",
    "chars": 2602,
    "preview": "class GameMessage extends Element{\n    genMessage(){\n        if(this.props.won){\n            return (<Div style={styles."
  },
  {
    "path": "reactnative/2048/components/gridCell.js",
    "chars": 359,
    "preview": "class GridRow extends Element{\n    render(){\n        return(<Div style={styles.container}></Div>)\n    }\n}\n        \nvar s"
  },
  {
    "path": "reactnative/2048/components/gridContainer.js",
    "chars": 622,
    "preview": "var GridRow = require('./gridRow');\n\nclass GridContainer extends Element{\n    render(){\n        return(<Div >\n          "
  },
  {
    "path": "reactnative/2048/components/gridRow.js",
    "chars": 492,
    "preview": "var GridCell = require('./gridCell');\n\nclass GridRow extends Element{\n    render(){\n        return(<Div style={styles.co"
  },
  {
    "path": "reactnative/2048/components/heading.js",
    "chars": 1027,
    "preview": "/*\n一、Flex Box\n1.flexDirection:[\"row\",\"column\"],\nrow:水平划分\ncolumn:垂直划分\n2.alignItems:['flex-start', 'flex-end', 'center', '"
  },
  {
    "path": "reactnative/2048/components/tile.js",
    "chars": 2652,
    "preview": "var MARGIN_WIDTH = 5;\nvar ITEM_WIDTH = (windowWidth- 40 - MARGIN_WIDTH * 10)/4;\n\nclass Tile extends Element {\n    render"
  },
  {
    "path": "reactnative/2048/components/tileContainer.js",
    "chars": 689,
    "preview": "var Tile = require('./tile');\n\nclass TileContainer extends Element {\n    render(){\n        var children = this.props.til"
  },
  {
    "path": "reactnative/2048/game.js",
    "chars": 158,
    "preview": "var Container = require('./components/container');\n\n(class Game extends App{\n\trender(){\n\t\treturn (\n\t\t\t\t<Container startT"
  },
  {
    "path": "reactnative/2048/utils/grid.js",
    "chars": 2774,
    "preview": "var Tile = require('./tile');\n\nvar Grid = function(size, previousState) {\n\tthis.size = size;\n\tthis.cells = previousState"
  },
  {
    "path": "reactnative/2048/utils/localStorageManager.js",
    "chars": 1587,
    "preview": "var LocalStorageManager = function() {\n    this.bestScoreKey = \"bestScore\";\n    this.gameStateKey = \"gameState\";\n    thi"
  },
  {
    "path": "reactnative/2048/utils/tile.js",
    "chars": 594,
    "preview": "var _prog = 0;\n\nfunction Tile(position, value) {\n\tthis.x = position.x;\n\tthis.y = position.y;\n\tthis.value = value || 2;\n\n"
  },
  {
    "path": "reactnative/README.md",
    "chars": 335,
    "preview": "## react-native目录主要文件介绍\n\n这里保持和官方的reactnative代码完全一致\n- css目录是存放通过根目录的react.css.build.js脚本同步编译过来的reactjs的css文件\n- 保留了官方原有的in"
  },
  {
    "path": "reactnative/android/app/app.iml",
    "chars": 9584,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\":app\" external.linked.project.path=\"$MODULE_D"
  },
  {
    "path": "reactnative/android/app/build.gradle",
    "chars": 4919,
    "preview": "apply plugin: \"com.android.application\"\n\nimport com.android.build.OutputFile\n\n/**\n * The react.gradle file registers a t"
  },
  {
    "path": "reactnative/android/app/proguard-rules.pro",
    "chars": 2383,
    "preview": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /u"
  },
  {
    "path": "reactnative/android/app/react.gradle",
    "chars": 4301,
    "preview": "import org.apache.tools.ant.taskdefs.condition.Os\n\ndef config = project.hasProperty(\"react\") ? project.react : [];\n\ndef "
  },
  {
    "path": "reactnative/android/app/src/main/AndroidManifest.xml",
    "chars": 919,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "reactnative/android/app/src/main/java/com/reactnative/MainActivity.java",
    "chars": 7693,
    "preview": "package com.reactnative;\n\nimport android.app.Activity;\nimport android.app.DownloadManager;\nimport android.content.Broadc"
  },
  {
    "path": "reactnative/android/app/src/main/res/menu/menu_main_activity2.xml",
    "chars": 389,
    "preview": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\""
  },
  {
    "path": "reactnative/android/app/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "reactnative/android/app/src/main/res/values/strings.xml",
    "chars": 261,
    "preview": "<resources>\n    <string name=\"app_name\">reactnative</string>\n    <string name=\"title_activity_main_activity2\">MainActivi"
  },
  {
    "path": "reactnative/android/app/src/main/res/values/styles.xml",
    "chars": 192,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">"
  },
  {
    "path": "reactnative/android/app/src/main/res/values-w820dp/dimens.xml",
    "chars": 358,
    "preview": "<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as s"
  },
  {
    "path": "reactnative/android/build.gradle",
    "chars": 648,
    "preview": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    r"
  },
  {
    "path": "reactnative/android/gradle/wrapper/gradle-wrapper.properties",
    "chars": 200,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dist"
  },
  {
    "path": "reactnative/android/gradle.properties",
    "chars": 887,
    "preview": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will o"
  },
  {
    "path": "reactnative/android/gradlew",
    "chars": 5080,
    "preview": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start "
  },
  {
    "path": "reactnative/android/gradlew.bat",
    "chars": 2404,
    "preview": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@r"
  },
  {
    "path": "reactnative/android/reactnative.iml",
    "chars": 942,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\"reactnative\" external.linked.project.path=\"$M"
  },
  {
    "path": "reactnative/android/settings.gradle",
    "chars": 44,
    "preview": "rootProject.name = 'native'\n\ninclude ':app'\n"
  },
  {
    "path": "reactnative/canvasgame/Canvas.js",
    "chars": 6055,
    "preview": "import React from 'react'\nimport ReactCanvas from 'react-canvas'\nimport ReactStateAnimation from 'react-state-animation'"
  },
  {
    "path": "reactnative/canvasgame/GallaxyOctopus.js",
    "chars": 442,
    "preview": "export default class GallaxyOctopus extends React.Component {\n    constructor(props) {\n        super(props)\n        this"
  },
  {
    "path": "reactnative/canvasgame/game.js",
    "chars": 7448,
    "preview": "(class Game extends App{\n\trender(){\n\t\tcomponentWillMount(){\n\t\t\tvar FB = {\n\t\t            // set up some inital values\n\t\t "
  },
  {
    "path": "reactnative/canvasgame/parts/Counter.js",
    "chars": 579,
    "preview": "var Text = React.Art.Text\n\nexport default class Counter extends React.Component {\n    constructor(props) {\n        super"
  },
  {
    "path": "reactnative/canvasgame/parts/Octopus.js",
    "chars": 3138,
    "preview": "import React from 'react'\nimport ReactCanvas from 'react-canvas'\nimport ImageCache from 'react-canvas/lib/ImageCache';\ni"
  },
  {
    "path": "reactnative/canvasgame/parts/Pipe.js",
    "chars": 2106,
    "preview": "import React from 'react'\nimport ReactCanvas from 'react-canvas'\nimport ReactStateAnimation from 'react-state-animation'"
  },
  {
    "path": "reactnative/common/Animation.js",
    "chars": 21412,
    "preview": "class Animation {\n\tconstructor(config){\n\t\tthis.motionFn = config && config.motionFn ? config.motionFn : function(){retur"
  },
  {
    "path": "reactnative/common/App.js",
    "chars": 280,
    "preview": "class App extends React.Component {\n\tstatic init(){\n\t\t/**\n\t\t * app 主入口\n\t\t */\n\t\tif(isNative) {\n\t\t\tReact.AppRegistry.regis"
  },
  {
    "path": "reactnative/common/Date.js",
    "chars": 5075,
    "preview": "// #region 工具函数\n\n// #region @Date#format\n\n/**\n * 将日期对象格式化为字符串。\n * @param {String} [format=\"yyyy/MM/dd HH:mm:ss\"] 格式字符串。具"
  },
  {
    "path": "reactnative/common/DomEvent.js",
    "chars": 569,
    "preview": "class DomEvent {\n\tconstructor(args){\n\t\tObject.assign(this, args);\n\t\tif(!args.nativeEvent && args.reactEvent.nativeEvent)"
  },
  {
    "path": "reactnative/common/LightningStorm.js",
    "chars": 2881,
    "preview": "/**\n * ReactMix Base Framework\n * @version alpha\n * @nickname lightningstorm project\n * @author xueduanyang1985@163.com\n"
  },
  {
    "path": "reactnative/common/LocalStorage.js",
    "chars": 364,
    "preview": "class LocalStorage{\n\tconstructor(){\n\t\tthis.store = require('AsyncStorage');\n\t\tfor(var method in this.store){\n\t\t\tthis[met"
  },
  {
    "path": "reactnative/common/StateStore.js",
    "chars": 2070,
    "preview": "class StateStore{\n\tconstructor(args){\n\t\tthis.key = args.key;\n\t\tthis.lifeTime = args.lifeTime || '1D';\n\n\n\t\t(async functio"
  },
  {
    "path": "reactnative/common/String.js",
    "chars": 197,
    "preview": "window.upperCaseFirstLetter = (str)=>{\n\treturn str.replace(/^\\w/, function(w){return w.toUpperCase()});\n}\nString.prototy"
  },
  {
    "path": "reactnative/common/StyleSheet.js",
    "chars": 2652,
    "preview": "class StyleSheet{\n\tconstructor(){\n\t\tthis.emUnit = '16';\n\t\tthis.sheets = [];\n\t\tthis.defineRemUnitAndMeasureViewport();\n\t}"
  },
  {
    "path": "reactnative/common/TimerMixin.js",
    "chars": 2628,
    "preview": "/*\n *  Copyright (c) 2015-present, Facebook, Inc.\n *  All rights reserved.\n *\n *  This source code is licensed under the"
  },
  {
    "path": "reactnative/common/console.js",
    "chars": 386,
    "preview": "/**\n * 对于console事件做兼容\n */\nif(!window.console){\n\twindow.console = {\n\t\t\tlog: function(){},\n\t\t\tdebug: function(){},\n\t\t\terro"
  },
  {
    "path": "reactnative/common/rn/A.js",
    "chars": 287,
    "preview": "class A extends Element {\n\trender() {\n\t\tthis.compatHTML.call(this);\n\n\t\treturn (\n\t\t\t\t<TouchableOpacity {...this.props} on"
  },
  {
    "path": "reactnative/common/rn/Body.js",
    "chars": 181,
    "preview": "class Body extends Div{\n\trender(){\n\t\treturn (\n\t\t\t<ScrollView style={{height:this.props.height||(Dimensions.height-20)}}>"
  },
  {
    "path": "reactnative/common/rn/Button.js",
    "chars": 1115,
    "preview": "class Button extends Element {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.defaultStyle = {\n\t\t\t\tdisplay: 'flex',\n\t\t\t\twidth: 100,\n"
  },
  {
    "path": "reactnative/common/rn/Carousel.js",
    "chars": 4541,
    "preview": "var PAGE_CHANGE_DELAY = 4000;\n\n/**\n * Animates pages in cycle (loop possible if children count > 1)\n */\nclass Carousel e"
  },
  {
    "path": "reactnative/common/rn/Div.js",
    "chars": 169,
    "preview": "class Div extends Element {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.defaultStyle = {\n\t\t\t\tcolor: 'black'\n\t\t}\n\t}\n\trender(){\n\t\tr"
  },
  {
    "path": "reactnative/common/rn/Element.js",
    "chars": 14763,
    "preview": "String.prototype.capitalizeFirstLetter = function() {\n    return this.charAt(0).toUpperCase() + this.slice(1);\n}\n\n\n//\ncl"
  },
  {
    "path": "reactnative/common/rn/Header.js",
    "chars": 2375,
    "preview": "class Header extends Element {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.state = {\n\t\t\t\ttitle: '',\n\t\t\t\tleftButton: {\n\t\t\t\t\ttitle:"
  },
  {
    "path": "reactnative/common/rn/HtmlCssParser.js",
    "chars": 1861,
    "preview": "class HtmlCssParser{\n\tconstructor(){\n\n\t}\n\tparse(cssObject, tagName){\n\t\tvar htmlCssObj = {};\n\t\tfor (var k in cssObject){\n"
  },
  {
    "path": "reactnative/common/rn/Img.js",
    "chars": 437,
    "preview": "class Img extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\tdelete this.htmlProps.style.fontSize;\n\t\treturn <Image sty"
  },
  {
    "path": "reactnative/common/rn/Input.js",
    "chars": 906,
    "preview": "class Input extends Element {\n\tconstructor(){\n\t\tsuper();\n\t\tthis.defaultStyle = {\n\t\t\t\twidth: 150,\n\t\t\t\theight: 30,\n\t\t\t\tbor"
  },
  {
    "path": "reactnative/common/rn/Nav.js",
    "chars": 149,
    "preview": "class Nav extends Element {\n\trender () {\n\t\tthis.compatHTML();\n\t\treturn <NavigatorIOS style={{flex: 1}} {...this.props} /"
  },
  {
    "path": "reactnative/common/rn/RightSliderMenu.js",
    "chars": 1756,
    "preview": "class RightSliderMenu extends Element{\n\tconstructor(){\n\t\tsuper();\n\t\tthis.state = {\n\t\t\t\tdelay: 30,\n\t\t\t\tmenuWidth: 50\n\t\t}\n"
  },
  {
    "path": "reactnative/common/rn/SimpleListView.js",
    "chars": 323,
    "preview": "class SimpleListView extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn <ListView {...this.props} />;\n\t}\n}\nSimp"
  },
  {
    "path": "reactnative/common/rn/Span.js",
    "chars": 217,
    "preview": "var DomEvent = require('../DomEvent');\nclass Span extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t<Text"
  },
  {
    "path": "reactnative/common/rn/Tab.js",
    "chars": 210,
    "preview": "class Tab extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t\t<TabBarIOS tintColor={this.props.tintColor} "
  },
  {
    "path": "reactnative/common/rn/TabItem.js",
    "chars": 346,
    "preview": "class TabItem extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t\t<TabBarIOS.Item style={{flex:1, height: "
  },
  {
    "path": "reactnative/common/rn/TabSlider.js",
    "chars": 981,
    "preview": "class SegmentControl extends Element {\n\t_onChange(event: Event) {\n\t\tthis.props.config.onChange && this.props.config.onCh"
  },
  {
    "path": "reactnative/css/cxylhl/index.js",
    "chars": 3040,
    "preview": "var styles = {\n  \"body *\": {\n    \"fontFamily\": \"\\\"Consolas\\\",\\\"Microsoft Yahei\\\", Arial, sans-serif\"\n  },\n  \"body\": {\n  "
  },
  {
    "path": "reactnative/css/game/game2048.js",
    "chars": 1645,
    "preview": "var styles = {\n  \".container\": {\n    \"paddingTop\": \"0\",\n    \"paddingBottom\": \"0\",\n    \"paddingRight\": \"20pt\",\n    \"paddi"
  },
  {
    "path": "reactnative/css/jqueryapi.js",
    "chars": 117,
    "preview": "var styles = {\n  \".cls1\": {\n    \"color\": \"red\"\n  },\n  \".cls2\": {\n    \"color\": \"yellow\"\n  }\n}\nmodule.exports = styles;"
  },
  {
    "path": "reactnative/css/lightningStorm.js",
    "chars": 745,
    "preview": "var styles = {\n  \".custom-native-header\": {\n    \"marginTop\": \"20pt\"\n  },\n  \".native-header\": {\n    \"flexDirection\": \"row"
  },
  {
    "path": "reactnative/css/vsImgList.js",
    "chars": 293,
    "preview": "var styles = {\n  \".imgList\": {\n    \"position\": \"relative\"\n  },\n  \".float-bg\": {\n    \"backgroundColor\": \"gray\",\n    \"colo"
  },
  {
    "path": "reactnative/css/vsIndex.js",
    "chars": 1457,
    "preview": "var styles = {\n  \"body\": {\n    \"margin\": \"0\",\n    \"padding\": \"0\"\n  },\n  \"#J-block-test\": {\n    \"backgroundColor\": \"yello"
  },
  {
    "path": "reactnative/cxylhl.js",
    "chars": 8115,
    "preview": "includeCSS(\"require('./css/cxylhl/index')\");\n\n/*\n * 注意:本程序中的“随机”都是伪随机概念,以当前的天为种子。\n */\nfunction random(dayseed, indexseed"
  },
  {
    "path": "reactnative/example_addEventListener.js",
    "chars": 333,
    "preview": "import './common/LightningStorm';\n\n(class TestPage extends App{\n\tcomponentDidMount(){\n\t\t$('#J2').addEventListener('click"
  },
  {
    "path": "reactnative/example_animation.js",
    "chars": 389,
    "preview": "import './common/LightningStorm';\n\nvar anim = require('./common/Animation');\n\n(class Text extends App{\n\tcomponentDidMoun"
  },
  {
    "path": "reactnative/example_formElement.js",
    "chars": 614,
    "preview": "import './common/LightningStorm';\n\n(class TestPage extends App{\n\tcomponentDidMount(){\n\t\tsetTimeout(async ()=>{\n\t\t\tvar a="
  },
  {
    "path": "reactnative/example_jqueryapi.js",
    "chars": 881,
    "preview": "import './common/LightningStorm';\nincludeCSS(\"require('./css/jqueryapi')\");\n\n(class TestPage extends App{\n\trender(){\n\t\tr"
  },
  {
    "path": "reactnative/example_listview.js",
    "chars": 2091,
    "preview": "includeCSS(\"require('./css/vsIndex')\");\n\nclass vsIndex extends Element {\n\tconstructor(){\n\t\tsuper();\n\t\tthis.state = {\n\t\t\t"
  },
  {
    "path": "reactnative/example_localStorage.js",
    "chars": 1094,
    "preview": "import './common/LightningStorm';\n\n(class TestPage extends App{\n\trender(){\n\t\treturn (\n\t\t\t<Div id=\"J1\">\n\t\t\t\t<Div id=\"J2\">"
  },
  {
    "path": "reactnative/example_onclick.js",
    "chars": 279,
    "preview": "import './common/LightningStorm';\n\n(class TestPage extends App{\n\trender(){\n\t\treturn (\n\t\t\t<Div id=\"J1\" onClick={()=>{aler"
  },
  {
    "path": "reactnative/example_ontouch.js",
    "chars": 301,
    "preview": "import './common/LightningStorm';\n\n(class TestPage extends App{\n\trender(){\n\t\treturn (\n\t\t\t<Div id=\"J1\" onTouchStart={(e)="
  },
  {
    "path": "reactnative/example_view.js",
    "chars": 327,
    "preview": "import './common/LightningStorm';\n\n\n(class Test extends App{\n\tconstructor(){\n\t\tsuper();\n\t}\n\trender(){\n\t\treturn (\n\t\t\t<Tou"
  },
  {
    "path": "reactnative/index.android.js",
    "chars": 120,
    "preview": "/**\n * index.android.js文件变成了区分ios平台还是安卓平台的工具,主入口改成了index.js\n */\nimport './common/LightningStorm';\n\n\nimport './index.js';"
  },
  {
    "path": "reactnative/index.ios.js",
    "chars": 163,
    "preview": "/**\n * index.ios.js文件变成了区分ios平台还是安卓平台的工具,主入口改成了index.js\n */\nimport './common/LightningStorm';\nincludeCSS(\"require('./css"
  },
  {
    "path": "reactnative/index.js",
    "chars": 546,
    "preview": "/**\n * 定义公共的全局变量,比如图片使用的cdn地址\n */\nwindow.IMG_CDN_PREFIX = 'http://cdn.taobao.com/';\n\n//导入UI的css\nincludeCSS(\"require('./c"
  },
  {
    "path": "reactnative/ios/native/AppDelegate.h",
    "chars": 451,
    "preview": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "reactnative/ios/native/AppDelegate.m",
    "chars": 1965,
    "preview": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "reactnative/ios/native/Base.lproj/LaunchScreen.xib",
    "chars": 3847,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
  },
  {
    "path": "reactnative/ios/native/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 622,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "reactnative/ios/native/Images.xcassets/Brand Assets.launchimage/Contents.json",
    "chars": 378,
    "preview": "{\n  \"images\" : [\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"minimum-system-version\" : \"7.0"
  },
  {
    "path": "reactnative/ios/native/Images.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "reactnative/ios/native/Images.xcassets/LaunchImage.launchimage/Contents.json",
    "chars": 1463,
    "preview": "{\n  \"images\" : [\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"extent\" : \"full-screen\",\n     "
  },
  {
    "path": "reactnative/ios/native/Images.xcassets/icon-1024.imageset/Contents.json",
    "chars": 309,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "reactnative/ios/native/Info.plist",
    "chars": 1578,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "reactnative/ios/native/main.m",
    "chars": 510,
    "preview": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "reactnative/ios/native.xcodeproj/project.pbxproj",
    "chars": 31653,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "reactnative/ios/native.xcodeproj/xcshareddata/xcschemes/native.xcscheme",
    "chars": 4206,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0620\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "reactnative/ios/nativeTests/Info.plist",
    "chars": 765,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "reactnative/ios/nativeTests/nativeTests.m",
    "chars": 2058,
    "preview": "/**\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "reactnative/package.json",
    "chars": 173,
    "preview": "{\n  \"name\": \"native\",\n  \"version\": \"0.0.1\",\n  \"private\": true,\n  \"scripts\": {\n    \"start\": \"react-native start\"\n  },\n  \""
  },
  {
    "path": "reactnative/testFlex.js",
    "chars": 1032,
    "preview": "\n(class Test extends App{\n\trender() {\n\t\t  return (\n\t\t\t\t  <View style={{display:'flex',flexDirection:'row'}}>\n\t\t\t\t  \t<Vie"
  },
  {
    "path": "reactnative/testLineHeight.js",
    "chars": 232,
    "preview": "\n(class Test extends App{\n\trender() {\n\t\t  return (\n\n<Text style={{backgroundColor: 'yellow',lineHeight: 60,flexDirection"
  },
  {
    "path": "reactnative/testScroll.js",
    "chars": 3229,
    "preview": "\n(class Test extends App{\n\trender() {\n\t\t  return (\n\t\t\t\t  <View>\n\t\t\t\t  <ScrollView>\n\t\t\t\t  <View><Text>kqwjelkqjwelkjqwlke"
  },
  {
    "path": "reactnative/vsImgList.js",
    "chars": 1561,
    "preview": "includeCSS(\"require('./css/vsImgList')\");\n\nclass vsImgList extends Element {\n\tconstructor(passedArgs){\n\t\tsuper();\n\t\tthis"
  },
  {
    "path": "reactnative/vsIndex.js",
    "chars": 2802,
    "preview": "includeCSS(\"require('./css/vsIndex')\");\n\nclass vsIndex extends Element {\n\tconstructor(){\n\t\tsuper();\n\t\tthis.state = {\n\t\t\t"
  },
  {
    "path": "reactnative/webpack.config.js",
    "chars": 596,
    "preview": "var webpack = require('webpack');\nmodule.exports = {\n\tentry : ['./index.ios2.js'],\n\toutput : {\n\t\tfilename : './z3.txt'\n\t"
  },
  {
    "path": "web/common/html/A.js",
    "chars": 93,
    "preview": "class A extends Element {\n\trender() {\n\t\treturn <a {...this.props}/>;\n\t}\n}\nmodule.exports = A;"
  },
  {
    "path": "web/common/html/Button.js",
    "chars": 108,
    "preview": "class Button extends Element {\n\trender() {\n\t\treturn <button {...this.props}/>;\n\t}\n}\nmodule.exports = Button;"
  },
  {
    "path": "web/common/html/Carousel.js",
    "chars": 227,
    "preview": "class Carousel extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t\t<div {...this.props}>\n\t\t\t\t{\n\t\t\t\t\t(()=>{"
  },
  {
    "path": "web/common/html/Div.js",
    "chars": 241,
    "preview": "class Div extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t\t<div {...this.props}>\n\t\t\t\t{\n\t\t\t\t\t(()=>{\n\t\t\t\t"
  },
  {
    "path": "web/common/html/Element.js",
    "chars": 3615,
    "preview": "class Element extends React.Component {\n\tconstructor(){\n\t\tsuper();\n\t\tthis.state = this.state || {};\n\t\tthis.setTimeout = "
  },
  {
    "path": "web/common/html/Header.js",
    "chars": 1791,
    "preview": "class Header extends Element {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.state = {\n\t\t\t\ttitle: '携程机票'\n\t\t}\n\t}\n\tsetTitle(title){\n\t"
  },
  {
    "path": "web/common/html/Img.js",
    "chars": 269,
    "preview": "class Img extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn <img {...this.props} src={ (this.props.src.indexOf"
  },
  {
    "path": "web/common/html/Input.js",
    "chars": 182,
    "preview": "var Element = require('./Element');\nclass Input extends React.Component {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn <inp"
  },
  {
    "path": "web/common/html/ListView/ListView.js",
    "chars": 16400,
    "preview": "import ListViewDataSource from './ListViewDataSource';\nimport ScrollView from '../ScrollView/ScrollView';\nimport ScrollR"
  },
  {
    "path": "web/common/html/ListView/ListViewDataSource.js",
    "chars": 12450,
    "preview": "import invariant from 'fbjs/lib/invariant';\nimport isEmpty from 'fbjs/lib/isEmpty';\nimport warning from 'fbjs/lib/warnin"
  },
  {
    "path": "web/common/html/ListView/ScrollResponder.js",
    "chars": 19836,
    "preview": "import warning from 'fbjs/lib/warning';\n\n/**\n * Mixin that can be integrated in order to handle scrolling that plays wel"
  },
  {
    "path": "web/common/html/ListView/StaticRenderer.js",
    "chars": 394,
    "preview": "var StaticRenderer = React.createClass({\n  propTypes: {\n    shouldUpdate: React.PropTypes.bool.isRequired,\n    render: R"
  },
  {
    "path": "web/common/html/ListView.js",
    "chars": 48,
    "preview": "module.exports = require('./ListView/ListView');"
  },
  {
    "path": "web/common/html/NavBar.js",
    "chars": 613,
    "preview": "var Element = require('./Element');\nclass NavBar extends Element {\n\tconstructor() {\n\t\tsuper();\n\t}\n\trender() {\n\t\tthis.com"
  },
  {
    "path": "web/common/html/Navigator.js",
    "chars": 1421,
    "preview": "var Element = require('./Element');\nclass Navigator extends Element {\n\tconstructor() {\n\t\tsuper();\n\t\twindow.pageRoute = w"
  },
  {
    "path": "web/common/html/RightSliderMenu.js",
    "chars": 168,
    "preview": "class RightSliderMenu extends Element{\n\trender(){\n\t\tthis.compatHTML();\n\t\treturn <div {...this.props}>{this.props.childre"
  },
  {
    "path": "web/common/html/ScrollView/ScrollView.js",
    "chars": 14888,
    "preview": "import ScrollResponder from '../ListView/ScrollResponder';\nimport View from '../View/View';\nimport throttle from 'domkit"
  },
  {
    "path": "web/common/html/ScrollView.js",
    "chars": 158,
    "preview": "class ScrollView extends Element{\n\trender(){\n\t\tthis.compatHTML();\n\t\treturn <div {...this.props}>{this.props.children}</d"
  },
  {
    "path": "web/common/html/SimpleListView.js",
    "chars": 323,
    "preview": "class SimpleListView extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn <ListView {...this.props} />;\n\t}\n}\nSimp"
  },
  {
    "path": "web/common/html/Span.js",
    "chars": 159,
    "preview": "var Element = require('./Element');\nclass Span extends Element {\n\trender() {\n\t\tthis.compatHTML();\n\t\treturn <span {...thi"
  },
  {
    "path": "web/common/html/TabSlider.js",
    "chars": 503,
    "preview": "class TabSlider extends Element{\n\trender(){\n\t\tthis.compatHTML();\n\t\treturn (\n\t\t\t\t<div className=\"ui-tab\">\n\t\t\t\t\t<div class"
  },
  {
    "path": "web/common/html/Utilties/ErrorUitls.js",
    "chars": 1972,
    "preview": "/* eslint global-strict:0 */\n(function(global) {\n  var ErrorUtils = {\n    _inGuard: 0,\n    _globalHandler: null,\n    set"
  },
  {
    "path": "web/common/html/Utilties/LayoutMixin.js",
    "chars": 711,
    "preview": "import getLayout from './getLayout';\n\nvar LayoutMixin = {\n  getInitialState: function() {\n    return {layout: {}};\n  },\n"
  },
  {
    "path": "web/common/html/Utilties/dismissKeyboard.js",
    "chars": 99,
    "preview": "function dismissKeyboard() {\n  document.activeElement.blur();\n}\n\nmodule.exports = dismissKeyboard;\n"
  },
  {
    "path": "web/common/html/Utilties/getLayout.js",
    "chars": 559,
    "preview": "// get element x, y\nfunction getCumulativeOffset(obj) {\n  var left, top;\n  left = top = 0;\n  if (obj.offsetParent) {\n   "
  },
  {
    "path": "web/common/html/Utilties/setNativeProps.js",
    "chars": 990,
    "preview": "function convertTransform(style) {\n  var result = {};\n  var transform = '';\n\n  for (var k in style) {\n    if (k === 'tra"
  },
  {
    "path": "web/common/html/View/View.js",
    "chars": 2669,
    "preview": "import { Mixin as LayoutMixin } from '../Utilties/LayoutMixin';\n\nvar View = React.createClass({\n  mixins: [LayoutMixin],"
  },
  {
    "path": "web/common/react.js",
    "chars": 641366,
    "preview": " /**\n  * React v0.14.3\n  */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}e"
  },
  {
    "path": "web/common/ui.js",
    "chars": 740,
    "preview": "window.Element = require('./html/Element');\nwindow.Div = require('./html/Div');\nwindow.Span = require('./html/Span');\nwi"
  },
  {
    "path": "web/index.html",
    "chars": 256,
    "preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\"/>\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
  },
  {
    "path": "webpack.config.js",
    "chars": 569,
    "preview": "var webpack = require('webpack');\n\nmodule.exports = {\n\tentry : [ 'babel-polyfill', './reactnative/common/LightningStorm."
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the xueduany/react-mix GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (1.9 MB), approximately 497.6k tokens, and a symbol index with 1353 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!